Informatik ➟ Programmierung ➟ Welche Sprache?

Welche Sprache?

Programmiersprachen gibt es viele. Ich selbst kenne mehr als ein Dutzend aus eigener Erfahrung:
Interessante und skurrile, einfach zu erlernende und schwer zu erlernde, Urgesteine und junge Pflänzchen.

Die beste Programmiersprache gibt es nicht – allerdings in vielen Fällen zumindest die beste für einen bestimmten Einsatzzweck. Der (einzige) Einsatzzweck, um den es mir hier geht, ist "Programmieren lernen": Welche Sprache eignet sich am besten oder zumindest "besonders gut", um das Programmieren zu erlernen?

Meine persönliche Antwort lautet: Python.
Aus meiner Sicht gibt es derzeit keine andere Programmiersprache, die als Unterrichtssprache geeigneter wäre als Python. Dass Python bis heute im schulischen Informatikunterricht trotzdem eher ein Schattendasein führt und sich in der Oberstufe gegen die Vorgaben des Zentralabiturs noch nicht durchsetzen konnte, liegt gewiss nicht an der Sprache selbst, sondern hat andere Gründe.

Was also macht Python so attraktiv?

Ein Plädoyer für Python also? – Ja und nein.

Nach einigen Jahren mit Python als Erstsprache im Informatikunterricht der Klassen 8/9 hat sich Ernüchterung eingestellt: Mehr und mehr Schüler sind nicht mehr in der Lage, Python auf einem heimischen Computer oder Notebook zu installieren. Trotz zusätzlicher Schritt-für-Schritt-Anleitungen steigt der Anteil der Schüler, der aufgrunddessen außerhalb des Unterrichts das Programmieren nicht mehr einüben kann. Was also tun?

Internet und Smartphone sind fester Bestandteil der heutigen Jugendkultur. Ich habe darum dem Thema "Web-Entwicklung" in den letzten Jahren einen immer größeren Raum im Unterricht zugestanden: HTML und CSS wurden in gutem Umfang und solide vermittelt. Das häusliche Üben stellte die Schüler vor keine Probleme: Texteditor und Internetbrowser sind auf jedem Endgerät verfügbar.

Diese Erfahrungen in Kombination mit der größeren Nähe zur Web-Entwicklung haben mich dazu bewogen, trotz der vielen Vorteile von Python eine andere Programmiersprache als Erstsprache einzusetzen: JavaScript.

Was macht JavaScript attraktiv?

Dass JavaScript als Unterrichtssprache überhaupt einsetzbar ist, ist den erheblichen Verbesserungen zu verdanken, die mit ECMAScript 6 (2015) in die Sprache eingeflossen sind und inzwischen (2018) von allen wichtigen Browsern unterstützt werden – noch vor wenigen Jahren hätte ich JavaScript nicht einsetzen wollen. Gleiches gilt für den enormen Entwicklungssprung, den HTML/CSS mit dem Übergang zu HTML5 und CSS3 vollzogen haben und der sich auch auf die Möglichkeiten von JavaScript-Programmen auswirkt.

Dennoch bleiben Nachteile gegenüber Python: Kein Einrückungszwang, stattdessen viele geschweifte Klammern und unzählige Semikolons (die dürfte man zwar fast alle weglassen, weil der Parser sie implizit ergänzt, aber formal korrektes JavaScript verlangt Semikolons). Und: Keine Möglichkeit, Daten aus dem Programm heraus beliebig in selbst gewählten Dateien zu speichern ("Sandboxing").

Um den Code gerade im Einstieg übersichtlicher halten zu können und im weiteren Verlauf bei der GUI-Entwickung und Ereignisbehandlung die Schüler nicht mit unübersichtlichem Code zu überfordern, habe ich eine speziell für den Unterrichtseinsatz konzipierte JavaScript-Bibliothek namens JSpider entwickelt, die von Beginn an mit im Einsatz ist.

Der Ersteinsatz findet zum Schuljahr 2018/19 statt. Ob die Praxis hält, was die Theorie verspricht und ob sich der (nicht geringe) Aufwand gelohnt hat, wird sich zeigen ...