Quel langage apprendre pour l'électronique embarquée?
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Quel langage apprendre pour l'électronique embarquée?



  1. #1
    Igih

    Quel langage apprendre pour l'électronique embarquée?


    ------

    Bonjour à tous,

    Je suis ingénieur en optique laser et en électronique depuis 10 ans, et je souhaite me reconvertir d'avantage dans l'électronique.

    J'ai de bonnes connaissances dans la CAO électronique (Altium, Orcad), mais quand je regarde les offres d'emploi il y a peu d'offres dans l'électronique hardware.
    Ce que je remarque c'est que maintenant pas mal de boulot demande d'avoir également des compétences softwares, mais depuis l'école d'ingénieur je n'en ai pas fait et il me faut reprendre vraiment les bases.
    C'est pourquoi je cherche à avoir des infos sur quels langages sont les plus utilisés dans mon domaine, de façon à bien ciblé.

    En fouillant un peu, il semble que ce soit les langages C, C# et Python qui ont l'air de revenir le plus souvent. Le C/C# ont l'air d'être plus dominant mais le Python semble plus simple à prendre en main.
    Est ce qu'il vaut mieux commencer par le Python et ensuite aller vers le C ou directement commencer le C, ou alors je me plante complètement et il y a mieux XD?

    Merci pour vos conseils.

    -----

  2. #2
    pm42

    Re : Quel langage apprendre pour l'électronique embarquée?

    Citation Envoyé par Igih Voir le message
    mais le Python semble plus simple à prendre en main.
    Ceci dit, ils n'ont pas le même usage. C est un langage de très bas niveau qu'on utilise quand on a besoin de vitesse, de ne pas consommer trop de mémoire et quand on veut être proche du hardware. Il est toujours très présent mais sera remplacé à terme par Go et Rust ou autre chose.
    C++ est une version orientée objet de C, que je trouve inutilement lourde et complexe.
    C# est un langage Microsoft généraliste, plus récent que les 2 précédents et plutôt sympa.

    Python est un langage lent dans lequel on programme vite, pour lequel il y a un nombre incroyable de librairies qui font de tout et qui s'est imposé pour l'intelligence artificielle, qui est très présent dans l'enseignement mais aussi pour des usages généralistes, des sites Web...

    Je vous conseillerais de commencer par Python : c'est facile, il y a de nombreux cours, tutoriaux et livres et cela permet en débutant de se concentrer sur le fait de faire un programme qui marche.
    Si nécessaire, apprendre ensuite un autre langage comme C, C++, C# permet de voir d'autres concepts et c'est enrichissant.

  3. #3
    Igih

    Re : Quel langage apprendre pour l'électronique embarquée?

    Ok merci pour ta réponse. Je vais regarder ça.

    Par contre coquille, quand je parlais du C# je voulais dire C++...

    Après si d'autres personnes ont des avis, n'hésitez pas

  4. #4
    pm42

    Re : Quel langage apprendre pour l'électronique embarquée?

    Citation Envoyé par Igih Voir le message
    Par contre coquille, quand je parlais du C# je voulais dire C++...
    J'ai pensé que cela pouvait être le cas, c'est pour cette raison que j'ai parlé des 2.

  5. A voir en vidéo sur Futura
  6. #5
    jojo150393

    Re : Quel langage apprendre pour l'électronique embarquée?

    Bonjour,
    contrairement à ce qui était dis, je ne suis pas du tout d'accord avec pm42. Rust est tout récent et le C à encore de beau jour devant lui. Pour ce qui concerne l'embarqué "dur", c'est a dire sur microcontrôleur, il n'y a actuellement presque que le C. Les autres sont anecdotiques. Il est aussi possible de faire du C++ mais dans un premier temps, c'est préférable de faire du C, puis d'aller vers le C++ si nécessaire. Le C++ utilisant parfois des concepts un peu plus complexes, il est souvent nécessaire d'avoir des MCU déjà assez performant (32bits).

    Pour l'embarqué un peut plus haut niveau, avec un OS comme linux par exemple, alors là il y a déja plus de choix. Le C ou C++ est aussi un bon choix, sinon le python sera effectivement pas mal.

  7. #6
    pm42

    Re : Quel langage apprendre pour l'électronique embarquée?

    Citation Envoyé par jojo150393 Voir le message
    Pour ce qui concerne l'embarqué "dur", c'est a dire sur microcontrôleur, il n'y a actuellement presque que le C.
    Je ne dis pas le contraire.

    Citation Envoyé par jojo150393 Voir le message
    Rust est tout récent et le C à encore de beau jour devant lui.
    Microsoft qui a une des plus grosses bases de C/C++ au monde est en train d'évaluer le passage à Rust.
    Bien sur, l'embarqué à encore d'autres contraintes et changera lentement. Ma remarque était de dire que même s'il est encore intéressant d'apprendre le C ou le C++ pour certains usages aujourd'hui, leur remplacement a commencé et l'envie d'embarquer du Machine Learning jouera sans doute. Même si pas mal de noyaux de librairies sont en C/C++ encore aujourd'hui.

    Quelques chiffres intéressants sur le sujet : https://www.embedded.com/2019-embedd...c-c-dominance/

  8. #7
    CM63

    Re : Quel langage apprendre pour l'électronique embarquée?

    @lgih : tu peux regarder aussi les Arduino, qui permettent de commander des robots, recherche ce mot afin de savoir quel est le langage utilisé pour les programmer. Il me semble que les Arduino peuvent aussi être utilisés pour commander de l'électronique embarquée, je pense que c'est une techno à connaître en tout cas.

  9. #8
    jiherve

    Re : Quel langage apprendre pour l'électronique embarquée?

    Bonjour,
    pour l'embarqué que je connais, aéronautique/spatial, en soft pur c'est C, ADA, ou assembleur, en hard VHDL ou Verilog le reste étant amha toujours non certifiable à ce jour.
    Oublier tous les produits ATMEL sauf si le nouveau propriétaire (Microchip) a levé l'interdiction d'emploi qui les frappaient pour les applications pouvant mettre en jeu des vies humaines.
    JR
    l'électronique c'est pas du vaudou!

  10. #9
    f6bes

    Re : Quel langage apprendre pour l'électronique embarquée?

    Bjr à toi, ( CM63)
    Un Arduino c'est un..."outil" ...pas un langage.
    Je suppose que "l'outil" peut etre programmé dans des langages...différents.
    Bien sur si on se contente de copié/collé de librairie Arduino...j'appelle pas ça de la...programmation.

    Bonne journée

  11. #10
    pm42

    Re : Quel langage apprendre pour l'électronique embarquée?

    Citation Envoyé par f6bes Voir le message
    Un Arduino c'est un..."outil" ...pas un langage.
    Je suppose que "l'outil" peut etre programmé dans des langages...différents.
    C'est quand même fait massivement leur environnement de développement qui est une version de C/C++. Ceci dit, on peut aussi le coder dans d'autres langages comme Ada, Basic, Forth, Java, Pascal, Python avec des contraintes. Voir par exemple https://arduino.stackexchange.com/qu...s-other-than-c

  12. #11
    Vincent PETIT
    Animateur Électronique

    Re : Quel langage apprendre pour l'électronique embarquée?

    Bonjour,
    Le gros problème c'est que "Système embarqué" est un mot valise. Tout rentre dedans.

    Dans l'embarqué certifié : Aéro/Défense, Automobile, Ferroviaire, Énergie & Pétrochimie, Médicale il arrive souvent que le langage soit imposé par la norme concernant la partie sûreté de Fonctionnement (le coeur du système)

    Citation Envoyé par jiherve
    aéronautique/spatial, en soft pur c'est C, ADA, ou assembleur, en hard VHDL ou Verilog
    En effet et de mémoire la norme DO174 tout comme la norme EN 61508 recommande ces langages pour obtenir la certification.

    Citation Envoyé par jojo150393
    le C à encore de beau jour devant lui
    Oui car dans la certification il y a le micro qui l'est et aussi son compilateur C historique qui est certifié, les règles de codage MISRA-C sont aussi demandé (automobile) sans compter qu'il y a aussi la notion de "Proven in Use" (éprouvé dans le temps) dans le développement logiciel certifié et c'est tellement le parcours du combattant pour être certifié qu'introduire un langage récent est difficilement envisageable.

    Mon avis pour avoir travaillé dans le marché Oil & Gaz (norme Énergie & Pétrochimie), il faut connaître absolument le C, Assembleur, VHDL.

    ****************************** ******

    Ensuite il y a toutes les couches applicatives qui ne font pas partie de la sûreté de fonctionnement et là il y a plein de langage très performant à connaître, voir le message #2 de pm42.

    Sur ce produit, image ci dessous, le dernier sur lequel j'ai bossé mais sur le hardware seulement, la partie affichage n'est absolument pas critique et ce n'est pas elle qui est certifiée donc mon collègue avait bien plus de souplesse dans le choix du langage et dans la méthode de développement. C'est pour ça qu'il est bien de connaître aussi des langages plus évolués.

    Nom : MX43_English (2) 300x300px-72dpi.png
Affichages : 1886
Taille : 83,6 Ko
    Là où il n'y a pas de solution, il n'y a pas de problème.

  13. #12
    mizambal

    Re : Quel langage apprendre pour l'électronique embarquée?

    Hello. Ya qques années la maitrise des RTOS était également un prérequis à l'embauche dans ce domaine. Cela a t il changé depuis ?

  14. #13
    Vincent PETIT
    Animateur Électronique

    Re : Quel langage apprendre pour l'électronique embarquée?

    Salut,
    Dans les projets que nous avons fait avec les collègues aucun ne nécessitait un RTOS mais je pense que tu as toujours raison aujourd'hui. J'en cite deux pour ne pas faire de PUB :

    SAFERTOS : https://www.highintegritysystems.com/safertos/ pré-certifié pour l'Automobile ISO 26262 ASIL D et Energie pétrochimie (nuclaire, Oil & Gas) IEC 61508-3 SIL 3

    embOS-Safe : https://www.segger.com/products/rtos...ns/embos-safe/ pré-certifié pour le Médical ISO IEC 62304 Class C et Energie pétrochimie (nuclaire, Oil & Gas) IEC 61508-3 SIL 3, il est certifiable pour l'automobile à moindre coût



    Étant donné que les marchés :
    - Automobile,
    - Energie pétrochimie,
    - Ferroviaire
    - Médical
    - Aéronautique et Spatial
    - Militaire

    Demande de la certification hardware et software, et représente une sacrée part du marché de l'embarqué je dirais que oui, il vaut mieux connaître un RTOS. Des connaissances dans la IEC 61508 est un plus car elle est la norme mère du civil, les normes auto, ferroviaire et médical en sont des déclinaisons.

    Là où il n'y a pas de solution, il n'y a pas de problème.

  15. #14
    BboCurieuxDeTous

    Re : Quel langage apprendre pour l'électronique embarquée?

    Bonjour,

    Comme quelqu'un l'a dit plus ... "l'informatique embarquée" regroupe beaucoup de choses, de nombreux langages, des O.S en temps réel ou pas, mais tous cela concerne surtout la grande quantité de µcontrôleur ou µprocesseur et où on trouve énormement de monde de formations différentes (de l'informaticien, à l'électronicien, en passant par l'automaticien).

    Igih étant un ingénieur électronicien, à la compétence des très basses couches. Et on trouve dans les basses couches, toute la famille des circuits logiques programmables "FPGA, CPLD ..." programmable en VHDL.
    Cette compétence est un outil nécessaire pour un électronicien.
    Ces circuits programmables se trouvent partout, de toutes les tailles, de petites ou grandes complexités, mais en terme de mise en œuvre moins à la porté des "pur" informaticiens.

    bonne soirée.

Discussions similaires

  1. Quel langage apprendre pour mes études ? Help Please.
    Par lukarate26 dans le forum Programmation et langages, Algorithmique
    Réponses: 76
    Dernier message: 13/05/2017, 23h39
  2. Quel DUT (ou BTS) pour informatique embarquée
    Par seedoo64 dans le forum Orientation après le BAC
    Réponses: 10
    Dernier message: 12/10/2012, 11h45
  3. Quel livre pour apprendre l'électronique ?
    Par invite287081fc dans le forum Électronique
    Réponses: 3
    Dernier message: 23/08/2012, 23h33
  4. Apprendre le langage C pour les PIC ?
    Par invite1cc104d0 dans le forum Électronique
    Réponses: 24
    Dernier message: 20/06/2011, 12h11