Est-il possible de coder autrement qu’en tapant sur un clavier ? Visiblement, oui. Des chercheurs de l’université de Cornell ont créé une interface capable de transcrire des croquis ou des lignes d’écriture manuscrite en code informatique.
Leur outil est appelé Notate, et repose sur l’utilisation d’un stylet. Il n’a pas pour objet de « remplacer » la façon dont les développeurs codent habituellement, mais bien de la compléter. Il est destiné à ceux qui utilisent des tablettes ou blocs-notes numériques, et « permet aux utilisateurs d’ouvrir des canevas de dessin dans des lignes de code », expliquent les scientifiques dans un article publié dans le magazine Association for computing machinery.
Les développeurs sont donc invités à introduire des diagrammes, des croquis… En bref, des informations parfois bien plus simples à synthétiser sous ce type de format que par de longues lignes de code. Une commande permet ensuite « d’exécuter » le schéma, afin de voir s’il a bien été compris par le programme. Un autre outil permet même de le décomposer.
« À travers ce travail, nous cherchons à questionner ce que cela signifie ‘d’écrire’ du code », affirment les chercheurs. En effet, ils rappellent également que bien que le clavier soit aujourd’hui l’outil majoritairement utilisé pour coder, cela n’a pas toujours été le cas. « À l’avènement de la programmation, les premières notations de programmation informatique étaient manuscrites, et non dactylographiées. Dans le célèbre premier Rapport de 1945 sur l’EDVAC, par exemple, John von Neumann assimilait les diagrammes à du texte et vice versa. En fait, les notations n’ont été sérialisées et appelées langages de programmation que lorsque les interfaces des machines à écrire sont devenues appropriées pour la programmation », soulignent ainsi les chercheurs.
Un nouvel outil de programmation à améliorer
L’interface fonctionne grâce à un modèle d’apprentissage profond. Elle fait le lien entre les contextes de programmation manuscrits et textuels. Les deux sont complètement reliés : ainsi, une notation dans le diagramme manuscrit peut faire référence au code textuel et vice versa. Par exemple, Notate est capable de reconnaître des symboles de programmation manuscrits, comme « n », et de les relier ensuite à leurs équivalents dactylographiés.
Les scientifiques ont déjà effectué quelques tests utilisateurs, avec un certain succès. Le principe de base semble avoir fonctionné, mais demande toutefois quelques améliorations pour pouvoir être vraiment fonctionnel. « Les résultats d’une étude d’utilisabilité avec des novices suggèrent que les utilisateurs trouvent notre interaction de base des références intercontextuelles implicites intuitives, mais suggèrent d’autres améliorations de l’infrastructure de débogage, de la conception de l’interface et des taux de reconnaissance », précisent-ils ainsi dans l’introduction de leur étude.
Toutefois, ils se montrent enthousiastes quant à l’avenir d’un tel outil : « Un système de ce type serait idéal pour la science des données, notamment pour l’élaboration de graphiques et de tableaux qui interagissent ensuite avec le code textuel », déclare Ian Arawjo, auteur principal de l’étude, dans un communiqué de Cornell University. « Notre travail montre que l’infrastructure actuelle de la programmation nous bride. Les gens sont prêts pour ce type de fonctionnalités, mais les développeurs d’interfaces pour la saisie du code doivent en prendre note et prendre en charge les images et les interfaces graphiques à l’intérieur du code ».