Programmieren lernen, ja aber…

Kürzlich hatte der CEO des Verlagshauses Ringier, Marc Walder, gefordert, dass seine führenden Journalisten Programmieren lernen. Das ist in erster Linie sehr zu begrüßen genau so wie Programmieren lernen in der Volksschule gefordert wird. Das hilf in erster Linie das Verständnis für die moderne Computer basierenden Technik zu erhöhen. Es hilf auch die Anforderungen an dieser Technik und Programmierer realistisch zu gestalten. Alles sehr edle und auch gute Vorsätze aber nichts neues, denn diese Stimmen und deren Umsetzung existiert schon länger.

Foto von pexels.com unter der CCO Lizenz

Als ich mitte der 1990er Jahre meine Lehre als Maschinenkonstrukteur absolvierte (ja, so ein alter Sack bin ich) hatten wir in der Berufsschule schon das Fach Informatik, inkl. Programmieren. Denn schon damals zeichnete sich die Digitalisierung der Industrie und Gesellschaft ab. Eigentlich war es schon ende der 1980er Jahre klar ersichtlich. Darum hatte schon damals in der Volksschule auf dem Apple Macintosh zumindest komplexere und repetitive Rechenaufgaben mit Microsoft Excel gelöst. Das war ein Teil des Mathematikunterrichts und zeigte mir damals schon rudimentär die Möglichkeiten des Computers auf. Die Idee für das Verständnis der Computertechnik auch nicht Nerds näher zu bringen ist also nicht neu.

Seit ca. den 2000ern hat so gut wie jeder Haushalt min. einen Computer und daraus werden meiner Meinung nach die falsche Schlüsse gezogen. Nur weil so gut wie fast jedes Kind spätestens ab dem achten Lebensjahr mal alleine vor dem Computer saß, heißt es noch lange nicht, dass es diesen beherrscht oder min. die Bedienung des Computers versteht. In den Schulen ging man meiner Meinung nach aber von dem aus und hat den Informatik-Unterreich vernachlässigt. Einerseits wird uns die Bedienung durch durchdachten Benutzeroberflächen so wie intuitive Touchscreens erheblich vereinfacht. Dies aber verdeckt wieder den Hintergrund der Technik. Es ist gut wenn man nicht täglich über die Technik nachdenken muss und einfach seine Arbeit auf dem Gerät machen kann. Die schöne Oberfläche kann aber auch das Verständnis für die Maschine mindern und man meint mit ein paar Mausklicks oder Wischgesten sei eine Aufgabe erledigt. Die Oberfläche kann das strukturierte Herangehensweise am Computer hindern. Darum ist es gar nicht schlecht die Grundlagen von Programmierung zu erlernen, rein für das Verständnis.

Foto von pexels.com unter der CCO Lizenz

Das lernen von Programmieren verschreckt in erster Linie nicht Techniker, da die kryptischen Zeichen und Anweisungen einem fremd vorkommen. Doch ist es möglich und keine große Hexerei in die Programmierung eines Computers einzutauchen. Es gibt interaktive Onlinekurse oder YouTube Kanäle die dies einem näher bringen. Diese sind in kleine verständliche Abschnitte unterteilt und man lernt behutsam Stück für Stück hinzu. Doch schon tut sich die nächste Frage auf: «Welche Programmier-Sprache soll ich lernen? Welche ist die beste, von all den vielen die es gibt?» Die Antwort ist relativ simpel aber genau so verwirrend. Es gibt nicht die beste Programmiersprache und welche Sie lernen möchten liegt an den Anforderungen ihrer Aufgaben ab. Ich werde Ihnen weiter unten eine kleine Hilfe dazu geben. Wenn es rein um das Verständnis um die Programmierung geht spielt es fast keine Rolle welche Sprache sie dafür wählen.

Die Frage ob und wer ab wann Programmieren lernen soll ist immer noch nicht beantwortet. Meiner Meinung nach sollten Kinder in der Schule ab 10-12 Jahren in der Schule den Umgang mit Computer in den regulären Fächern lernen und den dort so einsetzten was er auch ist, ein Werkzeug. Dabei ist es egal ob Tablets, Laptops oder Desktopcomputer. Konkret soll das heißen: Praktische Anwendung direkt in den bestehenden Fächern — Programmieren im Mathematikunterricht, Technisches-Zeichnen (CAD) im Geometrieunterricht und Internetkompetenz in Deutsch und/oder Geschichte, etc. Das wird an vielen Orten schon so gehandhabt, mal erfolgreicher mal weniger. Aber auch Erwachsene können und sollten sich weiterbilden und das Lernen am besten mit einem eigenen Projekt verbinden. Ob dies nun eine eigen Webseite, eine Steuerung für das Hobbyprojekt, eine Vereinfachung von täglichen Routinen am Computer oder sonst was ist. Es soll in beiden Fällen nicht das Ziel sein ein Programmierer zu werden, sondern das Verständnis für die Arbeitsweise der Maschine zu bekommen.

Foto von pexels.com unter der CCO Lizenz

Nun aber zu den Programmiersprachen und deren Verwendung und wie man diese erlernen kann. Um die rudimentären Mechaniken des Programmierens zu lernen hat das MIT speziell für Kinder (Erwachsene dürfen auch) Scratch entwickelt. Damit lernt man schon sehr gut wie programmiert wird und welche Schritte es dafür benötigt. Auch sehr Einsteiger freundlich ist es mit Turtle zu beginnen. Wenn Sie eine simple Homepage entwickeln wollen dann lernen Sie auch gleich wie man ein Dokument strukturiert. Lernen Sie HTML und CSS für deren Gestaltung. Ein weiterer Schritt ist dann simple Funktionen der Website beizubringen mittels JavaScript und/oder mit der jQuery Bibliothek. Für komplexere Webanwendungen benötigen Sie eine Server seitige Programmiersprache wie das häufig verwendete PHP. Für Anwendungen jeglicher Art und einfach zu erlernen ist Python. Sie eignet sich auch um wiederkehrende Aufgaben zu automatisieren. Python wird auch unter anderem in der Wissenschaft und Industrie für komplexe Aufgaben genutzt. Noch eine sehr viel eingesetzte Sprache ist Java, doch diese ist einiges komplexer als die vorhergehenden. Alle die hier kurz angesprochenen Sprachen können Sie ohne Installation direkt auf den Websites Code School oder Codecademy in leicht verständlichen Lektionen erlernen.

Es gibt noch so viel mehr unterschiedliche Programmiersprachen und das Thema ist sehr weitläufig, doch das sollte für den ersten Blick in die Programmierung genügen und einem einen Überblick über das Thema verschaffen. Damit sollte man die Grundzüge von der Arbeitsweise eines Computers verstehen. Somit wünsche ich Ihnen ein frohes Ausprobieren und gutes Gelingen bei ihrem Programmier-Projekt.