Volledige versie bekijken : Java of C#?



butskristof
18 June 2011, 16:53
Beste,

ik ben sinds enkele maanden beginnend met programmeren en ben aan het uitzoeken welke taal ik nu verkies. Ik heb al enkele dingen gedaan als VB.NET, Java, Perl, Delphi en dergelijke en tot nu toe spreekt Java mij het meeste aan.
Recent ben ik ook gaan kijken naar C Sharp, welke hard op Java gelijkt.

Nu is mijn vraag: welke ervaringen hebben jullie met beide talen, en welke raden jullie aan om mee verder te gaan? Welke voordelen/nadelen zien jullie in de talen?

Ook heb ik nog enkele specifieke vragen over beide talen
Klopt het dat als ik in Java iets schrijf, en ik wil dat bijvoorbeeld op een andere computer uitvoeren (die een JRE heeft, geen JDK). Dat ik het dan moet compilen als een .jar bestand oid? Werkt dit .jar-bestand dan op elke pc met eender welke JRE? Of kan men dit ook uitvoeren als een .exe? En als ik dat bestand dan wil openen, kan ik er dan gewoon op dubbelklikken zodat mijn console of venster opent of moet ik het bestand dan benaderen via de commandprompt? Ik heb op school bv. geen toegang tot de commandprompt.

Als ik een soortgelijk ding met C# schrijf, kan ik dat dan compilen als een .exe die op élke Windows-computer werkt door erop te dubbelklikken? En wat is de compatibiliteit met Linux? Is C# makkelijk te porten? Ik weet dat je Mono kan gebruiken, maar hoe werkt dit precies? Als ik bijvoorbeeld iets schrijf in C# en wil dat op een andere (Linux)-computer openen, heeft die laatste dan Mono nodig?

Heel hartelijk dank bij voorbaat,
Kristof Buts.

Fck_
19 June 2011, 14:59
Beste,

De meeste scholen beginnen met het geven van Java. Dit omdat dit 'makkelijker' te leren is dan C#. Echter, als je Java kent,
dan is het totaal niet meer moeilijk om een andere taal zoals C te leren. De principes bij OOP zijn hetzelfde, het gaan gewoon
om de syntax. Van Java overschakelen naar bijvoorbeeld C#, C++, is dus gewoon even wennen aan een nieuwe Syntax (Simpel gezegd natuurlijk, er zijn altijd wel wat meer verschillen).

Als je iets schrijft in Java kan je dit inderdaad exporteren naar een executable .jar (indien je programma een main methode
heeft). Deze .jar is te runnen op elke computer die Java heeft, want tegenwoordig dus elke computer heeft (normaal gezien).
Er zal ook wel een manier zijn om deze .jar naar een .exe over te zetten, maar hier ben ik niet echt bekend mee..

Van C# kan ik je niet zoveel vertellen, maar aangezien het van Windows is lijkt het me logisch dat je deze naar een .exe kan exporteren.

butskristof
19 June 2011, 15:09
Dankjewel voor de informatie Fck_.

Ik heb al met kleine proefprojectjes beziggeweest in C# nu, en weet dat je een gecompilede .exe kan terugvinden onder de \bin-map. Mijn vraag is nu: kan ik die .exe op elke Windows computer uitvoeren, zonder dat deze eerst iets anders moet installeren? Dat zou namelijk veel handiger zijn om programma's te kunnen doorgeven aan anderen die geen programmeerkennis hebben en geen SDK oid geïnstalleerd hebben.

Nogmaals dank bij voorbaat,
Kristof.

Fck_
19 June 2011, 15:12
Een .exe kan je op elke Windows computer uitvoeren. .exe is gewoon de standaard executable file van Windows. Dat moet dus
perfect lukken!

ultddave
19 June 2011, 16:33
In de veronderstelling dat je geen 64bit programma's aan het schrijven bent, zal dat zonder problemen gaan. Het voordeel van jar files tov .exe files is dat jar files ook op linux en MAC OS X werken. Exe files daarentegen zijn windows only.

Er zijn echter IDE zoals Qt (voor c++) die je op Windows, Linux en MAC OS X kan installeren. Als je dan een project maakt met en die build op windows, krijg je een .exe file. Als je dan je project map importeert in Qt dat op Linux geinstalleerd staat, en je build die code, dan genereert hij een linux executable. Idem voor mac. Dus op die manier kan je 1 project op 3 besturingssystemen uitgeven. (Uiteraard moet je IDE dat ondersteunen)

Ik denk dat netbeans dat oa ook kan want die kan je ook op Windows, MAC, Linux installeren en je projecten importeren ongeacht het besturingssysteem waar ze op gemaakt zijn. ;)

C# heb'k nooit echt gebruikt gehad, dus ik weet niet hoe het daar mee zit.

Mvg,
Dave

Martijnc
19 June 2011, 23:54
C# is een onderdeel van het .NET Framework. Applicaties die gemaakt worden in C# werken dus alleen op computers waarop het .NET Framework is geïnstalleerd. Wanneer er geen .NET Framework geïnstalleerd is zal de applicatie dat vragen wanneer de executable geopend wordt.

Het .NET Framework is alleen beschikbaar op Windows. Ja, er is Mono maar daar zou ik heel hard van weglopen.

butskristof
20 June 2011, 11:25
Dankjewel voor de verhelderende uitleg ultddave en martijnc.

Ik denk dat ik toch bij Java ga blijven, ik ben namelijk zelf niet zo echt Windows-gericht en gebruik liever Linux. C# zag er mij echter een mooie taal uit met goede ondersteuning en documentatie.

NetBeans heb ik ook al geprobeerd, in Windows en Linux en het beviel me eigenlijk vrij goed.

Nogmaals bedankt voor de uitleg iedereen, hier mag een slotje op ;).

Fck_
20 June 2011, 12:02
(Je kan misschien Eclipse eens bekijken, vind ik zelf een HEEL GOEDE editor)