Warum ich Java nicht von Anfang an empfehle hat einen rein pädagogischen Grund: In Java gibt's (praktisch) keine Variablen oder Strukturen. Alles ist von vorn herein ein Objekt.
Zum Entwickeln ist das nur gut und konsequent, zum Lernen eher nicht. Ich finde es logischer, mit Einfachem zu beginnen. Wenn ich mal mit den Möglichkeiten von Variablen anstehe, schau ich mir die Strukuren an. Wenn die nicht mehr reichen, kommen die Objekte. Umgekehrt ist das nicht so einfach.
Die Performance von Java ist fast ident mit der von C/C++. Signifikanten Unterschiede gibt's nur, wenn man
- man Pointerstrukturen programmiert (verkettete Listen, Hashtables usw.). Die lassen sich in C/C++ optimieren bis zum Abwinken, was schon ein Segen ist - und auch ein Fluch!
- aufgrund der unterschiedlichen Möglichkeiten von C/C++ und Java unterschiedlichen Code schreiben kann (was irgendwie den oberen Punkt inkludiert...). Bei einer 1:1 Übersetzung wird man keinen Unterschied erkennen könne.
Für C/C++ verwende ich DevCPP, bzw. XEmacs und Linux. Borland/MS/oder sonstige Dialekte verwende ich wegen der Abweichungen zu ANSI-C/C++ nicht.
Zu C# kann ich leider nichts sagen.
Greets,
Günther
