In den letzten Jahren bin ich von einem Projekt zum nächsten gesprungen und arbeitete mit Architekten, Projektmanagern, Systemspezialisten und Experten aus unterschiedlichsten Disziplinen zusammen.
Ich eignete mir
BPM, Design Patterns, UML, J2EE, PHP, EAI, SOA, Webservices, Web2.0 und vieles mehr an. Vor lauter dazulernen habe ich völlig vergessen, dass es auch Anfänger gibt, denen das Programmieren nicht in die Wiege gelegt wurde. Unser Azubi bei
miradlo hat mir da die Augen geöffnet. Unsere Welt dreht sich extrem schnell und wir dürfen nicht stehen bleiben. Dummerweise müssen die "Neuen" auch irgendwie hinterher kommen.
Da stellt sich nun die Frage, was sie alles lernen müssen und was wirklich nicht mehr benötigt wird.
Dinge die garantiert noch benötigt werden
Ich glaube beim Einstieg in die Programmierung sind die folgenden Themengebiete immer noch unumgänglich:
Boolesche Algebra
Das ist
DIE Grundlage. Zum Einstieg sollten wirklich die grundlegenden Elemente erlernt werden. Im Internet findet sich genügend Dokumentation darüber; (siehe
wikipedia oder
IT-Wissen). In den Schulen sollte das auch unterrichtet werden. Leider
sollte das nur unterrichtet werden. Bei manchen Schulen wird im ersten Lehrjahr alles mögliche unterrichtet, die benötigten mathematischen Grundlagen sind jedoch eher nicht gern gesehen...
Datentypen
Hier geht es weiter. Wenn man sich in die Programmierung einlernen will, sollte man sich mit den Standarddatentypen auskennen. (Siehe
wikipedia) Es ist wichtig zu wissen, was folgende Datentypen bedeuten:
- bool
- int
- long
- double
- float
- String
Egal in welcher Programmiersprache. Irgendwie findet man diese elementaren Datentypen immer wieder.
Syntax der Programmierung
Wie in
at-mix.de schön beschrieben, handelt es sich bei der Syntax um die Festlegung welche Zeichen miteinander kombiniert werden dürfen. Im letzten Jahr habe ich mehrmals Anfänger erlebt, die ihre Programme nach Form, anstatt nach Syntax erstellten. Wenn man das zuvor noch nicht gesehen hat, ist es schwer zu erklären. Vielleicht gelingt mir das mit einem Beispiel:
Die Aufgabe war eine Überprüfung von Eingabewerten durchzuführen:
// Some other codeif(a > 10){
// do something which looks like a very long string
}else{
// do something else which didn't fit in this line. So you have to look what to do...
}
Der zu lange Text sah nicht gut aus und so wurde er umgebrochen:
// Some other codeif(a > 10){
// do something which looks like a very long string
}else{
// do something else which didn't fit in this line.
So you have to look what to do...
}
Wenn ihr euch ein bisschen mit programmieren auskennt, wisst ihr warum das keine gute Idee ist

Der Code sieht zwar schöner aus, kann aber nicht mehr ausgeführt werden. Ein weiteres Beispiel, bei dem die Syntax nicht verstanden wurde, zeigt diese Zeile hier:
if(count($argv > 2)){}
Anstatt:
if(count($argv) > 2){}
Na erkennt jeder den Unterschied?
Fazit
Im ersten Moment ist es irritierend, wenn man selbst diese Fehler lange nicht mehr macht. Doch es hat mir gezeigt, dass man vor lauter bunten Oberflächen, schnelleren Modellen und einem blinden Glauben an die Technik immernoch auf die Menschen achten muss, die diese Maschinen bedienen. Egal wie perfekt unsere Computer und Methoden werden, schlussendlich müssen wir sie bedienen und verstehen können, um wirklich nutzbringende Systeme erstellen zu können.
Schaut euch mal ein bisschen um und überprüft ob alle in eurem Umfeld noch mitkommen...