Toit, le langage de programmation IoT pour microcontrôleurs, arrive dans le domaine open source

[EDITION ABONNES] Fort d'une grande expérience acquise avec le moteur JavaScript V8 (utilisé notamment dans Chrome et Node.js) et le langage Dart (destiné au développement d’applications Web et mobiles), un groupe d'ingénieurs logiciels mené par Kasper Lund et Lars Bak (ex-développeurs chez Google) a inventé en 2018 une plate-forme du nom de Toit, ...permettant de créer, déployer et maintenir des logiciels pour appareils embarqués connectés à Internet.. Après la résolution de problèmes techniques difficiles, Toit s'est avéré opérationnel début 2021, avec la possibilité concrète de créer des fonctionnalités pour les microcontrôleurs.

Parallèlement, dès le départ du projet, le besoin d’un langage de programmation orienté objet adapté à la plate-forme s’est fait sentir, explique Kasper Lund dans un blog, lequel annonce dans le même temps que le langage Toit pour les besoins de l’IoT, arrivé désormais à maturité, est aujourd’hui disponible en open source. Avec un compilateur, une machine virtuelle, des bibliothèques standard et un guide de démarrage rapide pour apprendre le langage, le tout déposé sur GitHub.

Selon Kasper Lund, il est possible avec Toit d’exécuter du code 30 fois plus rapidement qu’avec un programme écrit en MicroPython sur un microcontrôleur ESP32 d’Espressif, grâce à son approche de haut niveau qui fait abstraction de l'allocation mémoire et qui peut être appris en quelques heures par un développeur Python (la syntaxe de Toit étant proche de celle de Python).

Aujourd’hui, comme la plupart des principaux langages de programmation sont open source, il était alors évident pour les concepteurs de Toit qu’il fallait aller dans cette direction pour tenter de créer un écosystème dynamique et obtenir l'adoption à grande échelle du langage.

Concernant la plate-forme Toit elle-même, l’une de ses caractéristiques notoires s'avère être sa capacité à traiter du multitâche. En divisant les sections firmware et logiciel, Toit permet de déployer plusieurs applications sur un même appareil. Et si l’une d’elles dysfonctionne, les autres continuent leur travail, ce qui permet de mettre à jour l’application vérolée sans affecter le flux des autres applications qui disposent chacune de ses propres zones mémoire isolées.