Le nouveau langage de programmation sans code de l’ingénieur utilise des diagrammes visuels

Nicholaus Cranch a un rêve. Imaginez si vous pouviez dessiner programmes — comme si vous dessiniez un organigramme. Cranch poursuit cette vision depuis des décennies, et il propose maintenant sa propre solution maison, sans code, qui permet la programmation avec des diagrammes visuels. Entre autres avantages, il pourrait enfin libérer tout le potentiel de la programmation pour les processeurs multicœurs.

Comme Cranch l’a écrit dans un récent article de blog, « Peut-être qu’il est temps de réévaluer la façon dont les logiciels sont construits ? »

Ce n’est pas seulement une vision, a déclaré Cranch dans une interview par e-mail cette semaine. Il a déjà créé son propre IDE pour écrire dans son langage KonneX, qui génère du code non spécifique au matériel, « semblable au code machine ou au byte code Java ». Et il a également construit un nouveau noyau pour les microcontrôleurs, qui effectue la planification et la synchronisation des tâches (ainsi que tout le verrouillage d’objet et la gestion des erreurs nécessaires).

Mais ce qui est tout aussi remarquable, c’est depuis combien de temps il poursuit ce rêve. « Depuis le début des années 1990 environ, je réfléchissais à l’idée de dessiner des programmes plutôt que de les écrire », a ajouté Cranch.

Dans l’état actuel des choses, « nous utilisons des graphiques et des diagrammes pour à peu près n’importe quelle conception complexe », a expliqué Cranch sur son blog « sauf la programmation… »

Programmation visuelle multicœur

Cranch voit une alternative où les arguments d’une fonction deviennent des lignes dans des cases, et les instructions « return » de la fonction deviennent des lignes sortantes. Les erreurs peuvent également être capturées visuellement (tout comme les fonctions lançant une exception). C’est un langage typé, mais avec des types de données facilement représentés à l’aide de couleurs.

Premier exemple de langage de programmation de diagramme visuel Konnex (capture d'écran du blog Nicholaus Craunch)

Et c’est quelque chose qu’il prend très au sérieux.

« Pendant des années, j’ai joué avec différentes idées, essayant de comprendre comment cela pouvait être fait », se souvient Cranch dans son e-mail. Pendant plus de quatre ans, Cranch a développé l’idée, complétant finalement un prototype fonctionnel. Une fois, il a même présenté le système à Sir Clive Sinclair, un pionnier technologique légendaire des ordinateurs personnels et des calculatrices de poche. Malheureusement, se souvient Cranch, l’idée « n’a pas suscité son intérêt ».

Cranch a récemment détaillé sa vision dans une série d’articles de blog, avec des titres comme « Une image vaut mille mots ». Mais il y a aussi d’autres avantages non négligeables. Cranch soutient que le code informatique, en général, « a été conçu pour qu’un seul processeur suive une liste d’instructions » – ce qui handicape désormais sa capacité à décrire des applications multithread. « La programmation multicœur pour les programmeurs est, pour être franc, une douleur absolue… », déclare Cranch dans son e-mail.

« Généralement, lorsqu’un programmeur écrit un programme, il ne fonctionnera que sur un seul cœur, donc peu importe si l’ordinateur sur lequel il s’exécute a 2 ou 64 cœurs, les performances seront les mêmes. »

Cranch a donc eu une inspiration en jouant avec le processeur Parallax P2 à 8 cœurs. « L’une des choses merveilleuses à propos de KonneX est sa capacité inhérente à répartir les tâches sur plusieurs cœurs de processeur sans que le programmeur ait besoin de le savoir… J’ai vu l’opportunité de faire revivre KonneX. Le P2 est suffisamment puissant pour exécuter KonneX et suffisamment simple pour qu’un seul individu puisse écrire suffisamment de code pour le rendre viable pour les utilisateurs.

Depuis des décennies, la société californienne Parallax fabrique des accessoires éducatifs (y compris des kits de robotique). Et heureusement, Cranch dit qu’ils se sont également avérés être «une petite entreprise très accessible. J’ai fait la démonstration de mon ancien logiciel et j’ai été ravi lorsque le fondateur Chip and [CEO] Ken Gracey a commenté qu’ils avaient essayé de proposer quelque chose de similaire il y a quelques années.

Alors, où en sont les choses pour sa proposition KonneX maintenant ? « Le seul problème était que mon logiciel était vieux, avait l’air obsolète et fonctionnait à peine sous Windows 7. Chip m’a suggéré de partir, de mettre à jour le logiciel et de revenir avec un meilleur produit. Donc, c’est là que j’en suis maintenant. Je suis actuellement en train de réécrire mon logiciel en Java (pour qu’il fonctionne sur Windows, Mac et Linux, plutôt que sur Windows comme l’ancienne version).

Et Cranch rationalise également l’IDE pour le rendre plus intuitif.

Capturer la productivité

KonneX a d’autres avantages. Il fonctionne également sur plusieurs architectures de CPU. Et cela résoudrait les problèmes passés avec l’internationalisation – puisque, en tant que langage visuel, il pourrait être facilement adopté dans les 195 pays du monde. (Cranch déplore le fait qu’actuellement « si un traducteur pour une langue particulière n’est pas économiquement viable, cela n’arrive pas ».)

Mais la vision de Cranch est, en partie, un commentaire sur l’état de l’industrie aujourd’hui. « La cascade de mises à jour secoue la chaîne de développement bouleversant tout dans son sillage », se plaint le blog de Cranch à un moment donné.

Et au cours des 30 dernières années, « Internet a aggravé la situation. Le fait que les éditeurs de logiciels puissent livrer du code non testé et de mauvaise qualité, sachant qu’ils peuvent simplement fournir une mise à jour en ligne, encourage presque les logiciels de mauvaise qualité… Les développeurs peuvent désormais se passer du contrôle de la qualité et pousser le bêta-test directement sur les clients payants, sachant très bien s’il devait y avoir d’autres bogues, l’envoi d’un correctif ne leur coûterait rien.

« Au début du développement de logiciels, les logiciels étaient publiés sur des supports physiques, des bandes, des disquettes, des CD et des DVD. Les logiciels avait travailler. Des efforts considérables ont été consacrés au contrôle de la qualité des logiciels et aux tests bêta. L’échec de la détection d’un bogue pourrait sonner le glas de la maison de logiciels. La publication de correctifs de bogues et de mises à jour était un processus coûteux, il était donc impératif que le logiciel soit droite lors de l’expédition.

En bref, comme l’écrit Cranch, « Tout est devenu très compliqué… Je me demande combien de productivité est perdue à cause des mises à jour… »

Le propre site Web de Cranch le décrit comme un polymathe informatique qui a travaillé avec des ordinateurs depuis les années 1980, « une époque où les bibliothèques n’ont pas abandonné pour faire les choses compliquées. Une époque où il fallait tout faire soi-même.

Aujourd’hui, Cranch est un développeur, un administrateur système UNIX/Linux et un ingénieur basé près de Brighton, en Angleterre, qui travaille maintenant comme consultant en technologie. Après des années d’expérience, Cranch pense avoir trouvé un moyen d’améliorer la façon dont le code est produit. « Je crois que KonneX pourrait être la prochaine chose en matière de programmation », déclare Cranch (tout en ajoutant « J’admets librement qu’il y a probablement un parti pris ici »).

Cranch pense également que son système KonneX pourrait aider à introduire la programmation aux enfants. « Les enfants comprennent », me dit Cranch (se demandant si c’est parce qu’ils sont « impartiaux par des idées préconçues sur ce qu’est la programmation »). Un autre marché possible qu’il voit est le marché émergent de la domotique. « Chaque maison est unique, tout comme les exigences de chaque propriétaire », déclare Cranch. « Et les fabricants ne peuvent pas tous les satisfaire. »

Cranch est également un amateur de technologie prolifique, dont les projets steampunk incluent un appareil qui abaisse mécaniquement une loupe grossissante sur son œil gauche (après avoir utilisé des ondes sonores ultrasonores pour calculer la distance et sélectionner un objectif approprié – plus une résistance de détection de lumière pour ajuster l’ouverture d’un iris intégré.)

Photo prise et fournie avec l’aimable autorisation de Ton Janssen

Il est peut-être approprié que ce passionné de steampunk de longue date soit celui qui finit par bricoler l’acte même de la programmation informatique elle-même.



Créé avec Sketch.

www.actusduweb.com
Suivez Actusduweb sur Google News


Ce site utilise des cookies pour améliorer votre expérience. Nous supposerons que cela vous convient, mais vous pouvez vous désinscrire si vous le souhaitez. J'accepte Lire la suite