dani93 hat geschrieben:Xin hat geschrieben:Definiere 'leicht'...
So "leicht", dass, wenn man gut Java kann innerhalb weniger Wochen auch was brauchbares in C++ hinbekommt. Ich weiß nicht warum, aber mir wäre C++ lieber gewesen...
Das Konzept der Mehrfachvererbung ist nicht ganz so einfach, dafür alleine vergehen schon Wochen. Hier kommen Designfragen auf, die bei anderen beliebten Sprachen keine Rolle spielen, weil die Sprachen das Konzept nicht unterstützen. Das auszuprobieren und da ausreichend auf die Schnauze zu fallen, das kann schon einige Wochen/Monate dauern.
Fakt ist, dass Du in Java ausschließlich mit Pointern (und es ist vollkommen egal, wie oft Dein Lehrer Referenz sagt, es ist und bleibt ein Pointer) arbeitest, Du kannst Strukturen nicht in Strukturen einbetten, es gibt den Punkt-Operator in Java nicht. (Der .-Operator in Java entspricht dem -> in C/C++).
Du lernst nicht mit Referenzen oder Const-Correctness zu arbeiten, was in Sachen Codequalität eine massive Verschlechterung ist.
Sowas muss ins Blut übergehen, daher ist es schade, dass ihr Java nehmt.
Das grundsätzliche Programmieren ist ähnlich dem von C++. Hier unterscheiden sich Java und C++ in Detailfragen, zum Beispiel der Verwendung von OOP.
dani93 hat geschrieben:Von C auf C++ ist es ja nicht wirklich eine Umstellung, sondern man hat einfach mehr Möglichkeiten.
Man wird in C++ besser geführt. Möglichkeiten erhält man kaum zusätzlich. Viele alte C++ Compiler übersetzen zuerst nach C.
Allerdings hat man bereits in C mehr Möglichkeiten als in Java.
dani93 hat geschrieben:Nun würde ich noch gerne wissen, "was" man mit Java progammieren kann. Gibt es irgendwelche bekannten Spiele, Anwendungen, ... die ihr mir nennen könnt?
OpenOffice ist in Java geschrieben, wenn man überlegt wo's herkommt, verwundert das nicht. Java eignet sich für zeitkritische Anwendungen - wozu Spiele häufig auch gehören - nicht. Niemand würde einen Ego-Shooter in Java schreiben. Java ist beliebt bei Anwendungsprogrammieren und dafür ist die Sprache auch gemacht. Ich muss aber ehrlich sagen, dass ich nur wenige Java-Anwendungen kenne.
dani93 hat geschrieben:Was "kann" (ist natürlich relativ) man nach 3 Jahren Java programmieren? Ich meine, irgendwann stößt man an die Grenze einer Sprache, wo es nix neues mehr gibt. Es wird natürlich länger als 3 Jahre dauern.
Man kann sehr viel in Java programmieren.
Vor drei Monaten arbeitete ich bei einem Suchmaschinenanbieter, der die komplette Steuerung und die Weboberfläche der Suchmaschine in Java geschrieben hat. Der Kern, also die eigentliche Suche lief aber wieder in C++.
Java hat eine saubere Syntax als C++, aber nutzt man die Möglichkeiten von C++ aus, ist die Sprachführung in C++ besser. Es ist leichter in Java loszulegen, als in C++. Erreicht man die Grenzen von Java, ist es schwerer sie zu überwinden, als in C++.
Und die Grenze in Java ist erreicht, wenn Du z.B. die derzeitige Prozessorauslastung wissen möchtest.
Java wurde vor 8, 9 Jahren sehr gehypt. Die Sprache selbst hat nur einen wirklichen Vorteil: Sie liefert ein Framework mit. Aus dem Hype sind viele Programme entstanden, was Java auf Jahre hinweg zu einer wichtigen Sprache machen wird, man wird schließlich nicht einfach alles neu schreiben.
Nochmal: Java ist keine schlechte Sprache. Sie reicht für einen Einsteiger, sie reicht für einen Fortgeschrittenen, aber ihre Möglichkeiten enden weit vor C++.
Metamorph hat geschrieben:Ein in Java kompiliertes Programm kann (laut Definition) auf verschiedenen Betriebssystemen ausgeführt werden, ohne es zu verändern und neu zu kompilieren. Allerdings muss das Betriebssystem einen Bytecodeinterpreter (JRE) haben.
Dabei sollte nicht unerwähnt bleiben, dass eine Definition ein Text auf einem Papier ist, für den sich Computer nicht zwangsweise interessieren...