Wie lerne ich Programmieren?

Erstmal fängt man nicht mit C an (da kommen nur Schrottprogrammierer bei raus), sondern geht durch die Schule des Programmierens mit einer akademischen Lehrsprache wie PASCAL, bis man alle Konzepte durchgreifend verstanden hat. Dann lernt man erst K&R C (mit der ersten Ausgabe des "Uraltbuches") und danach ANSI C, begreift die Unterschiede und warum man es geändert hat. Dahinter stecken nämlich komplett verschiedene Paradigmen. "Dieses veraltete Zeug braucht man nicht mehr" ist der Grund, warum ein Großteil der Entwickler heute Cargo-Cult-Spezialisten sind:



Grundlagen der EDV und der Programmierung


Weil sie die ganzen "überflüssigen" Grundlagen nie gelernt haben und die Entwicklung der EDV von den Anfängen weg nie nachvollzogen haben, wie das in jedem anderen Fachgebiet eigentlich üblich ist.


Das Problem ist leider das man nur so viel Zeit hat alles zu lernen. Und neben C gab es ja auch ganz andere Kulte, die funktionalen Jünger LISPs, die Auserwählten FORTRANs, die Söhne Smalltalks und wie die nicht alle hießen. Alle haben die Industrie maßgeblich beeinflusst. Alle hatten eine eigene Philosophie. Und alle stritten sich ihrer Ansichten wegen fanatisch. Um das Problem zu lösen müsste man die Informatik eigentlich in Unterbereiche teilen, gleich wie die Physik teilweise in die Ingenieursbereiche aufgegangen ist. Oder viel früher mit der Ausbildung beginnen, zum Beispiel in der Mittelschule. Dann könnte man die Ausbildung zum Informatiker teils mit Historischen Betrachtungen füllen.

Andererseits. ich halte Programmiersprachen aus Geschichtsbüchern zu lernen, auch für Zeitverschwendung. In den Grundlagen Rechnertechnologie zu lernen ist sicher sinnvoll, sich mit veraltetem C zu quälen ist es hingegen nicht. Veraltetes C macht fast nichts besser, als modernes C. Nüchtern betrachtet ist C für mich sowieso in einer ganz schlechten Position. Es ist ein hässlicher Gnom, der irgendwo zwischen Assembler und Hochsprache gefallen ist. Hätte C nicht eine starke UNIX-Tradition, dann würden wir heute vermutliche eher etwas Richtung Pascal für diese Nische benutzen.