211service.com
Neue Programmiersprache erleichtert das Codieren von Social Apps
Während es nur ein paar Tastenanschläge und Mausklicks braucht, um einen Tweet auf Twitter zu posten oder jemanden auf Facebook zu befreunden, sind möglicherweise Tausende von Codezeilen erforderlich, um die Aufgabe zu erfüllen.
Hund , eine neue Programmiersprache, könnte es einfacher und intuitiver machen, alle Arten von sozialen Anwendungen zu schreiben – von Peer-to-Peer-Frage-und-Antwort-Sites bis hin zu Online-Dating. Und da Dog natürliche Sprache enthält, kann dies auch Neulingen das Erlernen des Programmierens erleichtern.
Professor am MIT Media Lab Sep Kamvar , der Dog mit Hilfe einiger Doktoranden entwickelt hat, hofft, die Sprache in den nächsten Monaten in einer privaten Beta-Version veröffentlichen zu können und im Frühjahr eine öffentliche Veröffentlichung anzubieten.
Dog entstand aus Kamvars Frustration über bestehende Programmiersprachen wie Java, die seiner Meinung nach unnötig schwierig zu verwenden waren, um Code zu schreiben, der soziale Interaktionen regelt. Dinge, die auf Englisch leicht zu beschreiben waren – wie zum Beispiel ein Befehl, eine Person über etwas zu benachrichtigen – mussten in Bezug auf Datenspeicherung und Kommunikationsprotokolle berücksichtigt werden, wenn er sich hinsetzte, um sie in Code zu schreiben.
Ich musste Code auf einer niedrigeren Abstraktionsebene schreiben, als ich über die Interaktionen nachdenken musste, sagt er. Und so dachte ich, es wäre interessant, eine Programmiersprache zu schreiben, die es mir ermöglicht, auf der gleichen Abstraktionsebene zu schreiben, die ich denke.
Kamvar begann mit der Arbeit an Dog, indem er spezifische Herausforderungen definierte, die er mit traditionellen Programmiersprachen beim Erstellen sozialer Anwendungen hat, darunter das Identifizieren von Personen und das Sprechen und Zuhören. Er hatte einige Ideen, um diese Probleme mit einer neuen Programmiersprache zu lösen – zum Beispiel, um die Identifizierung von Personen zu erleichtern, machte er Personen zu einem grundlegenden Datentyp, den die Sprache erkennen konnte, so wie andere Sprachen Textketten oder ganze Zahlen erkennen .
Dann erstellte er eine einfache Syntax um diese Ideen herum, die natürliche Sprache verwendet (da die Sprache sich mit der Koordination und Kommunikation mit Menschen befasst) und sich auf eine kleine Reihe sehr klarer Befehle konzentrierte: fragen, zuhören, benachrichtigen und berechnen. Eine Beispielcodezeile in einer einfachen Social-News-Feed-Anwendung lautet: LISTEN TO PEOPLE FROM mit VIA http FOR posts, wodurch die Anwendung das Web auf Updates von einer Gruppe von MIT-Mitgliedern überwachen lässt.
Obwohl all diese Dinge in anderen Programmiersprachen möglich sind, behauptet Kamvar, dass dies im Allgemeinen nicht sehr einfach ist. Und Benutzer können Funktionen aus anderen Programmiersprachen importieren, sagt Kamvar, sodass Interaktionsdesign und soziale Prozesse in Dog geschrieben werden können, während andere Funktionen in einer anderen Sprache geschrieben werden können.
Im vergangenen Jahr haben Kamvar und Studenten den Dog-Compiler entwickelt – die Software, die Code in eine Aufgabe umwandelt, die ein Computer ausführen kann – und Demoprogramme in der Sprache geschrieben, um sie zu testen, beispielsweise einen Twitter-ähnlichen Nachrichtenfeed. Eine ist eine Peer-to-Peer-Lehr- und Lernplattform namens Karma, die innerhalb des erweiterten sozialen Netzwerks eines Benutzers funktioniert; Es wird erwartet, dass es im nächsten Sommer öffentlich verfügbar sein wird.
Dog wird kostenlos und Open Source sein, sodass Benutzer es nach Belieben hinzufügen und ändern können. Und während Dog eine serverseitige Sprache ist, was bedeutet, dass sie Daten an einen Server sendet, um Aufgaben auszuführen, baut die Gruppe auch eine clientseitige Version.
Kamvar wird wahrscheinlich einigen Hundeskeptikern gegenüberstehen, wie z Robert Harper , ein Informatikprofessor an der Carnegie Mellon University, der Programmiersprachentheorie studiert. Während Harper sagt, dass es sinnvoll ist, Sprachen zu entwickeln, die für Nicht-Programmierer einfacher zu verstehen sind, sieht er die Programmierung für Social Computing nicht als Nische, die gefüllt werden muss. Und obwohl eine Sprache wie Dog anfangs auf eine spezielle Art der Codierung ausgerichtet sein mag, werden Sie immer in komplexere Probleme verwickelt, und wenn Sie eine Sprache verwenden, die auf stereotype Szenarien codiert ist, bricht sie schnell zusammen, sagt er .
Während Kamvar betont, dass er Dog nicht als natürliche Sprachprogrammierung im Sinne von beispielsweise Wolfram Alpha oder Inform 7 ansieht, sollte die Einbeziehung natürlicher Sprachformulierungen Dog für Nicht-Programmierer wie Interaktionsdesigner oder leichter verständlich machen Produktmanager in Startups, die oft Ideen haben, was getan werden muss, aber dann warten müssen, bis ein Softwareingenieur diese Änderungen am Unternehmenscode vornimmt.
Ganz allgemein könnte Dog es jedem einfacher machen, zu programmieren oder zumindest zu verstehen, was hinter den Kulissen einer Website vor sich geht. Trotz der Aufmerksamkeit, die Online-Code-Learning-Startups wie Codecademy geschenkt wurde, wurde der Tatsache, dass das Programmieren möglicherweise schwieriger ist, als es sein muss, nicht viel Aufmerksamkeit geschenkt, sagt Kamvar.
Vielleicht sollte diese Aufmerksamkeit auf die Entwicklung von Programmiersprachen gerichtet werden, die von Natur aus leichter erlernbar sind, aber dennoch industrielle Stärke aufweisen, sagt er.