Frage von SoMine, 65

Sollte ich C# oder Java lernen?

Moin, ich will programmieren lernen und kann mich zwischen den beiden Sprachen nicht entscheiden. Mein Freund meinte C# weil man damit viel mehr machen kann.

Ich will von der Sprache mehr gebrauch machen, unteranderem App development. Kann man das mit C# auch alles machen? Da Java ja die "Hauptsprache" für Android ist, bin ich mir nicht sicher ob Java besser wäre. Wobei man ja auch mit C# apps schreiben kann, das aber so wie ich das siehe viel viel seltener gemacht wird?

Antwort
von NoHumanBeing, 27

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.

Kommentar von VBHHerzog ,

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

Kommentar von NoHumanBeing ,

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

Antwort
von androhecker, 52

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.

Kommentar von SoMine ,

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

Antwort
von Marbuel, 14

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.

Antwort
von nmmkl, 34

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

Antwort
von DerChiller4321, 25

Ich lerne Java und bin damit sehr zufrieden, habe auch schon zwei Apps, die in Java geschrieben sind, veröffentlicht:

A Bit For Fit:
https://play.google.com/store/apps/details?id=com.harjesApp.abff

Wing Ball:
https://play.google.com/store/apps/details?id=com.tjarkharjes.jumpingball

Keine passende Antwort gefunden?

Fragen Sie die Community