Frage eines Freundes: Welche Programmiersprache soll ich lernen? – Offensichtlich …

8 Kommentare Autor: Jürgen (jdo)

Ich wurde vor ein paar Tagen gefragt: “Du bist doch so eine Computer-Mensch, oder? Ich möchte mir ein bisschen programmieren beibringen. Welche Programmiersprache soll ich denn zuerst lernen? Python, PHP, Java, HTML oder CSS?”

Dass diese Frage von einem Laien stammt, ist offensichtlich. Was mir immer nicht ganz klar ist, ob die Leute Java mit JavaScript verwechseln oder nicht. Tut aber nicht wirklich etwas zur Sache. Dass er zuerst Python genannt hat, wunderte mich ein bisschen, aber OK. Damit Du so eine Frage beantworten kannst, musst Du eigentlich sofort eine Gegenfrage stellen:

Hast Du denn überhaupt schon mal programmiert oder bist mit einer Programmiersprache in Berührung gekommen?

Diese Frage wurde verneint und somit ist die Antwort glasklar. Sofern Du Dich schon ein bisschen mit Computern auskennst, könntest Du auch direkt einen verständlichen Python-Kurs in Betracht ziehen* (sogar mit Abschlusszertifikat).

Die beste Programmiersprache zum Anfangen

Ich habe dann noch ein bisschen nachgehakt, um herauszufinden, wie viel Ahnung der gute Mensch nicht hat. Damit wollte ich mich eigentlich nu vergewissern, dass ich die richtige Antwort gebe. Zu mir hat mal jemand gesagt, dass man Dinge am verständlichsten erklärt, wenn man es so darstellt, das es ein Kind versteht.

Von daher kann die Antwort in diesem Fall nur so lauten: Scratch!

Die Antwort ist weder abwertend noch belustigend gemeint, sondern mein voller Ernst. Die Sache ist so, dass das Grundverständnis für alle Programmiersprachen gleich ist. Ich muss wissen, was eine Schleife tut, das es ein if … elseif … else gibt und so weiter. Sobald ich diese Konstrukte kapiert und verinnerlicht habe, kann ich mich rein der Syntax der jeweiligen Sprache widmen und muss mich nicht mit Verständnis und Syntax gleichzeitig plagen.

Vielleicht schmunzelst Du nun als Profi, aber erinnere Dich mal daran, wie Du den Führerschein gemacht hast. Lenken, schalten, in den Spiegel gucken, blinken, auf den Verkehr achten und und und das alles gleichzeitig war am Anfang ein riesiger Akt. Erst nach einer Weile stellen sich Automatismen ein, wenn wir als Menschen Dinge verinnerlicht haben.

Genauso ist es auch mit einer Programmiersprache. Scratch ist auch für Erwachsene eine hervorragende Möglichkeit, die Basis des Programmierens zu erlernen. Was heißt da auch, Kindern sagt man nach, dass sie sogar leichter lernen.

Scratch richtig verkaufen

Auch wenn Scratch kindergerecht gemacht ist, muss man es nicht so auslegen. Du kannst es so verkaufen, dass sich damit spielerisch die Grundkenntnisse des Programmierens lernen lassen. Das ist ja nicht gelogen.

Ich habe meinem Bekannten gesagt, dass Scratch viele Vorteile für den Anfang hat. Zunächst einmal muss er nichts installieren. Scratch 2.0 läuft im Browser. Du kannst Scratch 2 offline installieren, benötigst dafür allerdings Adobe Air. Die Software ist unabhängig von der Plattform und läuft unter Linux, macOS und Windows gleichermaßen.

Dann siehst Du sehr schnell Ergebnisse. Visuell wird Dir Dein Projekt sofort vor Augen geführt. Bei jeder Änderung in Deinem Code-Konstrukt kapierst Du sofort, was Du gerade getan hast.

Du kannst Deine Projekte speicher und wieder laden. Weiterhin gibt es abertausende an Projekten (über 18 Millionen!), die Du durchstöbern, ausprobieren und forken darfst. Es gibt sogar nützliche Tutorials, die Dir den Einstieg in Scratch erleichtern.

Die erste Programmiersprache in Deinem Leben könnte Scratch sein - es gibt sogar Tutorials

Die erste Programmiersprache in Deinem Leben könnte Scratch sein – es gibt sogar Tutorials

Die Programmiersprache Scratch ist anders

Natürlich ist Scratch mit seinem Code-Blöcken, die Du mit der Maus zusammenklickst anders als Python oder JavaScript. Ein mit Scratch erstelltes Programm sieht zum Beispiel so aus. Es folgt aber den gleichen Prinzipien wie andere Programmiersprachen, nur ist es visuell so aufbereitet, dass auch Anfänger es einfach verstehen. Genau das ist die große Stärke von Scratch.

Code-Blöcke bestimmen den Ablauf des Programms

Code-Blöcke bestimmen den Ablauf des Programms

Scratch kann natürlich weit mehr, als einen gezeichneten Kater über den Bildschirm laufen zu lassen. Bei Pizza Chef nimmst Du zum Beispiel Deine Hände, um den Teig in die Luft zu werfen. Es ist also Video Sensing möglich. Oder schau Dir mal das kleine Halloween Adventure Witch an. Das kann fast mit so manchen alten Gameboy-Spielen mithalten (auch wenn der Umfang überschaubar ist).

Witch - ein kleines Adventure

Witch – ein kleines Adventure

Alleine diese beiden Projekte geben Dir eine Idee, wie kreativ Du mit Scratch sein kannst. So macht das Lernen einer Programmiersprache sicherlich mehr Spaß, als Schleifen für PHP in einem Texteditor hacken.

Die Bestätigung

Gestern habe ich die Bestätigung bekommen, dass meine Empfehlung für das Erlernen der ersten Programmiersprache richtig war. Ganz begeistert hat mein Bekannter über Scratch gesprochen und gesagt, dass sei genau das, was er braucht. Er hat das auch gleich an ein weiteres Familienmitglied weitergeleitet, das ebenfalls ein bisschen Programmieren lernen möchte.

Scratch 2.0 auf dem Raspberry Pi 3

Noch besser wird die Sache, da Scratch in Raspbian vorinstalliert ist. Allerdings handelt es sich dabei um Scratch 1.4. Das ist ähnlich, aber eben nicht die neuste Version.

Doch auch mit einem Raspberry Pi 3 kannst Du Scratch 2 benutzen. Allerdings brauchst Du dafür den Browser Chromium und Adobe Flash. Beide Komponenten sind aber bei der aktuellsten Version von Raspbian enthalten und damit steht Deiner Kreativität nichts mehr im Weg.

Rufst Du Chromium und danach die Projektseite auf, wird die Flash-Komponente aber zunächst blockiert.

Chromium blockiert Flash per Standard

Chromium blockiert Flash per Standard

Nun klickst Du einfach mit der rechten Maustaste auf das Puzzleteil und erlaubst dem Plug-in, das es sich ausführen darf.

Dieses Plug-in ausführen

Dieses Plug-in ausführen

Dann dauert es je nach Internet-Geschwindigkeit ein bisschen und Scratch 2 läuft auf dem Raspberry Pi 3. Die Performance ist in Ordnung, würde ich sagen.

Mit der richtigen Ausrüstung kannst Du den Pi an Deinem Fernseher anschließen. Dann musst Du Dich am Abend auf der Couch nicht von irgendwelchem Blödsinn berieseln lassen, sondern kannst Dich spielerisch an das Thema Programmiersprache herantasten.

Was würdest Du jemandem empfehlen, der noch nie mit einer Programmiersprache zu tun hatte?

Nette Pi-Konstellation

Suchst Du ein VPN für den Raspberry Pi? NordVPN* bietet einen Client, der mit Raspberry Pi OS (32-Bit / 64-Bit) und Ubuntu für Raspberry Pi (64-Bit) funktioniert.




 Alle Kommentare als Feed abonnieren

8 Kommentare zu “Frage eines Freundes: Welche Programmiersprache soll ich lernen? – Offensichtlich …”

  1. Michael says:

    Interessant. Ich hätte ihn zur Codecademy geschickt. Ansonsten kommt es wohl doch sehr darauf an, was der Kollege so vorhat.
    Wenn man seinen Heim-Braukessel steuern will, braucht man wohl erstmal nichts in Richtung Webseite.

    Ich empfehle meistens Python.

    • jdo says:

      Der hat noch nie mit einer Programmiersprache etwas am Hut gehabt. Es geht hier in erster Linie mal darum, damit er überhaupt kapiert, wie so eine Programmiersprache grundsätzlich funktioniert. Sobald der Schritt erledigt ist, kann er sich mit einer der anderen Sprachen beschäftigen.

  2. Michael says:

    Ich hätte jetzt auch Python gesagt mit einem netten Online Kurs. Vielleicht noch JavaScript da man mit den Developer Tools in GoogleChrome gleich eine nette IDE hat.

  3. Tux. says:

    Python tut in den Augen und im Kopf weh. Ist ganz nett für Prototyping (weil man verdammt schnell damit sein kann), aber Performance und Syntax sind einfach nur übel.

    Anfängern empfehle ich (und helfe ich bei) C++ (ab 11 ist das wirklich sehr benutzbar geworden), Perl und Common Lisp. In ungefähr dieser Reihenfolge. Python legt zu viel Wert auf die (subjektiv) falschen Kriterien.

  4. Struppi says:

    Javascript hätte den Vorteil, dass es sich schnell in einer bestehenden grafischen Umgebung umsetzen läßt.

    Darüber hinaus hätte es auch einen zweiten grossen Vorteil, es ist "Zukunftssicher", da es heutzutage in vielen Kontexten vorkommt (Browser, Server, Webapps, GNOME Oberfläche) und man in Verbindung mit HTML/CSS noch viel über die Visualsierung und Dokumentenstrukturierung lernen kann.

    Aber für einen Einstieg bei Null, ist vielleicht so eine Sprache nicht schlecht, zumal man dadurch auch mit der Bedienung einer IDE in Berühurng kommt.

  5. Shalok Shalom says:

    Und nach Scratch: Ring. Ganz tolle neue Programmiersprache, deklarativ, sehr einfach, mit Qt Bindings, erweiterbar und freundlichem Hauptentwickler. 🙂

    http://ring-lang.net/