Coden als Breitensport

Eine MIT-Gruppe will mit der einfachen Programmiersprache "Dog" auch Laien in die Lage versetzen, Social-Media-Anwendungen zu schreiben.

In Pocket speichern vorlesen Druckansicht 1 Kommentar lesen
Lesezeit: 4 Min.
Von
  • Rachel Metz

Eine MIT-Gruppe will mit der einfachen Programmiersprache "Dog" auch Laien in die Lage versetzen, Social-Media-Anwendungen zu schreiben.

Jemanden als Freund auf Facebook zu bestätigen oder eine Kurznachricht auf Twitter abzusetzen, schafft eigentlich jeder. Mit Digital Literacy hat das allerdings noch nicht viel zu tun. Denn nur Spezialisten können den Code für solche Social-Media-Anwendungen schreiben. Eine Gruppe um Sep Kamvar vom MIT Media Lab will das ändern: Eine von ihnen entwickelte Programmiersprache namens „Dog“ soll Nutzern eine einfache und intuitive Möglichkeit geben, selbst soziale Interaktionen im Web zu programmieren.

Auslöser für die Arbeit war Kamvars eigene Frustration mit etablierten Programmiersprachen wie Java. Was in Alltagssprache leicht zu beschreiben ist, gerät im Code zu einem intellektuellen Herausforderung, will man die Speicherung von Daten oder die Implementierung von Datenprotokollen korrekt programmieren.

„Den Code muss ich auf einer niedrigeren Abstraktionsebene schreiben als meine eigene Vorstellung der Anwendung“, sagt Kamvar. „Wäre es nicht sinnvoll, eine Programmiersprache zu entwickeln, in der ich auf demselben Abstraktionsniveau, auf dem ich denke, programmieren kann?“

Kamvar machte sich an die Arbeit. Zuerst definierte er typische Aufgaben, die Social-Media-Anwendungen bewältigen sollen, etwa Nutzer zu identifizieren. Hierfür schuf er einen einfachen Datentyp, den die Programmiersprache genauso leicht ausmachen kann wie andere Sprachen Buchstabenketten oder ganze Zahlen.

Als nächstes entwickelte er eine einfache Syntax für diese Konzepte, die an natürlicher Sprache angelehnt ist. Mit Syntax wird die korrekte Reihenfolge von Ausdrücken bezeichnet, um eine Anweisung zu formulieren – so wie auf Englisch jede Aussage in der Reihenfolge Subjekt-Prädikat-Objekt ausgedrückt werden muss. Diese Anweisungen bekamen klare Bezeichnungen wie „ask“, „listen“, „notify“ oder „compute“. Eine typische Codezeile lautet dann: „LISTEN TO PEOPLE FROM mit VIA http FOR posts“ – die Anwendung sucht mit dieser Zeile das Web nach Mitteilungen von MIT-Personal ab. Es sei auch möglich, Funktionen aus anderen Programmiersprachen zu importieren, sagt Kamvar.

Gemeinsam mit seinen Studenten hat er im vergangenen Jahr einen Compiler für Dog geschrieben. Diese Software sorgt dafür, dass Codes in abstrakteren Programmiersprachen in die grundlegenden Befehle übersetzt werden, die der Computer versteht. Unter den ersten Demo-Programmen sind ein Twitter-artiger Nachrichtendienst und die Lernplattform „Karma“, die Nutzer in ihrem eigenen sozialen Netzwerk einsetzen können.

Eine Beta-Version von Dog will Kamvar in den nächsten Monaten veröffentlichen. Die Programmiersprache wird quelloffen (open source) und gratis sein, so dass andere sie weiterentwickeln können. Im Moment ist Dog nur auf den Einsatz auf Servern zugeschnitten. Kamvars Gruppe ist aber bereits dabei, eine Client-Version zu erarbeiten, die auf dem Rechner eines Nutzers laufen kann.

Der Enthusiasmus der Dog-Entwickler berührt in der Fachwelt jedoch nicht jeden. Robert Harper, Informatiker und Spezialist für Programmiersprachen an der Carnegie Mellon University, kann kein Bedürfnis für eine simple Programmiersprache für Social-Media-Anwendungen ausmachen. Zwar sei es sinnvoll, das Coden auch Nicht-Programmierern zugänglich zu machen, doch sei das nur eine Nische. Sollte Dog Verbreitung finden, komme der Punkt, an dem man sich unweigerlich mit immer komplexeren Problemen beschäftigen müsse, sagt Harper. „Wenn die Sprache nur für stereotype Einsatzgebiete ausgelegt ist, bricht sie rasch zusammen.“

Kamvar sieht Dog nicht als natürlichsprachigen Code vom Kaliber etwa von Inform 7 oder Wolfram Alpha. Sie könnte aber Designern oder Managern in Start-ups helfen, ihre Ideen in einer ersten Demonstration umzusetzen, anstatt zu warten, bis ein Programmierer in der Firma es für sie tut.

In Dog programmierte Anwendungen könnten außerdem Nutzer in die Lage versetzen, selbst unter die Oberfläche von Webanwendungen zu schauen und nachzuvollziehen, was diese eigentlich machen. Auch einige Start-ups wie Codecademy wollen das Erlernen von Programmiersprachen fördern. Doch die Tatsache, dass Programmieren bislang komplizierter als nötig ist, hätten auch diese Projekte nicht thematisiert, sagt Kamvar. „Vielleicht müssen wir mehr darauf achten, Programmiersprachen zu entwickeln, die leichter zu lernen sind und zugleich industrielle Ansprüche erfüllen.“ (nbo)