Les solutions sans code domineront-elles l’avenir de l’embarqué ?

Written By shabang

Shabang partage sa passion et son expertise sur Shabang.dev, votre halte quotidienne pour tout ce qui est tech & tech

Au cours des dernières années, il y a eu dans l’industrie du logiciel une idée selon laquelle l’avenir du code n’est pas du code.

Les entreprises d’aujourd’hui s’efforcent constamment de faire plus avec moins de ressources. Au fil du temps, le développement de systèmes embarqués est devenu extrêmement complexe. Prenons par exemple un interrupteur connecté à Internet. Tout ce qu’il fait, c’est allumer et éteindre une lumière ; Cependant, pour construire un tel appareil, vous avez besoin de pilotes de bas niveau, d’un RTOS, de piles de connectivité, d’une connexion au cloud, de mécanismes de sécurité, d’une conception à faible consommation et de la capacité de récupération après une panne de courant. La quantité de connaissances et de prouesses logicielles dont les développeurs d’aujourd’hui ont besoin sont incroyables et, honnêtement, deviennent de plus en plus déraisonnables. Au cours des dernières années, il y a eu dans l’industrie du logiciel une idée selon laquelle l’avenir du code n’est pas du code. Alors, les solutions sans code domineront-elles l’avenir de l’embarqué ?

Qu’est-ce qu’un sans code ?

Lorsque nous parlons de no code, nous parlons d’outils de haut niveau qui utilisent une interface utilisateur graphique (GUI) pour permettre la conception et la mise en œuvre d’un système. Le développeur n’a pas nécessairement besoin d’avoir des compétences en codage. Ils doivent comprendre les concepts de haut niveau et l’outil prend ces concepts et génère le code de bas niveau. Par exemple, si je souhaite implémenter une machine à états, pourquoi passer à un éditeur et commencer à écrire du code C/C++ ou Rust ? La machine à états est un concept de haut niveau et en tant que développeur système, je ne me soucie probablement pas du langage dans lequel se trouve l’implémentation. Je me soucie cependant des détails de la machine à états et de sa conception. Si je peux utiliser un outil de haut niveau pour créer le comportement de la machine à états et ensuite le laisser générer l’implémentation, c’est une grande victoire !

Lire  Comment supprimer définitivement un compte Snapchat

Dans le passé, le développement de logiciels embarqués consistait toujours à commencer au niveau du circuit, au niveau du matériel, et à progresser dans la pile logicielle jusqu’à arriver aux fonctionnalités du produit. C’est ce que les ingénieurs électriciens et les développeurs de logiciels embarqués adorent faire ! Entrez dans les bits et les octets. La carte mémoire et les registres. Malheureusement, d’un point de vue commercial, la direction et le client ne s’en soucient pas. Ils se soucient des fonctionnalités qu’ils souhaitent et qui les aideront à atteindre un objectif. Cela impose vraiment une approche descendante.

Code ou pas de code

Aucune solution de code ne peut aider une entreprise à prouver son produit plus rapidement en réalisant les fonctionnalités en premier. Présenter ces fonctionnalités aux clients et obtenir les commentaires nécessaires pour créer un produit réussi. L’idée du no code ouvre la possibilité à une personne sans connaissance approfondie des langages de programmation de concevoir un système. C’est très séduisant pour une entreprise. Cela donne envie aux entreprises de sauter dans le train du no code.

Des idées telles que l’absence de code et la conception basée sur des modèles existent dans l’industrie du logiciel depuis des décennies. Il existe des outils tels que STMCubeMx, Matlab, MCUXpresso, etc. qui permettent un certain niveau de capacité sans code/génération de code. Ces outils sont intéressants et s’améliorent chaque année. Dans certains cas, cependant, les entreprises ont du mal à payer le prix des outils sans code et dans d’autres cas, les outils ne vont tout simplement pas assez loin. Ils peuvent accélérer le développement, mais nécessitent néanmoins que le développeur connaisse de nombreux détails sous-jacents.

Les choses nous amènent à un point intéressant concernant le développement de logiciels embarqués. Les logiciels embarqués sont uniques dans le sens où les développeurs doivent comprendre à quoi sert leur code sous-jacent. Si vous rencontrez des problèmes de performances, un problème de corruption de la mémoire ou l’un des nombreux autres problèmes qui surviennent dans les systèmes embarqués, une approche sans code sera interdite. Les développeurs doivent comprendre leur matériel et leurs systèmes de construction. C’est bien d’abstraire des niveaux de détails pour accélérer le développement, mais à un moment donné, les choses vont mal tourner et vous avez besoin de connaissances spécialisées dans le domaine pour les résoudre.

Lire  Relever les défis de l'IA de pointe

Conclusions

Aucun code n’est intéressant, mais il n’a encore envahi aucun domaine du développement logiciel. Aucun code n’a probablement le plus de sens pour le développement d’architectures de haut niveau, la conception d’interfaces graphiques et le comportement piloté par l’état. À l’avenir, aucune conception basée sur le code et les modèles ne deviendra peut-être la norme de l’industrie, mais je pense que nous sommes encore loin de cette réalité, du moins en ce qui concerne les systèmes embarqués. Il y a beaucoup d’idées et de concepts intéressants venant du camp du no code, mais il faudra probablement encore une décennie ou plus avant qu’aucun code ne domine l’industrie. L’adoption d’outils d’IA pourrait accélérer ce phénomène, mais il y aura toujours un besoin de connaissances de bas niveau dans le domaine.





Laisser un commentaire