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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Quels sont les langages de programmation à conseiller à un débutant ?

Votants
226. Vous ne pouvez pas participer à ce sondage.
  • Assembleur

    7 3,10%
  • Basic

    19 8,41%
  • Bash

    3 1,33%
  • C

    54 23,89%
  • C++

    37 16,37%
  • C#

    63 27,88%
  • Cobol

    1 0,44%
  • Delphi

    3 1,33%
  • Fortran

    3 1,33%
  • Go

    0 0%
  • Java

    85 37,61%
  • Javascript

    39 17,26%
  • Kotlin

    24 10,62%
  • Ladder

    0 0%
  • Pascal

    91 40,27%
  • PHP

    18 7,96%
  • Python

    128 56,64%
  • Ruby

    11 4,87%
  • Rust

    51 22,57%
  • Swift

    0 0%
  • Typescript

    64 28,32%
  • Visual Basic

    7 3,10%
  • VBA

    14 6,19%
  • VHDL

    0 0%
  • Autres (à préciser)

    4 1,77%
  • Je ne sais pas

    0 0%
Sondage à choix multiple
Débats sur le développement - Le Best Of Discussion :

Les étudiants de première année doivent-ils être initiés à la programmation en s’appuyant sur Python ou Java


Sujet :

Débats sur le développement - Le Best Of

  1. #61
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 333
    Par défaut
    @ Christophe : rien de comparable avec le BASIC qui est une digression du FORTRAN.

    Tu as oublié les 5,25" floppy disk, bien avant les disquettes. Et avant cela, les bandes magnétiques.
    Sans parler des perforatrices pour écrire des programmes comme le cobol sur des cartes perforées.
    J'ai connu tout cela quand j'ai débuté en informatique. Que de changement depuis cette époque !

  2. #62
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 483
    Par défaut
    Je citais le BASIC juste comme langage simple à apprendre pour les débutants, on y était initié au collège. Et je parle d'une époque ou l'informatique n'était pas utilisée partout comme maintenant.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  3. #63
    Invité de passage

    Homme Profil pro
    Passioné
    Inscrit en
    Septembre 2025
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Passioné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2025
    Messages : 15
    Billets dans le blog
    1
    Par défaut
    Le Python est certes plus facile mais moins robuste que le C/C++/C#

  4. #64
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 483
    Par défaut
    Pour l'apprentissage, le Python est un bon langage.

    En production, le Python est adapté à certains usages pas à d'autres. (au même titre que d'autres langages d’ailleurs).
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #65
    Invité de passage

    Homme Profil pro
    Passioné
    Inscrit en
    Septembre 2025
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Passioné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2025
    Messages : 15
    Billets dans le blog
    1
    Par défaut


    C'est vrai, merci.


  6. #66
    Invité de passage

    Homme Profil pro
    Passioné
    Inscrit en
    Septembre 2025
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Passioné
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2025
    Messages : 15
    Billets dans le blog
    1
    Par défaut


    Le java/Javascrip est aussi un bon language pour les débutants


  7. #67
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2015
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2015
    Messages : 570
    Par défaut Un petit peu de nuance...
    à tous,

    Je ne suis plus tout jeune, j'ai commencé avec le BASIC du C64. Pour mon diplôme, on est passé par le Pascal (pour la programmation structurée), le 'C' (incontournable), et l'assembleur (cours basé sur le 8086, ça remonte).

    Le BASIC m'a permit, avant mes études supérieures, d'apprendre a programmer. Il n'y avait pas d'internet, juste le "user guide" livré avec le C64, et quelques "rares" bouquins, en anglais, qu'on pouvait trouver à la fnac. C'était aussi l'époque d'Hoblogiciel, qui fournissait des "listing" qu'on pouvait retaper, une autre époque.

    J'ai appris ensuite le C++ (vers 1989) avec le livre noir de Stroustrup (l'auteur du C++). Je l'ai utilisé avec C++Builder pendant environ 10 ans, puis pour le taf, c'était du 'C' uniquement pour l'embarqué (pas le choix à l'époque, c'était le C ou l'assembleur).

    Puis pour mes projets 'perso', j'ai abandonné le C++ après la lecture du libre d'andruscescu (plus ou moins ce nom là), qui faisaient 700 page "juste" pour expliquer comment utiliser les "Template". C'est à ce moment là que le développement du C++ est devenu complètement fou, avec une syntaxe de plus en plus imbuvable à chaque "version". J'avais l'impression que des "experts de haut niveau" s'amusaient à introduire des fonctionnalités juste pour eux, complexifiant la syntaxe.

    Je me suis tourner vers "Delphi", puis "Python".

    C'est totalement faux de dire que python est un langage "juste pour faire des calculs", il est dynamique, mais fortement typé (faut pas mélanger les 2 concepts), et il m'a permis de créer 2 "applications" assez conséquente,s et l'une de ces applications se vendait même assez bien.

    Oui, il faut de la rigueur pour utiliser Python, le "refactoring" d'un code pour un langage dynamique et plus difficile qu'avec un langage "statique", c'est un fait, mais ça oblige justement à bien penser son code pour ne pas devoir faire de gros refactoring. Faire souvent des gros refactoring, c'est un signe d'une mauvaise architecture, bien souvent.

    Maintenant, le "typing" (vi MyPy) permet d'avoir la souplesse d'un langage dynamique, et la facilité d'un langage "statique". Et cela depuis des années déjà. D'ailleurs, je ne fait plus que du Python, sans même utiliser les annotations (pas de MyPy), car cela alourdit la syntaxe et la lisibilité du code, chose la plus importante à mes yeux. On "lit" du code bien plus souvent qu'on en "écrit".

    Je m'en sert actuellement pour développer un nouveau langage, et son compilateur, qui est fait en python. SI j'avais fait ce compilateur en C++, la base de code aurait été 10x supérieure pour zéro avantage (dans mon cas et mon parcours). Ce n'est pas vraiment un langage "jouet", il faut vraiment ne pas le connaître pour dire cela (ou ne le connaître que très superficiellement).

    Sinon, pour l'apprentissage, ni java ni python ne sont de bons choix. Ils offrent trop de facilités.

    Je pense que le 'C' est le bon choix pour démarrer, il est relativement simple, mais il faut faire attention.
    Il faut aussi connaître les bases, c'est à dire l'assembleur (j'ai compris les "pointeurs" en C via le cours d'assembleur, tout m'est apparu limpide depuis ce moment).

    Commencer par un langage qui "facilité" trop la vie, c'est passé à côté des fondamentaux, et ils sont nécessaires.

    L’algorithmie ne dépend absolument pas du langage. L'un est au niveau du "concept" et le langage sert a "implémenter" ces concepts.

    Je me souviens d'ailleurs que, sans le savoir, lorsque je faisait du BASIC sur mon C64, j'avais "recréé-réinventé" le "tri à bulle" (le plus mauvais des tris), en me demandant pourquoi, dès que ce que j'avais a trier était trop grand, sans savoir pourquoi à l'époque. C'est durant mes études que je me suis rendu compte du pourquoi sa vitesse diminuait lorsque la liste a trier grandissait (c'était exponentiel).

    Certains langages sont plus adaptés que d'autre pour un cas donné, et vice et versa.

    En tout cas, pour apprendre, ne surtout pas utiliser "javascript" (je ne connais pas typescript, le dév. web, c'est pas mon truc).

    Pour finir, il ne faut pas croire qu'on peut passer d'un langage à l'autre aussi facilement que certains le pense, il faut des années pour bien maîtriser un langage, et le temps manque.

    Mieux vaut connaître "à fond" quelques uns, que d'en connaître 25 superficiellement.

    Moi c'est le C, l'assembleur et Python. Il me reste des connaissances de C++, mais je n'ai vraiment pas envie de m'y remettre. Je regarde un peu "Rust", mais même s'il a des avantages certains, je trouve sa syntaxe "boursouflée", mais j'aime bien certains des "concepts" qu'il apporte, mais il y'a moyen de faire environ pareil avec Ada (dont Rust s'inspire a juste titre) et qui date de plus de 40ans minimum, et si ces "concepts" sont intéressants, leur mise en application dans le langage m'apparaît plus compliquée que nécessaire, à cause d'un mauvais choix de départ (mais par obligation, j'en suis bien conscients) pour certains aspects.

    Si je peux me permettre, partez d'une feuille blanche, définissez un nouveau langage, et implémentez le compilateur pour ce dernier, c'est instructif comme pas possible, ça permet de comprendre certains choix fait par certains langages, et vous permet de mettre en oeuvre toute votre expérience, de vous améliorer.

    Faites cette exercice sans rien d'autres que votre cerveau, sans outils, sans IA, et le tout "à la main". C'est merveilleux tout ce qu'on apprend, même si on a déjà une certaine expérience.

    Voilà voilà, c'était juste mon simple avis, avec lequel je suis d'accord ;-) Mais avec un autre vécu, on voit parfois les choses différemment, c'est ainsi, on ne peut pas tout savoir.

    Bàv et Peace & Love.

  8. #68
    Membre éprouvé
    Avatar de calvaire
    Homme Profil pro
    .
    Inscrit en
    Octobre 2019
    Messages
    2 325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Singapour

    Informations professionnelles :
    Activité : .
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2 325
    Par défaut
    (blague) en 2026 je dirais le JSON.
    Avec le json, on peut envoyer des instructions à un serveur mcp qui lui même va pondre du code et un programme (potentiellement fonctionnel) dans n'importe quel langage.


    plus sérieusement, avec l'ia connaitre un langage est devenu moins important, la valeur d'un dev c'est plus la maitrise de l’écosystème. Maitriser la ci/cd, docker, k8s, le mcp pour faire de l'ia agentique, ...etc.
    On recrute plus un dev java désormais, on veut un dev java qui fait aussi les tests, la ci/cd, l'image docker, le déploiement sur un eks sur aws, l'intégration avec une bdd, un serveur mcp....etc.


    L’apprentissage de l’écosystème doit être autant importante pour un junior que juste savoir coder.
    Pour faire une analogie avec le web, ce serait comme recommander à un junior d'apprendre juste le html/css, c'était valable en 2000 et d'ailleurs sa suffisait presque pour rentrer chez google et d'autres gafam pendant la bulle internet, mais aujourd'hui maitriser html ca vaut rien.
    La France est un pays qui redistribue tout sauf de l'espoir.

  9. #69
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 483
    Par défaut
    avec l'ia connaitre un langage est devenu moins important
    Il faut maitriser le langage pour contrôler l’éventuel vomi de code de l'IA.

    la valeur d'un dev c'est plus la maitrise de l’écosystème. Maitriser la ci/cd, docker, k8s, le mcp pour faire de l'ia agentique, ...etc.
    C'est un profil DevOps ça, effectivement beaucoup plus recherché qu'un simple dev.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  10. #70
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 333
    Par défaut
    Citation Envoyé par Christophe
    Je citais le BASIC juste comme langage simple à apprendre pour les débutants, on y était initié au collège.
    Le python n'est pas un langage simple à apprendre, c'est là où tu te trompes.

    Citation Envoyé par ProgramPro
    Le java/Javascrip est aussi un bon language pour les débutants
    Il ne faut pas dire n'importe quoi.
    C'est un langage qui nécessite d'avoir de bonnes bases en informatique, comme le 'C/C++' et n'est certainement pas un langage pour débutant.

    Citation Envoyé par OuftiBoy
    Sinon, pour l'apprentissage, ni java ni python ne sont de bons choix. Ils offrent trop de facilités.
    Je suis d'accord avec toi, mais trop de contraintes (ou permissifs) pour bien le maitriser.
    Un langage demande de la rigueur et quand on peut faire du n'importe quoi avec, il n'est plus pédagogique.

    Citation Envoyé par OuftiBoy
    Je pense que le 'C' est le bon choix pour démarrer, il est relativement simple, mais il faut faire attention.
    Non plus car trop typé pour avoir une bonne compréhension de ce qu'il fait.

    Citation Envoyé par OuftiBoy
    Commencer par un langage qui "facilité" trop la vie, c'est passé à côté des fondamentaux, et ils sont nécessaires.
    Pour les fondamentaux, je suis d'accord, mais un langage pour débutant doit être stricte dans son écriture et ne pas permettre des digressions.

    Citation Envoyé par OuftiBoy
    Pour finir, il ne faut pas croire qu'on peut passer d'un langage à l'autre aussi facilement que certains le pense, il faut des années pour bien maîtriser un langage, et le temps manque.
    Encore d'accord avec toi. Un langage est un mode de pensé, pas simplement une façon d'écrire un programme.

    @ Calvaire : es tu sérieux ?
    C'est comme dire qu'un langage pour débutant est le SMS.
    On voit par la suite les fautes d'orthographe et de syntaxes, pour la raison de ne pas maitriser les bases de la grammaire.
    Tout au contraire, utiliser l'IA va vous donner de très mauvaise habitude.

    Le premier apprentissage va consister à maitriser les organigrammes puis l'algorithmique.
    Comme premier langage d'apprentissage, je verrais bien l'assembleur.

  11. #71
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2015
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2015
    Messages : 570
    Par défaut Bonsoir
    :coucou; Artemus24,

    Citation Envoyé par Artemus24 Voir le message
    Le python n'est pas un langage simple à apprendre, c'est là où tu te trompes.
    Je suis d'accord avec cette remarque. Il ne faut pas confondre "simple à utiliser" et "simple à apprendre". Je fais du Python depuis des années maintenant (j'ai commencé avec la version 2.3), et pourtant il me reste 1000 choses a découvrir si je le veux. Mais (et je sais que je suis à contre-courant par rapport à d'autres concernant ce sujet), je n'utilise pas du tout le potentiel Python, j'en suis même très loin. J'utilise un sous-ensemble de Python, et je n'introduit dans mes programme une "nouvelle syntaxe" ou une "nouvelle fonctionnalité" non pas lorsqu'elle est disponible, mais quand j'en ai le "besoin". Sinon, courir derrière chaque "nouveauté" demande trop de temps.

    Citation Envoyé par Artemus24 Voir le message
    Je suis d'accord avec toi, mais trop de contraintes (ou permissifs) pour bien le maitriser.
    Un langage demande de la rigueur et quand on peut faire du n'importe quoi avec, il n'est plus pédagogique.
    Le 'C' a justement besoin de cette rigueur, c'est (selon mon expérience), un des langages les plus utilisé, qui offre une "balance" entre "facilité/courbe d'apprentissage/rigueur". Il offre de plus le moyen (si l'apprenti en ressent le besoin), de "descendre assez proche" du hardware, et de comprendre pourquoi certaines "choses" sont faites "d'une certaine manière". J'ai eu une fois un collègue, qui avait "apprit" a programmer avec C#. Il ne savait même pas ce qu'était une "stack", ni faire une différence entre "la stack" et "le heap". S'il était passé par le 'C' il aurait eu vent de ce genre de "détails" ;-)

    Citation Envoyé par Artemus24 Voir le message
    Non plus car trop typé pour avoir une bonne compréhension de ce qu'il fait.
    Là je ne suis pas d'accord, le "Typage" est un "concept" qu'il faut ABSOLUMENT maîtriser si on veut être un dev compétent. Celui du C n'est pas "parfait" pour l'apprentissage, mais dans la balance des langages que je connais, il a toute sa place pour être introduit à ce "concept".

    Citation Envoyé par Artemus24 Voir le message
    Pour les fondamentaux, je suis d'accord, mais un langage pour débutant doit être stricte dans son écriture et ne pas permettre des digressions.
    Je dirais oui et non, il doit être "strict" pour "forger" à l'apprenti une certaine rigueur, et si on se laisse aller à trop de digressions, le 'C' nous rappel bien vite à l'ordre. Plus j'y pense, plus je trouve qu'il n'y a pas de langage "parfait" pour "apprendre facilement" a programmer, car la programmation, ce n'est pas simple justement...

    Il y a surtout (de nos jours), une trop grande "barrière" entre celui qui veut "apprendre" et les "outils/environnements" disponibles. Ado, j'allumais mon C64, et 2 sec plus tard, je pouvais "programmer" en "BASIC". De nos jours, il faut installer ceci, où cela AVANT de pouvoir programmer. Le "choix" de "ceci ou cela" est extrêmement vaste, et face à "trop" de choix, c'est souvent une "paralysie" qui freine l'apprentissage.

    J'en profite (au passage), pour te dire que je suis sur un "projet" (The Homeputer Project), qui vise a recréer ce sentiment d'instantanéité qui a disparu. Mais je ne veux pas faire dévier le fil de cette discussions. Si cela t'intéresse, tu peux en discuter ici https://www.developpez.net/forums/d2...uveau-langage/

    Citation Envoyé par Artemus24 Voir le message
    Encore d'accord avec toi. Un langage est un mode de pensé, pas simplement une façon d'écrire un programme.
    Oui, mais malheureusement, ce "mode de pensée" n'est pas suffisamment mis en "avant", et pour des raisons qui m'échappent, il y a une "course aux fonctionnalités", des ajouts permanent intégrant telle ou telle "idée" ou "concepts", quitte a ce que certains "concepts" s'opposent dans certains langages.

    Je suis un adepte du "Less Is More" et du "Keep It Simple, Stupid". Un langage ne doit pas être une somme de fonctionnalités disparates, mais un ensemble "cohérent", limité, offrant des bases solides et limpides, dont le "code source" ne doit pas ressembler à un manuel de sorcier, mais au contraire être le plus lisible, simple, et compréhensible possible (PS: c'est un des points centrale de mon projet dont je donne le lien ci-dessus).

    Pour les plus jeunes, le logo peut être une bonne "introduction", car peu d'instructions et un "retour visuel rapide" (qui est motivant pour les plus jeunes), et reste "ludique".

    Citation Envoyé par Artemus24 Voir le message
    Tout au contraire, utiliser l'IA va vous donner de très mauvaise habitude.
    Parfaitement d'accord sur ce point. Ce n'est pas parce que j'appel un architecte, des maçons et tant d'autres "corps de métier", que je suis un "bâtisseur de maisons". Certains peuvent s'en passer, d'autres pas, cela dépend d'énormément de "variables", mais faire un programme en utilisant l'IA, ce n'est pas du développement, au mieux de l'assemblage, plus ou moins correcte, et pour que cet "assemblage" soit "validé", il faut les compétences de "bons" développeurs, sinon, c'est la cata à court, moyen ou long terme.

    Citation Envoyé par Artemus24 Voir le message
    Le premier apprentissage va consister à maitriser les organigrammes puis l'algorithmique.
    Comme premier langage d'apprentissage, je verrais bien l'assembleur.
    Oui, l'assembleur peut être un bon choix de départ, mais pas un assembleur "moderne", plus tôt l'assembleur d'un µcontrolleur. Mais c'est drôle que tu ne trouve pas le 'C' comme un bon langage pour apprendre, mais que tu proposes l'"assembleur".

    BàT et peace & love.

  12. #72
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 483
    Par défaut
    L'assembleur est intéressant mais quasi pas utilisé dans le monde du travail.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  13. #73
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2015
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2015
    Messages : 570
    Par défaut Certes, mais cela dépend du domaine...
    Christophe,

    Citation Envoyé par Christophe Voir le message
    L'assembleur est intéressant mais quasi pas utilisé dans le monde du travail.
    Dans le monde de l'embarqué (qui n'est pas un "petit marché", car il y' a plus de firmware dans tout nos appareils que de variante de linux ;-) ) C'est le C et même l'assembleur si ça permet d'utiliser un µControlleur même qlq centimes moyen cher. Il n'y a pas que des PC desktop, des"applications web" ou des smartphones. Même les 3 réunis ne sont rien par rapport au nombre de firmware et de petits microcontrolleurs qui nous entours sans même qu'on le sache.

    Et dans l'embarqué, c'est le 'C' ou l'assembleur à 99,99%, jamais du C++, Rust ou Java.

    BàT et Peace & Love.

  14. #74
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 483
    Par défaut
    Pour l'embarqué, j'avais cru comprendre que c'était plus du C maintenant.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  15. #75
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2015
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Mai 2015
    Messages : 570
    Par défaut ça dépend...
    Christophe,

    Citation Envoyé par Christophe Voir le message
    Pour l'embarqu", j'avais cru comprendre que c'était plus du C maintenant.
    Oui, c'est majoritairement du C depuis 10 ans environ, car des compilateurs sont "au point" maintenant, mais j'ai dû faire entrer au chose pied une "nouvelle fonctionnalité", et il restait 2 bytes de ROM. C'était un peu juste, et j'ai dû réécrire certaines routines en assembleur, pour éviter des appels de fonctions, regagner un peu d'espace, et ajouter la fonctionnalité. Si je me souvient bien, c'était sur un minuscule µControlleur PIC de chez "microship" (qu'on appelait entre-nous microchipote, car on a eu une ribambelle de soucis avec leur "compilateur maison", qu'ils ont "réécrit", mais avec toujours "parfois" (moins souvent), des erreurs dans le code assembleur générer. Quand ça te tombe sur le coin de la figure un vendredi à 16h, et que la production est stoppée en attendant le nouveau firmware, tous les yeux sont braqués sur toi, car chaque minute de "production" perdue peu vite coûter énormément d'argent.

    Il y'a toute une base de "legacy C" enfouie au fond du fond d'un minuscule contrôleur, et il faut savoir jongler avec différents "assembleur" et/ou compilateur C (dont un d'une certaine marque que je ne citerait pas).

    Là, tout d'un coups, tu n'es plus considérer comme un pisseur de code, et tous les supérieurs te chouchoute, car si tu n'as pas bien vite une solution, c'est leur bonus de fin d'année qui va leur passé sous le nez. Tu es enfin "reconnu" pour ta compétence, mais bon, les (mauvaises) habitudes reviennent vite par la suite.

    Mais c'est vrai que pour les nouveau produits, comme on en demande toujours plus (IoT et tout le toin-toin), les µC sont plus "gros" et des outils du genre de chez "IAR" (qui sont chers, mais valent la peine) sont au point maintenant. On ne démarre plus de produit sans un mini RTOS (j'ai du batailler dix ans pour faire comprendre que ces derniers apportaient des gains et des avantages), et on utilise des µC qui ont la "capacité" de supporter un C 'Ansi' (mais pas les dernières normes, qui ne nous apporterait rien de toute façon).

    On est loin du Java ou du Python. D'ailleurs, si un "jeune" veux vite et bien gagner sa vie, je lui conseillerais le COBOL, car il reste peu de développeur le connaissant, alors qu'il est toujours "massivement" utilisé dans le domaine bancaire. Ils ont tenté 2x de réécrire la base de code de tout un pan de géré par du code COBOL, mais ça n'a jamais donner de résultat, car il y'a plein de minuscules détails (dans le code en COBOL), auquel un dév Java ou C# n'y comprend rien. Et faut pas compter sur la documentation datant de 40 ans, si par miracle quelqu'un la retrouve au fin fond des archives...

    De même, il y a encore énormément d'application DOS utilisées, car un écran en mode texte, quelque raccourcis clavier bien choisit, c'est tout simplement plus pratique qu'une application web ou clicodrome.

    Voilà, voilà, c'est "un peu" de mon expérience, particulière je le concède, mais intéressante (c'est mon avis, personne n'est obligé de le partager).

    BàT et Peace & Love.

  16. #76
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    7 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 7 333
    Par défaut
    @ OuftiBoy : nous avons quelques divergences et c'est tout à fait normal.

    a) il faut commencer par un langage stricte, c'est-à-dire qui admet qu'une seule façon d'écrire les instructions pour inculquer de la rigueur dans le développement.

    b) oui, le typage est important, mais il faut y aller progressivement et ne pas fournir un langage qui soit trop compliquer à maitriser pour des débutants.

    Citation Envoyé par Ouftiboy"
    Plus j'y pense, plus je trouve qu'il n'y a pas de langage "parfait" pour "apprendre facilement" a programmer, car la programmation, ce n'est pas simple justement...
    Tu as résumé mon état d'esprit sur l'apprentissage d'un langage pour débutant.
    A notre époque, le cobol datait des années 68 et était simple à pratiquer. Tout comme le fortran, l'algol, le pl1 ...
    Aujourd'hui, rien de comparable et c'est dommage car c'était formateur de ne pas pouvoir tout faire facilement avec ces langages disons élémentaires.

    c) pour le mode de pensé, il n'y a pas que la programmation séquentielle, mais aussi la programmation événementielle ou déclarative.

    Disons que plus un langage est complexe et moins le développeur fait des efforts. Il est donc contre productif pour un apprentissage de fournir ce type de langage.

    Citation Envoyé par Christophe
    L'assembleur est intéressant mais quasi pas utilisé dans le monde du travail.
    Parce que les contraintes ont changé. Jadis, il y avait très peu de RAM (60 Mega) et elle coutait très cher, et le temps d'exécution tournait plutôt à 1 mega. D'où la nécessité d'optimiser ses programmes, qui n'ont plus aucune raison d'être aujourd'hui. Encore que, j'ai vu jadis des programmes tourner pendant des heures parce que très mal écrit.

    Citation Envoyé par Christophe
    Pour l'embarqué, j'avais cru comprendre que c'était plus du C maintenant.
    Je confirme que le langage le plus utilisé pour l'embarqué est bien le C (>60% des projets).
    Sinon après, il y a le Micro Python, mais je ne l'utilise pas.

Discussions similaires

  1. Quels langages de programmation utilisez-vous pour Arduino ?
    Par Michael Guilloux dans le forum Arduino
    Réponses: 13
    Dernier message: 21/04/2020, 22h33
  2. Dans quels langages de programmation seriez-vous prêt à vous investir en 2017 ?
    Par Community Management dans le forum Langages de programmation
    Réponses: 70
    Dernier message: 21/02/2020, 20h14
  3. Quels sont les langages de programmation que vous détestez le plus, et pourquoi ?
    Par Community Management dans le forum Langages de programmation
    Réponses: 214
    Dernier message: 31/08/2017, 11h38
  4. Sondage : quels sont les langages de programmation que vous maîtrisez ?
    Par Michael Guilloux dans le forum Débats sur le développement - Le Best Of
    Réponses: 81
    Dernier message: 27/03/2017, 10h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo