Bernhard: Warum Java programmieren? Waurm meistgenutze Sprache?

Beitrag lesen

Hi!

Am Ende ist man nur noch dabei, Daten wie blöd auf irgendetwas zu casten, damit nicht alles auseinander fällt und man die Typprüfungen letztlich aushebelt.

Ich hab einiges in Java gesehen und gemacht, aber das ist mir noch nie untergekommen. Hast du vielleicht versucht, Java nicht wie Java sondern wie eine andere Programmiersprache zu verwenden? Oder für etwas, für das es nicht gemacht wurde?

Außerdem ist bei Java (im Gegensatz z.B. zu Smalltalk) längst nicht alles ein Objekt oder eine Klasse, was weitere Probleme nach sich zieht.

Stimmt. Wie schwerwiegend diese Problem sind, dazu hat wohl jeder seine eigene Meinung. Das mit Java 5 eingeführte Autoboxing behebt jedenfalls sehr viele davon.

Man tippt sich in Java entweder die Finger wund, oder man läßt Ko^H^HCode generieren. Beides ist nicht sonderlich schön.

Was bedeutet "Ko^H^HCode"?

Java hat ein Not-Invented-Here-Problem, muß alles immer wieder neu erfinden. Angefangen mit Makefiles.

Das liegt u.a. daran, dass es Leute gibt, die (um bei deinem Beispiel zu bleiben) make nicht für das Nonplusultra zum Bauen halten. Das heißt nicht, dass make "schlecht" ist, das heißt, dass es Probleme hat, die man halt zu beheben versuchte. Abgesehen davon fällt mir nichts ein, was dich daran hindert, Java-Projekte mit make zu bauen, wenn du Probleme mit ANT, Maven und Konsorten hast.

Aber versuch mal eine Java-Anwendung zu schreiben, die über Plattformgrenzen hinweg ein Gerät an einer RS232-Schnittstelle oder gar an einem USB-Port steuern soll. Das endet oft damit, dass man eine betriebssystem- und architekturspezifische "Native Code"-Schnittstelle bastelt, darüber ein paar Lagen Wrapper wie Klopapier stapelt, und hofft, dass der üble Geruch durch die Wrapper ausreichend verdeckt wird.

Java wurde ja auch mit dem Ziel entworfen, möglichst nah an der Hardware und am Betriebssystem zu sein. Deswegen die VM... Ernsthaft: Hast du in diesen Fällen vielleicht versucht, Java für etwas zu verwenden, für das es nicht gedacht ist?

Zu den Vorteilen von Java können die "Millionen Fliegen" sicher mehr schreiben als ich, mir steht Java einfach nur im Weg.

Der Fliegensager hinterlässt doch einen etwas unguten Nachgeschmack. Glaubst du wirklich, alle Java-Entwickler rennen nur einem Trend hinterher?

mir steht Java einfach nur im Weg.

Ok, kein Problem. Verwende die Sprache(n) und Plattform(en), die du für richtig hältst.

Vor allem solltest Du die Stärken und Schwächen kennen.

Zuallererst sollte man wissen, welche Sprache/Plattform wofür gedacht ist. Dann weiß man, dass beispielsweise ein Vergleich von Java mit C sinnlos ist. Und dann ist man vielleicht auch so weit, Java beispielsweise auf seine Vor- und Nachteile gegenüber .NET zu untersuchen...

C und Pascal sind essenziell wichtig, weil sehr viele andere Sprachen mehr oder weniger direkt von C ([...] C#, [...] Javascript, Java [...]) [...] abgeleitet sind.

Sorry, das ist völliger Unfug: C#, Javascript und Java haben vielleicht geringfügige Syntaxanleihen bei C genommen, sind aber ansonsten C so ähnlich wie Äpfel Telefonen. Ein C-Programmierer, der C# (oder Java oder Javascript) lernt hat keinen nennenswerten Vorteil gegenüber einem Pascal-Programmierer, der C# (oder Java oder Javascript) lernt.

Fazit: Java ist eine Programmiersprache (und Plattform) wie jede andere auch:
* Sie ist für gewisse Einsatzgebiete gedacht und für andere nicht.
* Sie hat gewisse Eigenheiten, die per se weder gut noch schlecht sind.
* Sie hat Vor- und Nachteile nicht nur gegenüber Sprachen wie C(++) o.ä., die für andere Einsatzzwecke gemacht sind, sondern auch gegenüber richtigen Konkurrenten wie C# (bzw. der .NET-Plattform).

Ich erlaube mir die Spekulation: Der ziemlich negative Grundtenor deines Postings, der irgendwie so mittransportiert, dass Java für gar nix gut ist, liegt daran, dass du dich nicht damit auseinandergesetzt hast, a)für welche Einsatzzwecke man Java entworfen hat und b)wie man Java verwenden soll. Wer versucht, C mit Java zu emulieren, wird scheitern. Das dürfte aber eigentlich keine Überraschung sein...

Nix für ungut.

Grüße
Bernhard