Un nouveau langage de programmation facilite le codage des applications sociales

Même s'il suffit de quelques frappes et clics de souris pour publier un tweet sur Twitter ou un ami sur Facebook, des milliers de lignes de code peuvent être nécessaires pour accomplir la tâche.





Chien , un nouveau langage de programmation, pourrait rendre plus facile et plus intuitif l'écriture de toutes sortes d'applications sociales, des sites de questions-réponses peer-to-peer aux rencontres en ligne. Et parce que Dog intègre le langage naturel, cela peut également permettre aux débutants d'apprendre plus facilement à coder.

Professeur au MIT Media Lab Sept Kamvar , qui a développé Dog avec l'aide de quelques étudiants diplômés, espère sortir le langage dans une version bêta privée dans les prochains mois, et en proposer une sortie publique au printemps.

Dog est né de la frustration de Kamvar vis-à-vis des langages de programmation existants, tels que Java, qu'il considérait comme inutilement difficiles à utiliser pour écrire du code régissant les interactions sociales. Les choses qui étaient faciles à décrire en anglais, comme une commande pour informer une personne de quelque chose, devaient être envisagées en termes de stockage de données et de protocoles de communication lorsqu'il s'asseyait pour l'écrire en code.



J'ai dû écrire du code à un niveau d'abstraction inférieur à celui que je devais penser aux interactions, dit-il. Et donc j'ai pensé qu'il serait intéressant de commencer à écrire un langage de programmation qui me permettrait d'écrire au même niveau d'abstraction que je pense.

Kamvar a commencé à travailler sur Dog en définissant les défis spécifiques qu'il rencontre avec les langages de programmation traditionnels lors de la création d'applications sociales, notamment l'identification des personnes, leur conversation et leur écoute. Il a proposé quelques idées pour résoudre ces problèmes avec un nouveau langage de programmation. Par exemple, pour faciliter l'identification des personnes, il a fait des personnes un type de données de base que le langage pouvait reconnaître, tout comme d'autres langages reconnaissent des chaînes de texte ou des nombres entiers. .

Ensuite, il a créé une syntaxe simple autour de ces idées qui utilise le langage naturel (puisque le langage traite de la coordination et de la communication avec les gens) et s'est concentré sur un petit ensemble de commandes très claires : demander, écouter, notifier et calculer. Un exemple de ligne de code dans une simple application de flux d'actualités sociales se lit comme suit : LISTEN TO PEOPLE FROM mit VIA http FOR posts, ce qui permettrait à l'application de surveiller le Web pour les mises à jour d'un groupe de personnes affiliées au MIT.



Bien que toutes ces choses puissent être faites dans d'autres langages de programmation, Kamvar soutient que ce n'est généralement pas très facile. Et les utilisateurs peuvent importer des fonctions à partir d'autres langages de programmation, dit Kamvar, de sorte que la conception des interactions et les processus sociaux peuvent être écrits en Dog tandis que d'autres fonctions peuvent être écrites dans un autre langage.

Au cours de la dernière année, Kamvar et ses étudiants ont développé le compilateur Dog - le logiciel qui transforme le code en une tâche qu'un ordinateur exécutera - et écrit des programmes de démonstration dans le langage pour le tester, comme un fil d'actualités de type Twitter. L'une est une plate-forme d'enseignement et d'apprentissage entre pairs appelée Karma qui fonctionne au sein du réseau social étendu d'un utilisateur ; il devrait être accessible au public d'ici l'été prochain.

Dog sera gratuit et open source, les utilisateurs pourront donc l'enrichir et le modifier à leur guise. Et tandis que Dog est un langage côté serveur, ce qui signifie qu'il repose sur l'envoi de données à un serveur afin d'exécuter des tâches, le groupe construit également une version côté client.



Kamvar est susceptible de faire face à certains chiens sceptiques, tels que Robert Harper , professeur d'informatique à l'Université Carnegie Mellon qui étudie la théorie des langages de programmation. Alors que Harper dit qu'il est logique de créer des langages plus faciles à comprendre pour les non-codeurs, il ne considère pas la programmation pour l'informatique sociale comme un créneau à combler. Et bien qu'un langage tel que Dog puisse commencer par être orienté vers un type de codage spécial, vous vous retrouvez invariablement impliqué dans des problèmes plus complexes, et si vous utilisez un langage codé selon des scénarios stéréotypés, il s'effondre rapidement, dit-il. .

Alors que Kamvar souligne qu'il ne considère pas Dog comme une programmation en langage naturel dans la veine de, par exemple, Wolfram Alpha ou Inform 7, l'inclusion d'un phrasé en langage naturel devrait rendre Dog plus facilement compris par les non-programmeurs, tels que les concepteurs d'interaction ou chefs de produit dans les startups, qui ont souvent des idées sur ce qui doit être fait, mais qui doivent ensuite attendre qu'un ingénieur logiciel apporte ces modifications au code de l'entreprise.

Plus généralement, Dog pourrait permettre à quiconque de programmer ou au moins de comprendre ce qui se passe dans les coulisses d'un site Web. Malgré l'attention portée aux startups d'apprentissage de code en ligne comme Codecademy, peu d'attention a été portée sur le fait que la programmation peut être plus difficile qu'elle ne devrait l'être, dit Kamvar.

Peut-être que cette attention devrait aller vers la conception de langages de programmation qui sont intrinsèquement plus faciles à apprendre, mais toujours de force industrielle, dit-il.

cacher