Bernhard: Warum Java programmieren? Waurm meistgenutze Sprache?

Beitrag lesen

Hi!

Nö, ich hab nur solchen Code gesehen und dankend abgelehnt.

Ok, hast du denn selber überhaupt schon mal was mit Java gemacht?

Was bedeutet "Ko^H^HCode"?

^H = Backspace

Den Rest darfst Du dir selbst ausmalen.

Ich kapier leider trotzdem nicht, was du damit sagen willst... Wolltest du da eigentlich ein "Kotze", "Kot" o.ä. schreiben??

Nö, das ist die nachgebastelte Legende. Ursprünglich gab es durchaus einen Plan für eine Hardware-Maschine (Star 7), die compilierten Java-Code in Hardware ausführen sollte: http://en.wikipedia.org/wiki/Java_(software_platform)#History

Um bei Wikipedia zu bleiben: "C is an imperative (procedural) systems implementation language. It was designed to be compiled using a relatively straightforward compiler, to provide low-level access to memory, to provide language constructs that map efficiently to machine instructions, and to require minimal run-time support. C was therefore useful for many applications that had formerly been coded in assembly language."

D.h., C wurde einfach nahe an die Hardware gebaut.

Wenn man nun in grauer Vorzeit mal bei Sun versucht hat, eine Hardware-Maschine _an die Plattform_ hinanzubauen, dann sagt das was konkret über das Design der Plattform aus?

Du kannst es drehen und wenden, wie du willst: Java ist nie und war nie für Systemprogrammierung wie C gedacht.

Ernsthaft: Hast du in diesen Fällen vielleicht versucht, Java für etwas zu verwenden, für das es nicht gedacht ist?

Ich nicht, ich schreibe ohne große Not keinen Java-Code.

S.o.: Was hast du denn schon mit Java gemacht?

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?

Nicht alle, und nicht nur einem Trend.

Gut, wem oder was rennt die Masse dann nach? Und was macht der Rest, der nicht nachrennt?

Dann weiß man, dass beispielsweise ein Vergleich von Java mit C sinnlos ist.

Klar, denn C gewinnt. *SCNR*

Nur damit das mal klar ist: C, Pascal, Java und Konsorten sind allesamt überflüssiges neumodisches Zeug. Das braucht kein Mensch. Für echte Männer gibts nur Fortran (PDF-Link) und programmiert wird mit Teco. 'nough said!

Im Ernst: Auch der Vergleich muß erlaubt sein. Angefangen damit, dass man sich in C viel schneller und viel uneleganter in die Füße schießen kann als in Java. C kennt keine Strings und keine Arrays, beides ist nur eine dünne Schicht Syntactic Sugar über der Pointer-Arithmetik. Man muß sich in C komplett von Hand um die Speicherverwaltung kümmern. Das hat allerdings auch den Vorteil, dass einem nicht irgendwann völlig überraschend die Garbage Collection in die Parade fährt und die CPU blockiert.

Jo, man sieht diese Unterschiede und am Ende steht man mit der Erkenntnis da, dass es Bereiche gibt, in denen man C weiter kommt als mit Java und umgekehrt. Es steht dir natürlich weiterhin frei, mit C Webanwendungen (oder mit Java Betriebssysteme) zu schreiben. _Gehen_ tut das ja beides; ich machs aber trotzdem nicht. :-)

"Geringfügig" im Sinne von "großenteils", ja.

Dann eben von mir aus größtenteils.

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.
Außer dass er viele Konstrukte aus C bereits Zeichen für Zeichen kennt.

Er kennt die Schlüsselwörter, großartig. Der Pascal-Programmierer muss natürlich erst langwierig lernen, dass er statt

While i < 10 do  
Begin  
  i := i + 1;  
End;
while (i < 10) {  
  i = i + 1;  
}

schreiben muss. Derartige Syntaxunterschiede dürfen für jemanden, der mit Programmieren sein Geld verdient, kein Hindernis darstellen.

Grüße
Bernhard