Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Community-Fossil
Zitat
Im Studium haben wir viel mit Java programmiert, wobei diejenigen, die schon C/C++ konnten, sich häufig darüber lustig gemacht haben.
Administrator
Ich sehe das nicht als Nachteil, sondern als Vorteil. Operator-Überladungen verursachen viel unleserlichen Code. Wenn man eher wenige nicht sehr komplexe Bibliothek-Abhängigkeiten hat und eng mit einem Team zusammenarbeitet mag das noch ganz komfortabel sein, aber sobald man sich durch anderer Leute Code wühlt/diesen benutzt und die Überladungen nicht gut dokumentiert sind, bereitet das starke Schmerzen. Das ist ja gerade das tolle an Java - manchmal muss man vielleicht einen kleinen Umweg gehen, aber dafür lässt sich fast jeder Code wunderbar nachvollziehen. Ich lese Java Code wie Bücher und verstehe ihn auch so schnell (vorausgesetzt ich benutze eine IDE, die mir auf Klick den Code der entsprechenden Funktion/Klasse zeigt). Das ist IMO mit komplexen Sprachen wie C++ oder Scala nicht möglich. Je mehr eigene Sprachkonstrukte entwickelt werden und je komplexer diese sein können, desto höher wird die Verständnishürde und die Anzahl der Codestellen, die man überprüfen muss. Templates sind aus diesem Grund auch mit Vorsicht zu genießen. Im Vergleich zu C++ Templates sind Java Generics nicht ohne Grund kraftlos.Zitat
- Was mich an Java stört, sind fehlende Operatorüberladungen. Besonders bei Vektorrechnungen, wie sie in Spielen ja häufig gebraucht werden, führt das zu unleserlichem Code.
- Verglichen mit den Templates in C++ sind Java Generics ziemlich "kraftlos"
Dieser Beitrag wurde bereits 9 mal editiert, zuletzt von »Chromanoid« (10.09.2011, 11:12)
idontknow
unregistriert
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »dot« (10.09.2011, 15:45)
- Was mich an Java stört, sind fehlende Operatorüberladungen. Besonders bei Vektorrechnungen, wie sie in Spielen ja häufig gebraucht werden, führt das zu unleserlichem Code.
Java-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
public class Test { //Warum gibt diese Methode -1 zurück? public static int test1() { for(;;) { try { return 1; } finally { break; } } return -1; } //Warum ist das eine Endlosschleife? public static void test2() { while (true) { try { return; } finally { continue; } } } //Warum wird bei String-Literaren automatisch intern aufgerufen? //Das führt häufig zur Verwirung von Anfängern public static void test3() { String s1 = "abc"; String s2 = "abc"; String s3 = new String("abc"); System.out.println(s1 == s2);//true System.out.println(s1 == s3);//false s3 = s3.intern(); System.out.println(s1 == s3);//true } } |
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »foreach« (10.09.2011, 16:08)
Werbeanzeige