Title: Wozu sollte ich programmieren lernen? Date: 2014-10-04 19:20 Tags: code, learning Googleadsense: True authors: Al Sweigart, Horst JENS Slug: 20141004_alsweigartdeutsch Summary: übersetztes Blogposting von Programmieruchautor Al Sweigart: gute und schlechte Gründe, jetzt programmieren zu lernen.
Ein Blogposting von Al Sweigart
Mittlwerweile gehört den Computergeeks die Welt. Noch vor ein paar Jahrzehnten warst du ein Nerd ohne echtes Sozialleben wenn du mit deinen Freunden per Chat kommuniziert hast. Dank Breitband-Internet und Smartphones ist das Informationszeitalter von den Anfängen der PC-Ära in den 70ern heute im Mainstream angekommen.
Mit diesem gesellschaftlichen Wandel einhergehend drängt sich die Frage auf: Sollte ich programmieren lernen? Ist Nicht-Programmieren-Können der neue Analphabetismus? Programmiere ich oder werde ich programmiert? Sollte jeder programmieren können? Diese Fragen stellte die New-York-Times "Personal Computers; Does Everyone Need to Learn Programming?"(1) breits 1984.
Wie bei allen von Medien geschürten Paniken kommen Geschäftemacher und Experten (so wie ich) aus ihren Verstecken und offerieren Meinungen und Produkte. Softwareentwickler Jeff Awood plädiert dafür, NICHT programmieren zu lernen(2); eine Position der ich entschieden widerspreche(3).
Am Markt gibt es unzählige Webseiten und Kurse um Programmieren zu lernen. Die meisten davon sind meiner Meinung nach schrecklich(4).
Verstehe mich bitte nicht falsch: Du SOLLST programmieren lernen. Aber im Medien-Hype geht die eigentliche Frage unter: Wozu sollte ich programmieren lernen?
Hier sind ein paar schlechte Gründe der Lerne-programmieren Propaganda:
Bevor ich die realen Gründe erkläre warum du, deine Freunde, deren Nachbarn, ihre Katze und überhaupt jeder programmieren lernen sollte beachte folgende Anektdote:
Ein Mathematiklehrer erklärt Logarithmen, quadratische Gleichungen (oder ähnlich Popoläres) und wird von einem Schüler gefragt: “Wann im Leben werde ich das jemals brauchen?”
“Wahrscheinlich niemals” anwortet der Lehrer ohne zu zögern. “Die meisten Berufe verlangen nicht mehr Mathematik als Grundrechnungsarten.”
“Aber” fährt der Lehrer fort “Stelle Dir folgende Fragen: Warum gehen Menschen ins Fitnesscenter und stemmen Gewichte? Wollen sie alle Olympiasieger werden oder als Bodybuilder arbeiten? Warten diese Menschen alle darauf eines Tages eine alte Dame unter einem 300 Kilo Gewicht eingeklemmt zu finden um sich dann zu denken: Genau für diese Situation habe ich all die Jahre trainiert?”
“Natürlich nicht. Die Menschen heben Gewichte weil sie das stärker macht. Mathematik zu lernen ist wichtig um gescheiter zu werden. Mathematik zwingt dein Gehirn in ungewohnten Bahnen zu denken. Mathematik verlangt Präzesion, Disziplin und Abstraktionsvermögen. Mathematik ist mehr als brutal auswendig lernen, oder schöne Dinge herstellen, oder rauszufinden wie man Erwartungen anderer Menschen erfüllt. Mathematik Hausübungen zu machen übt den Geist darin diszipliniert in einer Welt zu denken in der es eindeutig richtige und eindeutig falsche Antworten gibt. Und Mathematik ist allgegenwärtig: Mathematik steckt in vielen anderen Lebensbereichen und ist universal gültig, unabhängig von Kulturen. Vor allem lehrt Dich Mathematik neue Wege zu denken. Und genau diese Fähigkeit, auf neue, andere Art zu denken ist es -mehr als alles andere- die dich für eine unvorhersehbare, gefährliche Zukunft vorbereitet”.
Programmieren zu lernen, obwohl man nicht Software-Ingenieur werden will hat ähnlich gute Gründe:
Ab November 2014 im Handel: Al's neues Python-Programimerbuch. Bildrechte: Al Sweigert
Cory Doctorow hat argumentiert(10) dass man noch bevor man programmieren lernt lernen sollte mit Regular Expressions (=reguläre Ausdrücke, RegEx) umzugehen. Regexes beschreiben Muster (=Pattern) von Text. Deine Textverarbeitungssoftware erlaubt wahrscheinlich Regex Ausdrücke für die Suchen-und-Ersetzen Funktion zu verwenden. Sich mit Regular Expressions auszukennen ist eine Fähigkeit die Deine Möglichkeiten am Computer vervielfacht. Und sobald es ausreichend Leute gäbe die sich mit Regulären Ausdrücken auskennen könnten Programmierer vermehrt Regex-Fähigkeit in ihre Software einbauen um mächtigere, nützlichere Apps zu erstellen.
Das gleiche gilt für's Programmieren. Stell Dir Software vor in einer Welt wo jeder grundlegende Programmierkenntnisse hat. Anstatt beschränkter Apps (=Applikationen, Programme) könnten wir universelle API'S (=Application Programming Interfaces, Programmierschnittstellen) haben. Die Leute könnten selbstständig jene verschiedenen Services und Programme zusammenfügen welche sie gerade brauchen. Dies würde die Mauern der User-Gefängnisse (wörtlich: walled gardens, ummauerte Gärten) einreißen welche Facebook, Twitter, Google und Apple errichtet haben um ihre Monopole zu behalten. Es hätte für das Informationszeitalter jene Auswirkungen welche Gutenbergs Druckerpresse für das Zeitalter der Aufklärung hatte.
Es gibt jede Menge Skills (=Fähigkeiten) zu erlernen um ausgwogen gebildet und umfassend auf das Leben vorbereitet zu sein: Ein Instrument spielen, öffentlich Vortragen, ein Budget erstellen, Erste Hilfe leisten, Gartenarbeit, überzeugend schreiben, Babysitten, Betrüger durchschauen et cetera et cetera.
Programmiern zu können ist einzigartig unter diesen Skills: Programmieren ist eine praktische Fähigkeit auf einem Werkzeug (PC) welches du bereits täglich benutzt. Programmeren zu lernen bietet sinnvolle intellektuelle Herausforderungen in Hülle und Fülle: diese zu überwinden trainiert dein Hirn. Programmieren zu können spart Zeit bei langweiliger Arbeit am Computer und öffnet die Augen für Möglichkeiten die bisher unrealisierbar waren. Deshalb solltest du wirklich programmieren lernen.
Ende der Übersetzung Originaltext: Inventwithpython/blog: no seriously why should i learn to code(11) von Al Sweigart. Übersetzung aus dem Amerikanischen von Horst JENS mit freundlicher Genehmigung des Autors.
Al Sweigart schreibt Programmierbücher über die Programmiersprache Python(12) die er heldenhafterweise nicht nur auf seiner Homepage(13) zum Anschauen und Downloaden bereitstellt sondern auch Creative-Commons (cc-by-nc) lizensiert.
Bücher von Al Sweigart: Alle Bücher sind auf seiner seiner Homepage(13) frei anschau- und downloadbar. Auf seiner Homepage akzeptiert Al Sweigart auch Spenden (Paypal, Bitcoin) und selbstverständlich freut er sich über Käufer seiner Bücher: