Zitat von
Elvis:
C# ist so unglaublich ähnlich zu Java, dass diese krasse Abscheu gegenüber Java und gleichzeitig Vorliebe für C# einfach witzig ist. Wenn er C# als Alternative zu Delphi sieht sollte er ufpassen, dass ihm Java beim zweiten Blick nicht auch besser gefällt.
Ich glaube da muss ich mir keine Sorgen machen. Ein Programmierer der den Umfang von Delphi eh nicht ganz oder teilweise ausreizt, sieht auch keinen Unterschied zwischen Java und C#...
Ich nenne mal meine wichtigsten Gründe gegen Java:
* Java hat keine Strukturen (Records), C# hat sie jedoch. Ich finde es fast "pervers" für jeden sche*ß Objekte erstellen zu müssen... Kein Wunder das dann ein Java "Programm" je nach Komplexität schon an die Grenzen eines jeden normalen Rechners kommt.
* Strings sind Objekte... LOL, schade das die Char's primitiv sind
* Bei Methoden kann man in Java nicht bestimmen ob primitive Typen per Reference oder ByValue übergeben werden sollen, C# hat das, ja sogar "out".
* Wie will man bei Java mehr als nur ein Resultat von einer Methode zurückgeben? Geht nicht, außer man erstellt wieder mal ein Objekt.
* Um Callback-Methoden übergeben zu können, muss erst ein Objekt erstellt und die Methode überschrieben werden. C# kann man auch Methoden per Parameter übergeben.
* Das schreiben der Getter und Setter ist vollkommen überflüssig. Hätten die Sun Männchen sich mal an Delphi orientiert. Gar C# hat die Codewörter "get" und "set", also bitte hier nix von ähnlichkeit zu Java erzählen
.
* Java "Programme" benötigen ja schon fast Großrechner, um mehr oder weniger anständig laufen zu können
. Da könnte man sagen: "Wenn man effizient programmiert, ist auch Java schnell"... Naja, spätestens bei einem größeren Projekt merkt man, das man auch da an Grenzen kommt. Ich weiss das aus Erfahrung, ich durfte für meinen Arbeitgeber über ein Jahr lang mit Java programmieren...
*
GUI Entwicklung mit Java ist ein Albtraum. Wer mit Swing anfängt zu arbeiten, wird sich bald wünschen doch lieber zu C# zu wächseln oder zu Delphi
. Übrigens, zu Swing könnte man noch Bände schreiben, wie schlecht das ist. Wer sich schon mal die Swing Klassen angeguckt hat, wird schnell merken warum das so langsam ist. Einfach nur grottig programmiert!
* Keine Pointer! Pointer sind sehr schöne Dinge, die jeder versierte Programmierer sicherlich nutzt. C# hat Pointer, ist zwar "unsafe", aber geht
.
* All die Vorteile von Java (Plattformunabhängigkeit, mehr kenn ich nicht
) werden eh schon durch die Geschwindigkeit und den Speicherverbrauch fast zu nichte gemacht. Will man schnellere Applikationen (siehe Eclipse) kommt man um die Verwendung von effizienten, nativen, Bibliotheken nicht drum herum. Um nur eine zu nennen: SWT.
* .net ist vom Konzept her einfach besser... Nur schade das es von MS ist, und offiziel wohl immer nur Windows unterstüzt wird
Programmierer die in Delphi bisher eh nur Fenster zusammengeklickt haben und kaum in die Tiefen eingestiegen sind
werden eh all diese Macken von Java nicht erkennen.
Ich bin mir sicher, das man die Liste noch länger machen kann...