IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

Vous �tes nouveau sur Developpez.com ? Cr�ez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et �tre connect� pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Cr�ez-en un en quelques instants, c'est enti�rement gratuit !

Si vous disposez d�j� d'un compte et qu'il est bien activ�, connectez-vous � l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oubli� ?
Cr�er un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Quels langages utilisez-vous pour le d�veloppement de syst�mes embarqu�s ?

Le , par Michael Guilloux

912PARTAGES

14  0 
Quels langages utilisez-vous pour le d�veloppement de syst�mes embarqu�s ?
C
48 %
C++
31 %
Assembleur
21 %
Java
10 %
Python
7 %
.Net
7 %
Arduino
6 %
VHDL
5 %
Ada
2 %
Forth
2 %
Erlang
1 %
Verilog
1 %
D
1 %
Scade
0 %
LabView
0 %
Haskell
0 %
Ladder Logic
0 %
TCL
0 %
Autres (� pr�ciser)
1 %
Pas d'avis
1 %
Voter 145 votants
Quels langages utilisez-vous pour le d�veloppement de syst�mes embarqu�s ?

Quels langages utilisez-vous pour le d�veloppement embarqu� ? Dans un sondage � choix multiples similaire lanc� il y a quelques ann�es, le langage C s�est av�r� le plus utilis� par les r�pondants, avec plus de 60 %, suivi par le C++ avec 29,41 %. Le top 5 a �t� compl�t� par le langage Assembleur (20,59 %), Ada (17,65 %) et .Net (11,76 %).


Sondage Developpez.com (2013) : Quel langage utilisez-vous pour le d�veloppement embarqu� ?

Il faut noter que plusieurs langages de programmation se veulent d�di�s � l�embarqu�. Parmi ces langages se trouvent Ada et le langage assembleur, ce dernier restant encore un choix appropri� pour les syst�mes soumis � des contraintes s�v�res de temps r�el. Des langages proches de la machine comme le C et dans une moindre mesure le C++ sont aussi utilis�s ; ce qui justifie leur position dans le dernier sondage.

C et C++ confortent �galement leur place respective dans le dernier classement de l�IEEE des meilleurs langages pour les syst�mes embarqu�s. On voit aussi d�autres langages tels que Arduino, Haskell, D, LabVIEW et VHDL qui sont bien class�s.


IEEE 2016 : meilleurs langages pour le d�veloppement de syst�mes embarqu�s

En dehors de certains langages populaires (� usage g�n�ral) qui reviennent dans les deux classements, il peut �tre important de donner quelques pr�cisions sur les diff�rents langages :

  • Arduino : il s'agit du langage natif pour le microcontr�leur Arduino, qui est devenu la base d'un grand nombre de dispositifs de fabrication et de prototypage ;
  • LabView : cr�� par National Instruments, LabView est con�u pour l'acquisition de donn�es et le contr�le industriel ;
  • VHDL : VHSIC Hardware Description Language (VHDL) est un langage de description mat�riel utilis� dans la cr�ation et l'analyse de circuits �lectroniques ;
  • Ladder Logic : il s'agit d'un langage de programmation destin� au d�veloppement de contr�leurs logiques programmables industriels ;
  • Erlang : cr�� par Ericsson pour les applications de t�l�phonie embarqu�es, la publication d'Erlang en tant que langage open source en 1998 a renforc� sa popularit� parmi les programmeurs qui d�veloppent des applications qui doivent g�rer de nombreuses t�ches simultan�es ;
  • Verilog : comme VHDL, Verilog (ou Verilog HDL) est un langage de description mat�riel utilis� dans la cr�ation et l'analyse de circuits �lectroniques ;
  • Ada : � l'origine con�u pour le d�partement de d�fense des �tats-Unis, Ada est utilis� pour des applications o� la fiabilit� est critique, comme les syst�mes de contr�le a�rospatial ;
  • TCL : il s'agit d'un langage de script destin� au prototypage rapide et supportant l'interface utilisateur graphique Tk utilis�e principalement avec les syst�mes Unix ;
  • Forth : con�u � l'origine pour contr�ler les radiot�lescopes, Forth est toujours utilis� pour des applications telles que les boot loaders et d'autres firmwares ;
  • Scade : il s'agit d'un langage pour l'embarqu� critique. C'est le langage de mod�lisation de SCADE Suite, un environnement de d�veloppement int�gr� pour la conception de syst�mes critiques.

Et vous ?

Quels langages utilisez-vous pour le d�veloppement embarqu� ? Pourquoi ?
Lesquels pr�f�rez-vous ? Et dans quels domaines ?

Voir aussi :

Forum Syst�mes embarqu�s
Rubrique Syst�mes embarqu�s
Vous avez lu gratuitement 0 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.

Une erreur dans cette actualit� ? Signalez-nous-la !

Avatar de Ashkandie
Nouveau membre du Club https://www.developpez.com
Le 29/06/2017 � 10:37
Il faut voir ce que l'on appel embarqu�, pour avoir travaill� pendant quelques ann�es sur des syst�mes embarqu�s, on codait uniquement en C ou en Assembleur. Les ressources m�moires �taient ridicules (de l'ordre de quelques Ko), et la fr�quence m�moire tr�s faible (quelques Mhz) donc de base tout ce qui est interpr�t� on oublie. Si maintenant les RPi et autres cartes du m�me genre entrent dans la cat�gorie de l'embarqu�, vu le proc et la m�moire dont on dispose, on peut faire comme bon nous semble.
10  0 
Avatar de Steinvikel
Membre expert https://www.developpez.com
Le 29/06/2017 � 13:57
Corrigez-moi si je me trompe, mais le terme "embarqu�" est plut�t flou, je suppose que tout le monde se rejoins sur la notion d'�l�ment autonome et isol� (physiquement, pas forc�ment non-connect�).
ex : Un module de contr�le de cuve (temp�rature, pression, niveau, gaz...) raccord� au secteur et au r�seau, c'est de l'embarqu�.
Pour le reste, la d�finition diff�re pour tout le monde :
- avec ou sans OS >> dans tout les cas �a reste un (des) programme qui fait tourner le syst�me (aussi petit et simple soit-il)
- avec peu de ressources >> 1ko, 1Mo, 1Go... le principe reste le m�me c'est juste une question de dimensionnement (de m�me pour la consommation et l'alimentation)
- avec des composants rudimentaires >> utilisant seulement des GAL/PAL, PIC, �proc... la complexit� d'un syst�me ne devrais pas d�finir son mode d'emploi
- c'est fait sur mesure >> sauf si c'est con�u pour �tre �volutif, polyvalent (une conception > plusieurs applications)
- c'est petit >> �a rest relatif... une carte de gestion d'un panneau solaire auto-rotatif c'est de l'embarqu� ? > plus grand qu'une feuille A4 (donc plus grand qu'une CM �ATX dans laquelle transitent de plus faibles puissances), alim par batterie, absence de proc', petits programmes, etc.

Bref tout �a pour dire que pour certains "embarqu�" se r�sume � quelque chose qui r�pond � un cahier des charges limitant les possibilit�s, alors que pour d'autres c'est contextuel, par comparaison � son environnement, et pour d'autres encore c'est juste quelque chose qui correspond � un concept (la premi�re ligne).
8  0 
Avatar de transgohan
Expert �minent https://www.developpez.com
Le 30/06/2017 � 16:38
Citation Envoy� par marsupial Voir le message
Edit : Interaction homme-machine; pour un drone c'est de machine � machine et l'objectif d'un OS c'est de rendre la machine exploitable par un �tre humain. Donc un OS pour un drone � mon avis c'est superflu. Je persiste. Un module de communication est largement suffisant pour le t�l�commander ou lui passer les instructions et il se d�brouille comme il veut. D�sol�, je ne vois vraiment pas l'utilit� de lui faire bouffer des Go de codes inutiles augmentant la surface de bugs et de failles.
Si tu bosses sur des drones j'aimerai avoir le nom de ta boite pour ne jamais en acheter les produits.

Un OS ce n'est pas uniquement une interface graphique ou un shell... D'ailleurs bon nombre d'OS n'en proposent pas...
Un OS embarque des outils tr�s utiles tels que :
- scheduler
- timer
- lock
- gestion m�moire
et d'autres...

Dans la majorit� des projets complexes on ne se passe pas de ce genre d'outils.

Et quand � parler de Go pour un OS... On voit vraiment que tu ne sais pas de quoi tu parles...
Je travaille sur un projet qui tient en 6mo et qui comporte aux 5/6 notre code, le reste c'est l'OS et des drivers.
7  0 
Avatar de Forthman
Membre chevronn� https://www.developpez.com
Le 02/07/2017 � 10:52
Il y a un plouc qui a r�pondu Forth, je me demande bien qui c'est
4  0 
Avatar de kilroyFR
Membre �prouv� https://www.developpez.com
Le 29/06/2017 � 13:08
C/C++ et C# sous WinCE2013 (mais IHM seulement en C#, pour tout le reste, comm etc. c'est avec des libs (type libcurl etc) en C car sinon les perfs sont catastrophiques et surtout ca nous permet d'eviter au maximum les pbs de ce p*tain de garbage collector en C# (pour moi la pire des inventions car pour supprimer la rigueur dans le developpement on doit maintenant gerer ceci et eviter que l'equipement ne decharge au mauvais moment).

sinon android pour applis smartphone.
3  0 
Avatar de RyzenOC
Inactif https://www.developpez.com
Le 29/06/2017 � 13:13
Citation Envoy� par hotcryx Voir le message
ben c'est busybox linux qui tient sur quelques mo.
3  0 
Avatar de transgohan
Expert �minent https://www.developpez.com
Le 29/06/2017 � 13:51
Je fais du C et un peu d'assembleur sur du 68000 (oui un machin qui date d'avant ma naissance �a me fait me sentir quand j'en parle).
En gros pour ceux qui connaissent pas c'est de la grosse machine � laver, mais c'est super loin d'un smartphone ou RPi.
Et encore... Je reste persuad� que certains constructeurs mettent plus puissant que �a dans une machine � laver en mettant une usine � gaz dans le code.
3  0 
Avatar de kilroyFR
Membre �prouv� https://www.developpez.com
Le 29/06/2017 � 17:55
Pas de memory leak de notre cot� car on maitrise tout ce qu'on fait. Faut juste etre rigoureux mais ce n'est plus ce qu'on demande aux dev C# de nos jours. Ils ont l'impression d'etre les rois du monde parce qu'il ont cod� une page de code . Pour rappel C# a ete fait pour s'approcher de la simplicit� de programmation de VBasic a l'epoque. Forcement on perd au passage.
et Oui je confirme ne t'en deplaise qu'on a pas mal de soucis avec Compact CE dont les versions .net ne sont pas du tout equivalentes avec leurs versions desktop. Mais ca tu t'en rends compte quand tu cherches des API que tu ne trouves pas. Ujen logiciel qu'il faut 'reveiller' regulierement pour eviter qu'il decharge des objets dont on aurait besoin immediatement (sans temps de 1ere compilation).
Je ne suis afficionados de personne, j'aime juste avoir les bons outils pour etre productif (je veux dire je me tape de connaitre les dernieres syntaxes C# a la mode pour coder en 2 lignes de codes ce qu'on faisait en 3).
Par contre quand tu utilises une API sous WinCE qui a un comportement different que son (a priori) equivalent sous PC ben tu zappes car c''est le genre de truc ou tu perds un temps fou pour decouvrir que M$ a decid� de changer un comportement d'une API entre PC et WinCE.
La plateforme WinCE est une merde et il me tarde qu'on passe totalement a Android la dessus (on doit etre les rares encore a developper sur cette plateforme).
Le seul truc de bien c'est visual studio (2008 - faut pas deconner non plus mais ca fait le taf).

Et Xamarin je me suis jet� dedans comme un fou croyant trouver l'outil miraculeux. Au final tu codes ton appli en C# dans une syntaxe/conception tres proche de ce que tu fais en java donc rien de revolutionnaire la dedans si ce n'est de pouvoir dire que tu as un seul langage (je n'ai aucun soucis avec ca, aucun n'est meilleur que l'autre) et tu te retrouves avec des applis de 60Mo qui embarquent tout le SDK Java. Moralit� j'ai laiss� mes applis sou java android (IDE equivalent si ce n'est meilleur que VStudio pour moi).
4  1 
Avatar de archqt
Membre �m�rite https://www.developpez.com
Le 02/07/2017 � 21:15
C'est du C++ avec le main cach� et 2 fonction setup et loop et des classes cach�es aussi. A moins qu'il n'y ait un autre truc que je ne connaisse pas.
4  1 
Avatar de Iradrille
Expert confirm� https://www.developpez.com
Le 13/07/2017 � 6:11
Sans d�finition r�elle de l'embarqu�, les r�ponses peuvent �tre n'importe quoi.

Voir VHDL / Verilog dans la m�me liste que C / C++ et autres est bizarre, �a r�pond � des besoins vraiment diff�rents.

Sinon pour moi, en fonction du besoin : VHDL / C++ (�ventuellement C) / autre si plus adapt� (ex: performance non critiques et C# possible, je me laisserai surement tent�, le langage est vraiment agr�able).
3  0