Sollte ich C# oder Java lernen?

5 Antworten

Die Sprachen sind einander extrem ähnlich.

Beides sind objektorientierte Sprachen mit C-ähnlicher ("curly-brace") Syntax, werden zunächst aus dem Quellcode in einen Befehlssatz für eine virtuelle Maschine (bei Java heißt der "Bytecode", bei C-Sharp "Common Intermediate Language") übersetzt und anschließend zur Laufzeit von der virtuellen Maschine (die bei Java "Java Virtual Machine" oder kurz "JVM" heißt, bei C-Sharp "Common Language Infrastructure" oder kurz "CLI") in nativen Maschinencode übersetzt ("just-in-time compiliert") und dann ausgeführt.

Ich würde eher mit Java anfangen, weil die Sprache etwas weniger Möglichkeiten bietet. Allerdings sind beides äußerst "umfangreiche" Sprachen. Bzw. genauer gesagt sind die dazugehörigen Klassenbibliotheken sehr umfangreich.

Java ist eben das "Urgestein" und C-Sharp ist die "Kopie". Microsoft hat bei der Entwicklung von C-Sharp aber zugegebenermaßen auch vieles richtig gemacht. Einige Entwickler sagen daher, C-Sharp sei "Java done right". Der Vorteil von Java ist, dass es sehr viel "offener" ist, insbesondere hinsichtlich des Lizenzmodells. C-Sharp ist teilweise recht eng an Technologien von Microsoft, Intel und anderen großen Konzernen gebunden, die an der Entwicklung beteiligt waren. Es gibt eine offene Implementierung namens "Mono", an deren Entwicklung hauptsächlich Novell beteiligt ist. Diese ist allerdings ziemlich unvollständig.


VBHHerzog  06.05.2016, 09:16

und wieder kann ich dem nur zustimmen.

ich würde dir, sofern du nicht auf die plattformunabhängigkeit(eigentlich ja eine pseudo plattformunabhängigkeit, da java ja die runtime braucht^^) von java angewiesen bist, oder apps entwickeln möchtest zu C# raten.

damals in der schule haben wir auch in C# programmiert, und selbst die leute ohne programmiererfahrungen hatten keine großartigen schwierigkeiten.

Allerdings haben beide sprachen ihre vorteile, wovon hier ja bereits ein paar genannt wurden.

zu Mono:

ich habe damals mal versucht mit Xamarin eine Android app zu schreiben, was ich aber schnell aufgegeben habe wegen mangelnder zeit, da Xamarin schon eine gewisse eingewöhnungszeit braucht...

lg

1
NoHumanBeing  06.05.2016, 09:22
@VBHHerzog

Achja, eine weitere wichtige Gemeinsamkeit: Beide Sprachen arbeiten mit automatischer Speicherbereinigung ("garbage collection").

0

Java ist eindeutig wichtiger als C# und hat deutlich mehr Anwendungszwecke, deswegen sehe ich keinen Grund C# als Hauptsprache vorzuziehen, wobei die Sprache in den meisten Fällen nur für Windows Desktop Anwendungen gebraucht wird und Java eigentlich für alles.


SoMine 
Beitragsersteller
 05.05.2016, 23:27

Vielen Dank für die Antwort. Und es kann auch sicherlich nicht schlecht sein wenn mein Freund C# und ich Java kann.

1

Sind beide doch eh sehr ähnlich. Kannst du die eine, ist der Weg zur anderen nicht weit. Wenn dich aber Android interessiert, nimm Java. Machen kann man mit beiden in etwa gleich viel. Sind beides managed Sprachen.

Man kann direkt beides lernen..die Unterschiede sind kaum vorhanden.