Morgen startet die Initiative “Jeder kann programmieren”, angeregt von Ranga Yogeshwar und Thomas Bendig:

Eine ähnliche Initiative in den USA gibt es schon seit einem Jahr unter dem Namen “The Hour of Code”:

Das Video der deutschen Initiative ist sicher nüchterner und sachorientierter als das der amerikanischen, andererseits frage ich mich, ob so ein Roboter wirklich ein gutes Beispiel für “programmieren lernen” ist. Auch aus den Presseberichten (FAZ, Stern, Tagesspiegel) ist mir nicht richtig klar geworden, was die Initiative konkret machen will.

Wie wichtig ist es programmieren zu können? Für die meisten experimentellen Naturwissenschaftler wahrscheinlich überlebenswichtig. Für den reinen Mathematiker würden rudimentäre Kenntnisse eigentlich ausreichen: ich nutze häufig SAGE, was man aber nicht wirklich als “programmieren” bezeichnen kann, und natürlich “programmiere” ich regelmäßig in LaTeX und HTML. Die gleich im ersten Studienjahr ausgiebig gelernten Programmiersprachen (Modula 2 und Prolog sowie etwas C und Fortran) habe ich später kaum gebraucht – trotzdem war es sinnvoll, sie gelernt zu haben, denn das was man als reiner Mathematiker tatsächlich braucht (CAS wie eben SAGE oder Maple) kann man sich problemlos selbst aneignen, wenn man mal ein paar schwierigere Sprachen gelernt hatte.

Und sonst? Ich würde wohl auch dann keine Apps selbst programmieren, wenn ich es könnte. Trotzdem wäre es sinnvoll, es mal gelernt zu haben. Man hätte dann eine bessere Vorstellung, wie die Dinger funktionieren, auch wenn man selbst keine programmieren will.

Kommentare (20)

  1. #1 Christian Berger
    10. Juni 2014

    Es geht nicht darum unbedingt viel zu programmieren. Es geht darum die Welt um sich zu verstehen.

    Wir alle haben ja in der Schule die absoluten Grundkenntnisse der Mathematik beigebracht bekommen. Wir wissen, was eine Addition oder ein Produkt ist. Wir wissen auch, dass so etwas wie eine “verbotene Zahl” Unsinn ist, usw. Wir haben die Möglichkeit Entscheidungen betreffend der Mathematik demokratisch nach zu vollziehen.

    Jetzt ist es aber so, dass Computer in unserer Gesellschaft immer wichtiger werden. Wir haben heute schon 2 Grundrechte die durch die Datenverarbeitung ausgelöst wurden. Es gibt wichtige politische Themen wie Wahlcomputer den Staatstrojaner oder DRM. Um als mündiger Bürger an solchen Entscheidungen teilnehmen zu können, braucht man mindestens ein gewisses Grundwissen.

    Zum Staatstrojaner druckte eine große Zeitung Teile des Disassemblies dieses Programmes ab und schrieb dazu, dass dies der Code sei der unser Leben beeinflusst, den wir aber nicht verstehen.

    Wir müssen dazu kommen, dass die Leute Code so verstehen können wie Gesetze. Ein wichtiger Punkt dabei ist, dass wir alle die Grundlagen beherrschen. Der zweite wichtige Punkt ist, dass wir die Komplexität von Software reduzieren.

  2. #2 Thilo
    10. Juni 2014

    +1

  3. #3 Stefan W.
    http://demystifikation.wordpress.com/2014/03/19/heilen-mit-hundekot/
    10. Juni 2014

    Wir Programmierer kennen da einen Witz: “Teach yourself brain-surgery in 7 days” – in Anlehnung an die ganzen Programmiersprachen, die man so rasch lernen soll.

    Programmieren ist insofern für viele Wissenschaftler eine gute Zusatzqualifikation, als man dann sein SPSS oder R-Programm selbst schreiben kann.

    Allgemein wären Grundkenntnisse für alle Schulabgänger wünschenswert, da Computer überall aktiv sind – in Beruf, Freizeit, Verwaltung, Wirtschaft, Verkehr, Handel, Unterhaltung…

    Dass die Komplexität zurückgeht wird kaum passieren, außer unter katastrophalen Verhältnissen. Der Mensch treibt seine Produkte bis an den Rand des managbaren und darüber hinaus, er fällt auf die Nase, schüttelt sich den Staub ab und macht weiter mit noch größeren Projekten – ob in Musik oder Architektur, Ingenieurskunst oder Programmieren.

    Die einzigen Reduktionen an Kompexität sind der Untergang des röm. Reiches und das “Aufblühen” des Christentums, bekannt als das finstere MIttelalter, die Vernichtung großer Teile der dt. Eliten durch die Nazis und das wilde Treiben der Esoterik – alles mit verheerenden Folgen.

  4. #4 Christian Berger
    10. Juni 2014

    Naja, es gab eine große Komplexitätsreduktion in der EDV, und das war die Erfindung von UNIX. Ein UNIX System war auch für damalige Verhältnisse geradezu primitiv. Trotzdem ist es auch heute noch sehr mächtig.

    Solche “C++ in 500 Tagen”-Bücher sind natürlich absoluter Quatsch, allerdings kann jeder von uns eine Erlebniserzählung schreiben, auch wenn kaum jemand von uns ein gutes Buch schreiben könnte. Aber darum geht es nicht. Es geht darum, dass die Grundkenntnisse in der Bevölkerung vorhanden sind, damit die zumindest grob mitreden können.

    Der nächste Schritt wäre dann, das wir endlich mal Programmcode so behandeln wie Bücher oder Gesetze. Warum gibt es so wenig Code-Kritiker, die sich mal ein Projekt anschauen und es kritisch beurteilen?

  5. #5 Christian Berger
    10. Juni 2014

    Ach ja hier ist noch ein Vortrag von Alan Kay, der auch das Thema Code Literacy anspricht:
    http://www.youtube.com/watch?v=kzDpfk8YhlE
    Leider wurde der damals bei Apple eingesperrt wodurch er danach nur wenig wichtiges machen konnte.

  6. #6 Stefan W.
    http://demystifikation.wordpress.de/2014/06/10/bugs-rund-ums-fahrrad/
    10. Juni 2014

    Tja, ein Großteil des kommerziellen Codes ist Closed Source. Bei allen Projekten gilt aber ab einer gewissen Größe, dass die Zeit sich einzulesen und einzuarbeiten enorm ist. Man will ja keine Trivialitäten kritisieren oder nur mal hoppla-hopp einen oberflächlichen Blick drauf werfen.

    Die Zeit hat schlicht keiner und es gibt ja nichts dafür.

    Es gibt aber eine Seite bei stackoverflow: Code Review, wo man seinen Code, aber überschaubare Mengen nur, öffentlich beurteilen lassen kann. Hier ein Beispiel: http://codereview.stackexchange.com/q/9571/1983

  7. #7 Stefan W.
    http://demystifikation.wordpress.com/2014/06/07/blasphemic-lolcats-the-second-coming/
    10. Juni 2014

    Nachtrag: Ein Bereich in dem viele Laien ohnehin programmieren ist die Tabellenkalkulation. Zu anderen Sprachen bestehen jedoch so fundamentale Unterschiede, so dass nicht viel Gemeinsamkeiten besehen – eine Funktion charAt (x) vielleicht oder ein a && b.

    Unklar ist etwa, ob B1 vor A2 ausgeführt wird. Der Code wird versteckt, Wiederverwendung ist fast immer cut-n-paste. Es sind viele, viele atomare Schnipsel – kein übersichtliches System.

  8. #8 Hans
    10. Juni 2014

    Die Initiative “Jeder kann programmieren” nennt man besser “PR für Ranga Yogeshwar”. Nächstes Thema.

  9. #9 CM
    10. Juni 2014

    Der nächste Schritt wäre dann, das wir endlich mal Programmcode so behandeln wie Bücher oder Gesetze.
    Na ja, das klingt ein wenig wie die Forderungen, denen man in wohl jedem Studium vom Professor X hört: “Mein Fach ist das wichtigste. DAS müssen sie verstehen.” Da gilt es für jeden Einzelnen abzuwägen wo die Prioritäten liegen. Ich zum Beispiel halte mich für politisch interessiert, hasse aber Bürokratie und Verwaltungsvorschriften. Allzuoft lese ich diese Art der “Prosa” nur, wenn ich muß. Und viel, viel mehr Menschen lesen niemals Gesetzestexte. Ebenso haben alle das – wohl auch von niemandem hier – bestrittene Recht Programmcode zu ignorieren.
    Darum geht es aber auch gar nicht: Je komplexer Software wird – und auch wenn Interfaces besser werden, scheint dieser Trend ungebrochen – desto mehr ist die Informatik eine Disziplin für Spezialisten, desto mehr ist Otto Normalnichtprogrammierer abgestossen. Die Gefahr besteht, dass auch die Informatik nur als Karikatur wahrgenommen wird, ebenso wie andere Wissenschaften.
    Und schließlich ist es eher schwierig sich gerade bei schnittstellenreichen Applikationen einzufuchsen und wirklich alles zu verstehen. (Mir zumindest geht es so.) Das aber ist des bisher ungebrochene Trend: Programme für Normalverbraucher werden (unter der Oberfläche) komplexer und komplexer.

    Andererseits fände ich auch mehr Vermittlung von Math.-Naturwissenschaftliche Inhalten in unserer Gesellschaft gut (aus den einschlägig diskutierten Gründen) – ich weiß nicht recht was ich denken soll.

    Warum gibt es so wenig Code-Kritiker, die sich mal ein Projekt anschauen und es kritisch beurteilen?
    Das Wesen kollaborativer Code-Projekte ist doch wenigstens Debugging und Refactoring (oft durch Dritte) – da wird selten an Kritik gespart.

  10. #10 Chemiker
    10. Juni 2014

    Jeder konnte programmieren. Damals, als ich meinen C64 hatte. Das System war so mies, daß jeder irgend­etwas pro­gram­miert hat, um es über­haupt nutzen zu können.

    In meinem Studium war es ähnlich. Für viele Praktikums­aufgaben habe ich Pro­gramme geschrieben, die Fit und Aus­wertung über­­nom­men haben. Code haben wir unter­einander getauscht. Na­tür­lich war die In­kompati­bilität zwischen den vielen Computer­systemen ein Pro­blem, aber jeder Computer­­besitzer (gab nicht viele) wußte, was der Source ist und wozu man den braucht.

    Heute würde ich solche simplen Sachen in JavaScript schreiben, das läuft über­all (wenn nicht sogar ein Shell­script reicht). JavaScript hat leider keine Demo­krati­sierung der Programmier­kunst gebracht.

    Heute hat jeder so einen Rechner mächtiger als eine VAX-785 in der Hosen­tasche, und kann damit doch nur als Kon­sument umgehen. Wenn ich sage „Ein Closed-Source-Ver­schlüsse­lungs­programm ist Schlangen­öl“, dann ver­steht mich heute keiner mehr.

  11. #11 misterx
    10. Juni 2014

    PYTHON FOR THE WIN !

  12. #12 Dr. Webbaer
    10. Juni 2014

    “Jeder kann kodieren!” ginge auch, vielleicht sogar besser, denn das Programmieren ist leider leider eine schwierige ingenieurs-artige Arbeit.
    MFG
    Dr. W

  13. #13 Dr. Webbaer
    10. Juni 2014

    Die Initiative “Jeder kann programmieren” nennt man besser “PR für Ranga Yogeshwar”.

    Da mag was dran sein, der Kollege ist sehr öffentlichkeitsorientiert.

  14. #14 Dr. Webbaer
    11. Juni 2014

    Transkript Video 1 (“Jeder kann programmieren.” – Ranga Yogeshwar):

    In Zukunft wird es immer mehr Fabriken geben, mit Robotern, mit intelligenten Maschinen, mit dem Internet der Dinge, man spricht auch von der Industrie 4.0, aber wer soll diese Apparate programmieren [Industrieroboter werden im Hintergrund gezeigt]?

    Nun, man kann schon früh damit beginnen, Kinder, beispielsweise können solche Miniroboter zusammenbauen [ein Gegenstand wird gezeigt], und das macht Spaß und die haben schon viel, was die Großen auch haben, Sensorenantriebe, man kann sich erproben und es ist eine enorme Freude, wenn man merkt: Das Ganze funktioniert.

    Das lernen die Kleinen, und wenn die das können, dann können sie auch irgendwann das Ganze in Groß, jeder kann programmieren, start coding! [Ergänzungen zum visuell Hintergrund bereitgestellten Hintergrund dieser Nachricht: Dr. Webbaer]

    HTH
    Dr. W

  15. #15 Nele
    11. Juni 2014

    Ich habe Ende der 70er auf einem dieser famosen 8-Bit Computer programmieren gelernt; das hat natürlich sehr wenig mit heutigen Programmiersprachen zu tun, aber es hat mir sehr großes exemplarisches Verständnis für Computertechnik gebracht, die mir heutzutage einen intuitiven und leichten Zugang zu Computer- und Informationstechnik verschafft. Es ist eben nicht mehr so rätselhaft, was da hinter dem Gehäusedeckel passiert, wenn man die Grundprinzipien der Datenverarbeitung versteht.

  16. #16 Stefan W.
    http://demystifikation.wordpress.com/2013/12/21/google-go-bot-and-amazing-amazon-airdrohne/
    11. Juni 2014

    Weiß jmd. wo es den oben gezeigten Kinderroboter gibt? Was er kostet? Mit welchem System man den programmieren kann?

  17. #17 rolak
    11. Juni 2014

    Weiß jmd .. € .. Sys?

    Ja, Stefan W..

    Oh, falls es Dir nicht um das Wissen um sie, sondern um die Information an sich ging: Dort, brutto ~60€, Atmel(C, C++, Java und Assembler).

  18. #18 Marcell Kluth
    12. Juni 2014

    Interessant, denn ich bin auch der Meinung das jeder programmieren lernen kann und ich habe just erst mit einer Screencastreihe begonnen, die genau dies zum Thema macht!

    Zufälle gibts 🙂

    Wer mehr zu meinem Screencast wissen möchte, möge hier nachsehen: http://www.paedagogeek.eu

  19. #19 Dr. Webbaer
    12. Juni 2014

    Ischt vielleicht ein wenig so wie mit dem Hausbau, dass jeder ein paar Klötze zusammenfügen kann. es “funzt” denn auch aus bestimmter Sicht vielleicht zufriedenstellend, die Entwicklung und weitere Pflege von (IT-)Systemen, die komplex und sozial (“wirtschaftlich”) unterstützen sollen, nachhaltig, ist aber vielleicht doch eine andere Sache.
    MFG
    Dr. W

  20. #20 Frank Wappler
    http://Es.reicht.nicht--keine.Kommentarvorschau.programmieren.zu.können--man.muss.sich.auch.weigern--entsprechende.Anforderungen.zu.parsen.
    16. Juni 2014

    Thilo schrieb (Juni 9, 2014):
    > Wie wichtig ist es[,] programmieren zu können?

    So gut wie gar nicht, im Vergleich dazu, wie wichtig es ist, einen Rechner angeboten zu bekommen, der gelungene Programme ausführt oder misslungene Programmierversuche als unausführbar zurückweist; mit dessen Hilfe man also das Programmieren lernen und üben könnte.