Originally Posted By: Joey
Ich kenne sehr wenige Leute, die mit Basic/PHP/whatever angefangen haben und ordentlich Programmieren können; da ist einfach die "Erziehung" anders.


Das liegt vermutlich an Deinem Alter. Ich habe auch Basic zuerst gelernt und zwar noch mit Zeilennummern. Nicht destotrotz musste ich damals aus Performance-Gründen auf dem C64 zusätzlich für Grafikeffekte reine Maschinensprache und Assembler lernen. Dort arbeitete man mit Registern und kurzen Sprung- und Kopierbefehlen, mit Adressen und Hex-Zahlen. Hardware-näher geht es kaum. C ist dagegen genauso abstrakt wie Pascal oder C#.

Aber heute stimme ich mit Dir überein. Wenn jemand Java als erste Sprache lernt und sich nicht weiter mit den Hintergründen beschäftigt, weiß er kaum noch, was tatsächlich auf Hardware-Ebene passiert, wie aus einem binären System eine Hochsprache entstehen konnte, die Prozeduren, Blöcke, Klassen und Vererbung versteht. Allein die Initialisierungs- oder Aufräumaktionen werden einem häufig abgenommen, was natürlich zu einem anderen Stil erziehen könnte.
Allerdings muss ich auch zugeben, dass man damals eine Programmiersprache schneller lernen konnte, denn die APIs sind heute komplexer, die Vernetzungen vielfältiger und die Features der Programmiersprachen sehr viel umfangreicher.

Ich hatte das Glück, die ganze Entstehung mitzuerleben. Ich meine, auch Pascal war damals noch zeilenorientiert. Diese Fixierung auf Zeilen war den Sprungbefehlen der Maschinensprache eigentlich viel näher. Erst die Blöcke mit den bedingten Befehlen begannen, Abstraktion und Struktur einzuführen. Und dann kamen auf einmal Objekte und Klassen, Vererbung und Komponenten. All das bot eine Menge Hilfe bei komplexeren Projekten, war aber jedesmal mit Lernen, Umstellen und Umgewöhnen verbunden.
Und ja, bei ganz kleinen Beispielen war das jedesmal, dass diese neuen Konzepte umständlicher aussahen und mehr Code benötigten. Es zahlt sich eben erst aus, wenn eine bestimmte Komplexität in einem Projekt überschritten wird.


Models, Textures and Games from Dexsoft