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

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

La capacité de réflexion d’un programmeur serait influencée par son 1er langage ou celui qu’il utilise le plus


Sujet :

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

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 875
    Points : 86 930
    Points
    86 930
    Billets dans le blog
    2
    Par défaut La capacité de réflexion d’un programmeur serait influencée par son 1er langage ou celui qu’il utilise le plus
    La capacité de réflexion d’un programmeur serait influencée par son premier langage ou celui qu’il utilise le plus
    Partagez-vous cet avis ?

    Un langage de programmation, par sa structure et ses paradigmes, peut influencer la manière dont un programmeur peut penser, mais également définir les autres langages qu’il peut apprendre facilement et ceux auxquels il ne va jamais s’adonner. Il faut entendre par paradigme d’un langage, un style fondamental de programmation informatique qui traite de la manière dont les solutions aux problèmes doivent être formulées dans ce langage de programmation.

    Parmi les principaux paradigmes, on peut citer la programmation orientée objet, la programmation fonctionnelle, la programmation impérative, la programmation relationnelle, la programmation déclarative, etc., y compris des paradigmes dérivés. Certains langages sont conçus pour supporter un paradigme (le cas de Java qui supporte la programmation orientée objet, tandis que Haskell supporte la programmation fonctionnelle), alors que d’autres supportent des paradigmes multiples (à l’image de C++ qui supporte la programmation procédurale, la programmation orientée objet et la programmation générique).

    D’après Sharon Fisher, éditrice du blog Simplicity 2.0, tout cela entraine le fait que le premier langage de programmation appris ou votre langage de programmation préféré peuvent changer votre manière de penser et vous inculquer certaines habitudes de programmation. Ces habitudes vous lient dès lors à un certain nombre de langages que vous pouvez facilement apprendre alors que rejetez d’autres. D’ailleurs, Edsger Dijikstra, lauréat du prix Turing en 1975, pense la même chose.

    « Les outils que nous utilisons ont une influence profonde (et sournoise) sur notre manière de penser et, par conséquent, sur nos capacités de réflexion », a-t-il écrit. Et d’ajouter qu’il est « pratiquement impossible d'enseigner la bonne programmation aux étudiants qui ont eu une exposition antérieure au BASIC : en tant que programmeurs potentiels, ils sont mentalement mutilés, au-delà de tout espoir de régénération ». Il estime encore que l’on devrait bannir l’enseignement de COBOL pour l’influence négative que ce langage pourrait avoir sur la manière de penser des développeurs : « L'utilisation de COBOL estropie l'esprit ; son enseignement devrait, par conséquent, être considéré comme une infraction pénale ».

    D’après Sharon Fisher, une personne dont le premier langage de programmation a été APL réfléchit de la même manière que quelqu'un dont le premier langage a été COBOL ou l'assembleur. Pour aller dans le même sens de la déclaration d’Edsger Dijikstra sur l’impact des outils que nous utilisons, Fisher explique qu’une personne qui a commencé son apprentissage des outils informatiques avec Microsoft Excel y sera tellement accrochée qu’elle aura tendance à l’utiliser pour tout faire, même les bases de données.

    À propos de cette dépendance au premier langage que l’on a appris ou à son langage de programmation préféré, elle illustre son idée par bien d’autres exemples, comme le fait que les « programmeurs C utilisent C ++ simplement comme un meilleur C ». En ce qui concerne les programmeurs du langage de scripts JavaScript, elle soutient qu’ils « manquent totalement à la fois le côté fonctionnel et le côté objet orienté ». Et d’ajouter que « les programmeurs Clojure/Scala programment fondamentalement en Java avec une syntaxe légèrement modifiée ».

    Ce point de vue serait également vérifié de manière inverse. Certaines personnes peuvent en effet ne pas être en mesure de savoir comment résoudre un problème tout simplement parce que le langage qu'ils utilisent ne supporte pas le concept permettant de le faire, poursuit Sharon Fisher. Elle conclut donc ici que « nos pouvoirs créateurs sont limités par les idées qui peuvent être exprimées dans le langage de programmation que nous utilisons » et certaines solutions sont tout simplement « hors de notre portée parce qu'elles ne peuvent pas être clairement exprimées dans ces langages ».

    Source : Sharon Fisher

    Et vous ?

    Qu’en pensez-vous ? Partagez-vous l’avis de Sharon Fisher ? Pourquoi ?
    D’après vous, quels sont les langages qui pourraient avoir une mauvaise influence sur la capacité des programmeurs à résoudre certains problèmes dans d’autres langages ? Illustrez votre point de vue avec des cas concrets.
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 552
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 552
    Points : 15 463
    Points
    15 463
    Par défaut
    Un sujet aussi trollatoire, c'est réservé au Vendredi traditionnellement.

    Oui un langage pratiqué de manière monomaniaque peut considérablement diminuer nos capacité de réflexion, mais non ça n'a rien d'irrémédiable. Ça dépend seulement de l'ouverture et de la volonté du programmeur.

  3. #3
    Membre chevronné Avatar de Jbx 2.0b
    Homme Profil pro
    Développeur C++/3D
    Inscrit en
    Septembre 2002
    Messages
    476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur C++/3D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2002
    Messages : 476
    Points : 1 889
    Points
    1 889
    Par défaut
    il est « pratiquement impossible d'enseigner la bonne programmation aux étudiants qui ont eu une exposition antérieure au BASIC : en tant que programmeurs potentiels, ils sont mentalement mutilés, au-delà de tout espoir de régénération. »
    Ça me parait un peu exagéré quand même. J'ai pour ma part appris le BASIC entre 10 et 12 ans sur on Atari ST, et je crois que ça a été plutôt bénéfique. Pourtant, moi et mon cerveau mutilé, on a pas recodé avant 18 ans, ou j'ai alors appris successivement le C, le C++, le Python et un peu plus tard le Java et le Javascript, tout en jouant un peu avec d'autres langages (C#, ASM, PHP...) à l'occasion.

  4. #4
    Expert confirmé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 065
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 065
    Points : 4 229
    Points
    4 229
    Par défaut
    Je ne trouve pas que cet article soit faux, venant du C♯ quand je fais du JS j'ai tendance à conceptualiser ça comme si je faisait du C♯.

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 620
    Points
    620
    Par défaut
    Je me sens pas concerné par cet article et je pense que la plupart des gens ici non plus.

    Lorsque j'ai commencé à programmer, c'était en Locomotive Basic.
    Mais les principales limitations : la programmation monolithique, le manque de structuration (GOTO et GOSUB seulement).
    Lorsque Turbo PASCAL m'est apparu, je l'ai accueilli comme une bénédiction. Ces limitations levées, on pouvait envisager des projets plus consistants. Locomotive Basic n'était taillé que pour pour se substituer au langage shell.
    Mais Turbo Pascal était bien incapable de faire de la programmation système. Je me suis mis à l'assembleur Z80.
    Puis fasciné par l'IA, je me suis mis au Prolog.
    Lorsque la programmation orientée objet s'est popularisée fin années 80 et que C++ est arrivé, ma curiosité m'a poussé à apprendre ce langage. J'avais 17 ans. C'était l'année du bac.
    La factorisation du code et la modélisation abstractive par classe était si pratique que j'ai abandonné Pascal.
    Etc, etc, ...

    Donc, pour moi, l'article est en contradiction avec ce que recherche constamment un artisan normalement constitué : employer l'outil le plus performant pour accomplir son projet dans les meilleures conditions.

    Il est bien vain de faire de son expérience ou peut-être même son ressenti, une généralité dans un sens comme dans l'autre.
    En tous cas, ce qui est dit dans cet article n'est sans doute pas bien scientifique.
    Elle se base sur l'expérience vécue ressentie. Cette thèse mériterais d'être étayée par une étude sérieuse si on ne connaissait pas la plasticité du cerveau et ses facultés d'adaptation.

    PS : Je pense que Dijikstra est un vieil universitaire réact et méprisant envers ses étudiants. Il est écœurant.

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Je pense que l'influence du premier langage est très exagérée. Le premier langage que j'ai appris était BASIC, ce n'est pas pour autant que j'écris du code spaghetti à base de GOTO (et je ne crois pas être « mentalement mutilés, au-delà de tout espoir de régénération. »). J'ai ensuite fait du Pascal, ce n'est pas pour autant que je ne sais écrire que du code procédural ; j'ai appris la POO sans difficulté particulière.

    L'influence du langage préféré, par contre, est réelle à mon avis. Je fais surtout du C#, et c'est clair que ça m'influence quand j'utilise un autre langage. Ça ne m'a pas empêché d'apprendre des langages fonctionnels (Haskell ou F#), mais c'est vrai que j'ai tendance à aborder les problèmes d'une façon plus impérative que fonctionnelle, et que ça demande un effort de les traiter de façon fonctionnelle. D'ailleurs je pense que c'est un excellent exercice d'apprendre un paradigme complètement différent, ça fait travailler l'agilité d'esprit.

  7. #7
    Membre confirmé
    Profil pro
    Développeur informatique
    Inscrit en
    Mai 2012
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2012
    Messages : 163
    Points : 624
    Points
    624
    Par défaut
    Citation Envoyé par captaindidou Voir le message
    Je me sens pas concerné par cet article et je pense que la plupart des gens ici non plus.
    ...
    Il est bien vain de faire de son expérience ou peut-être même son ressenti, une généralité dans un sens comme dans l'autre.
    Cherchez la contradiction...

    Citation Envoyé par captaindidou Voir le message
    PS : Je pense que Dijikstra est un vieil universitaire réact et méprisant envers ses étudiants. Il est écœurant.
    C'est ta remarque que je trouve écoeurante. Déjà la citation de Dijkstra date de plusieurs décénnies donc je ne vois vraiment pas pourquoi tu le qualifies de vieux réac. De plus, il critique un système et non des personnes alors en quoi est-ce méprisant pour ses étudiants ?

  8. #8
    Membre confirmé
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Décembre 2014
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Décembre 2014
    Messages : 144
    Points : 522
    Points
    522
    Par défaut
    Les affirmations de Sharon Fisher devraient être soutenues par des arguments de psychologie cognitive, non ? La plasticité cérébrale ne meurt pas après l'apprentissage d'un premier langage informatique...

  9. #9
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2014
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2014
    Messages : 70
    Points : 180
    Points
    180
    Par défaut
    Citation Envoyé par Michael Guilloux Voir le message
    Certaines personnes peuvent en effet ne pas être en mesure de savoir comment résoudre un problème tout simplement parce que le langage qu'ils utilisent ne supporte pas le concept permettant de le faire, poursuit Sharon Fisher. Elle conclut donc ici que « nos pouvoirs créateurs sont limités par les idées qui peuvent être exprimées dans le langage de programmation que nous utilisons » et certaines solutions sont tout simplement « hors de notre portée parce qu'elles ne peuvent pas être clairement exprimées dans ces langages ».
    Ce qu'elle explique est totalement vrai quand on l'applique aux langues vivantes. On peut empêcher une population de réfléchir si on lui ôte les mots appropriés (c'est d'ailleurs une forme de dictature subtile, mais très efficace).
    Néanmoins, pour la programmation, je pense qu'à part des réflexes amoindris dans les domaines moins abordés (fonctionnel pour la POO...), un codeur sera toujours un codeur, et ce n'est pas parce que l'on a appris à coder avec du BASIC, que l'on est incapable de coder correctement ! Notre langage de programmation ne définit pas notre manière de fonctionner !
    Nous serons en danger le jour où les machines seront capable de glander.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par Michael Guilloux Voir le message
    « Les outils que nous utilisons ont une influence profonde (et sournoise) sur notre manière de penser, et, par conséquent, sur nos capacités de réflexion », a-t-il écrit. Et d’ajouter qu’il est « pratiquement impossible d'enseigner la bonne programmation aux étudiants qui ont eu une exposition antérieure au BASIC : en tant que programmeurs potentiels, ils sont mentalement mutilés, au-delà de tout espoir de régénération. » Il estime encore que l’on devrait bannir l’enseignement de COBOL pour l’influence négative que ce langage pourrait avoir sur la manière de penser des développeurs : « l'utilisation de COBOL estropie l'esprit ; son enseignement devrait, par conséquent, être considéré comme une infraction pénale », dit-il.
    J'avoue que sur cette partie, j'ai ri…

    Pour le reste, c'est malheureusement vrai… Quiconque fait de la formation et a en face de lui des développeur sur une autre techno sait qu'il rejoue la scène de Yoda et Luke et va passer du temps à rappeler comment développer avec cette techno et non comment développer avec la techno connue en utilisant la syntaxe de la techno enseignée…

    Et c'est bien le problème des devs : ils ont beaucoup de mal à sortir de leur zone de confort. Surtout avec les technos proches. Le nombre de projets Grails (donc Groovy) que j'ai vu torturés par des devs Java qui voulaient faire du Java/Frameworks au lieu de Grails/Groovy…

  11. #11
    Expert éminent
    Avatar de Matthieu Vergne
    Homme Profil pro
    Consultant IT, chercheur IA indépendant
    Inscrit en
    Novembre 2011
    Messages
    2 261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant IT, chercheur IA indépendant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 2 261
    Points : 7 748
    Points
    7 748
    Billets dans le blog
    3
    Par défaut
    Deux choses :
    - oui, quand on connaît quelque chose, il est toujours plus simple/facile de s'y référer pour apprendre de nouvelles choses, parce qu'on construit mieux sur des concepts maîtrisés que sur des concepts pas encore compris.
    - non, cela ne rend pas incapable d'apprendre autre chose, ni de raisonner autrement.

    De la même manière que quand on apprend le français, on pense en français, et quand on apprend une nouvelle langue, on le fait en comparant avec le français. Si pour apprendre l'anglais ou l'espagnol ça marche plutôt bien, pour apprendre le japonais c'est un gageure, et de là on se met à croire que le japonais est super compliqué. Apprenez-le de zéro, et tout de suite c'est beaucoup plus logique, car on ne construit plus sur des concepts inadaptés au langage.

    C'est la même chose pour les langages de programmation, et de manière plus générale pour tout apprentissage : apprenez une chose, puis apprenez-en une autre sur la base de celle-ci. Si c'est effectivement dans le prolongement, ça rentrera tout seul, sinon ça paraîtra complètement illogique. Cela ne veut pas dire pour autant que le nouveau concept ne peut pas être appris/maîtrisé : il s'agit juste de revenir aux fondamentaux. Mais comme ça demande plus de temps et d'efforts de recommencer de zéro, certains préfèrent ne pas "perdre leur temps" là-dessus, et de là on en sort une idée biaisée d'incapacité à réfléchir autrement.

    Bref, pas grand chose de neuf vis a vis de ce qui a été dit plus haut : ne pas confondre capacité et volonté. Dès lors qu'on gagne en expertise quelque part, c'est avec les biais qui vont avec. Si on veut s'en défaire, il s'agit avant tout de se rendre compte de ces biais et de revenir aux fondamentaux pour recommencer sur une bonne base.
    Site perso
    Recommandations pour débattre sainement

    Références récurrentes :
    The Cambridge Handbook of Expertise and Expert Performance
    L’Art d’avoir toujours raison (ou ce qu'il faut éviter pour pas que je vous saute à la gorge {^_^})

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 106
    Points : 311
    Points
    311
    Par défaut
    Pour ma part, j'ai commencé par du QBasic sur Windows 3.1 vers 10 ans et j'ai trainé ça jusqu'au lycée avec les programmes sur calculatrice.
    Lorsque j'ai débuté les études en informatiques et j'ai appris le C, où on a du me rabâcher que le GOTO, c'est le mal. Une fois cette mauvaise habitude passée, le reste est venu tout seul, et j'ai pu mieux m'adapter aux autres langages enseignés comme le C#, Java ou Ruby.
    Maintenant, dans le monde professionnel, je touche quatre langages quotidiennement : le Java, le Golang, le C et le JavaScript. Chacun influence les autres : j'ai tendance à penser POO pour le C et le Golang et j'ai tendance à optimiser à l'octet prêt quand je fais du Java (ce qui est parfois pas un moindre mal sur des applis très lourdes).
    Je ne serais pas aussi radical que le gars de l'article mais chaque langage que l'on connait influe notre façon de penser, et parfois, on doit bien s'en tenir aux concepts lorsque l'on doit sauter d'un langage à l'autre régulièrement, et je m'en sors plutôt pas mal ^^

    (Bon, je suis toujours imperméable à la programmation asynchrone d'AngularJS mais je m'accroche :p )

  13. #13
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Y'a du bon et du moins bon dans cet article.

    Je pense que pratiquer intensivement un langage fait qu'on aura besoin d'un temps d'adaptation pour bien en prendre en main un autre (j'ai eu ça quand je suis passé du C au C# ... puis quand je suis revenu au C).

    Par contre le coup du BASIC (ou COBOL, mais j'y ai jamais touché) qui "mutile" les cerveaux des dev' c'est juste du n'importe quoi. Comme beaucoup de ma génération j'ai commencé avec le BASIC au milieu des années 80. Ça m'a pas empêché de coder, a priori proprement, dans une foultitude de langages par la suite (même si y'en a que j'aime pas trop).

    NB : "capacité de réflexion" ça me plait moyen, "manière de réfléchir" irait mieux. C'est pas parce qu'un développeur commence par tel ou tel langage qu'il n'a pas la "capacité" d'attaquer tel ou tel autre, juste qu'il aura dans un premier temps une approche qui ne colle pas parfaitement.
    Plus je connais de langages, plus j'aime le C.

  14. #14
    Membre éprouvé
    Homme Profil pro
    Everything
    Inscrit en
    Décembre 2013
    Messages
    361
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Italie

    Informations professionnelles :
    Activité : Everything

    Informations forums :
    Inscription : Décembre 2013
    Messages : 361
    Points : 1 277
    Points
    1 277
    Par défaut
    Il est évident que notre mode de penser est influencés par les langages que nous connaissons le mieux.

    Je dirais même que c'est vrai pour tous les langages; lorsque je dois parler Néerlandais mon mode de pensée diffère que lorsque j'utilise l'Italien.

    Après c'est une question d'effort de volonté pour explorer de nouveaux concepts. Plus l'on vieillit et plus l'on a tendance a utiliser son expérience passée pour résoudre un problème. Tomber dans l’inconnu des choses nouvelles demande un apprentissage et donc une dépense cérébrale plus importante que d'aller lascivement piocher dans les tréfonds de notre mémoire.
    Ceux qui abandonnent une liberté essentielle pour une sécurité minime et temporaire ne méritent ni la liberté ni la sécurité.
    Benjamin Franklin

  15. #15
    Expert confirmé Avatar de sergio_is_back
    Homme Profil pro
    Responsable informatique, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Responsable informatique, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 076
    Points : 5 541
    Points
    5 541
    Par défaut
    Même si le premier langage de programmation peut avoir une influence sur la façon d'aborder un problème par la suite je pense que
    le principal handicap de certains développeurs vient plutôt du manque de bonnes bases. Quand je vois que certains ne savent
    même pas faire un masque sur un octet...

    Pour ma part je viens de l'automatisme et à l'époque la capacité mémoire des machines était très réduite et les processeurs
    très lents, il fallait apprendre pour programmer correctement à découper son programme en action élémentaires qui
    s'enchainait de façon logique, à ne pas multiplier les variables, à bien synchroniser les grafcet, bref à penser en termes
    fonctionnels. Poser un problème et le résoudre d'une manière efficace en tenant compte de l'environnement

    Je trouve que cela donne un mode de pensée qui permet ensuite de s'attaquer à plus gros tout en essayant de s'abstraire
    du langage. Aujourd'hui la plupart des langages (hors spécialisés) permettent de quasiment de tout faire et si le langage
    ne permet de faire certaines choses en natif, il existe souvent des framework, la possibilité d'utiliser des DLL, de combiner
    plusieurs langages...

    Pour ma part je suis venu à l'informatique par le BASIC qui est un bon langage d'apprentissage même si il donne pas de bonnes
    habitudes de codage (encore que cela dépend de celui qui vous l'enseigne), j'ai aussi fait du LOGO qui est excellent pour apprendre
    le coté réutilisable de la programmation puis de l'assembleur, du Pascal (j'en fait encore), de la programmation en langage propriétaire
    avec un RAD qui s'appelait Omnis 7 puis Omnis studio, du C, du C++, du Java, du Python, etc... Je me suis toujours senti à
    l'aise avec ces langages sans doute à cause de mon parcours en automatisme qui a précéder...

    Et j'ajouterai que plus le langage, la façon dont on vous l'enseigne et la qualité de l'enseignant est également importante !

  16. #16
    Expert confirmé Avatar de sergio_is_back
    Homme Profil pro
    Responsable informatique, développeur tout-terrain
    Inscrit en
    Juin 2004
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Responsable informatique, développeur tout-terrain
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 076
    Points : 5 541
    Points
    5 541
    Par défaut
    Citation Envoyé par JCD_31 Voir le message
    où on a du me rabâcher que le GOTO, c'est le mal.
    Le mal comme dans bien des choses est dans l'excès pas dans l'emploi parcimonieux et bien ciblé
    même si dans la plupart des cas tu faire sans si ton code est bien factorisé

    Je n'aime pas dire que telle façon faire est mal et que telle façon est bonne, cela dépend du langage, de la plateforme,
    de la capacité mémoire, je travaille souvent avec des dispositif embarqués qui n'ont que quelques ko de mémoire et
    il faut parfois recourir à des artifices que l'emploierait pas sur un gros serveur avec des gigas de mémoire....

  17. #17
    Membre habitué Avatar de bclinton
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 47
    Points : 152
    Points
    152
    Par défaut
    Je suis seulement d'accord avec la partie de l'article qui dit qu'on a tendance à orienter sa conception en fonction de sont langage favori, le mieux maîtrisé, le plus pratiqué.

    Mais le fait d'avoir débuté avec un langage n'empêche en rien de bien en maîtriser un autre. C'est une discussion digne du dredi.

  18. #18
    Inactif  
    Profil pro
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 620
    Points
    620
    Par défaut
    Citation Envoyé par zobal Voir le message
    Cherchez la contradiction...
    Sur les 13 interventions, en voici 8 citées :

    Citation Envoyé par jopopmk
    Comme beaucoup de ma génération j'ai commencé avec le BASIC au milieu des années 80. Ça m'a pas empêché de coder, a priori proprement, dans une foultitude de langages par la suite
    Citation Envoyé par Mc geek
    Notre langage de programmation ne définit pas notre manière de fonctionner !
    Citation Envoyé par jopopmk
    C'est pas parce qu'un développeur commence par tel ou tel langage qu'il n'a pas la "capacité" d'attaquer tel ou tel autre
    Citation Envoyé par Matthieu Vergne
    non, cela ne rend pas incapable d'apprendre autre chose, ni de raisonner autrement.
    Citation Envoyé par joublie
    La plasticité cérébrale ne meurt pas après l'apprentissage d'un premier langage informatique...
    Citation Envoyé par tomlev
    Je pense que l'influence du premier langage est très exagérée.
    Citation Envoyé par Jbx 2.0b
    Ça me parait un peu exagéré quand même.
    Citation Envoyé par bclinton
    le fait d'avoir débuté avec un langage n'empêche en rien de bien en maîtriser un autre.
    Donc, oui, je confirme qu'il n'y a aucune contradiction. Par contre, il semble qu'on ait tenu à vous contredire.


    Citation Envoyé par zobal Voir le message
    C'est ta remarque que je trouve écoeurante. Déjà la citation de Dijkstra date de plusieurs décénnies donc je ne vois vraiment pas pourquoi tu le qualifies de vieux réac. De plus, il critique un système et non des personnes alors en quoi est-ce méprisant pour ses étudiants ?
    Quel système ????
    Ce n'est pas le cursus universitaire ni scolaire qu'il met en cause mais bien le cerveau des étudiants qui ont eu "l'imprudence" d'apprendre le BASIC au préalable...
    Et d'après ce que l'on en dit sur ce fil, c'est largement exagéré.

    Et vous, vous considérez qu'une critique de ma part sur cet homme dont beaucoup ici sinon ne condamnent, du moins réprouvent les propos est plus choquante que ses déclarations méprisantes à l'endroit des capacités cognitives de ses étudiants ? Pour ma part, que vous me trolliez ne m’écœure pas pour autant. Alors, je ne vois pas pourquoi une simple critique envers ce monsieur vous écœure... Pardonnez-moi mais j'en suis stupéfait.

    S'il avait étudié la psychologie cognitive, il aurait remarqué, par exemple, qu'en situation de stress intense, le cerveau ré-adopte des réflexes instinctifs occultant les compétences fraîchement acquises.
    C'est pourquoi, par exemple, les pilotes sont entraînés dans des conditions stressantes, de même pour les soldats pour éviter un tel écueil qui leur serait sûrement fatal.

    De toute façon, c'est dans la droite ligne de l'apprentissage de constater un temps d'adaptation. Mais de là à dire que le cerveau de ces étudiants est mutilé ... Il faut être d'une grande mauvaise foi et d'un grand mépris pour les capacités cognitives de ses élèves, croyez-moi. C'est pourquoi, je l'ai logiquement qualifié de réac. Ne vous en déplaise.

  19. #19
    Membre du Club
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Octobre 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2013
    Messages : 18
    Points : 59
    Points
    59
    Par défaut
    Personnellement, aillant commencé très tôt sur du PHP j'ai aujourd'hui tendance à vouloir optimiser au maximum mon code et sa synthaxe, PHP étant tellement permissif qu'il était nécessaire d'être rigoureux sur ce plan là.

  20. #20
    Membre averti Avatar de guigz2000
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    100
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 100
    Points : 336
    Points
    336
    Par défaut nawak
    Je suis mal barré : J'ai commencé par le basic sur mon amstrad cpc, puis l'assembleur x86.
    Ceci dit, tous les languages ont pour finalité de produire du code assembleur, donc on peut les considérer comme des surcouches et en déduire qu'on peut faire tous les types de programmation avec l'assembleur.

    En fait un language limite effectivement l'expressivité, mais en aucun cas ne limite la réflexion pour bien structurer son code.
    On peut faire de la programmation objet en C, meme si le language ne le facilite pas.
    L'algorithmique et les design patterns peuvent être utilisés avec n'importe quel language.

    Pour moi ,la bonne programmation n'est pas liée au langage mais a la manière de formaliser, decomposer et structurer les operations a effectuer.
    Le language n'est qu'un outil pour simplifier/automatiser certaines formalisations.

Discussions similaires

  1. La profession du programmeur serait-elle la plus déprimante de toutes ?
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 73
    Dernier message: 31/03/2014, 17h31
  2. Réponses: 21
    Dernier message: 10/01/2012, 12h33
  3. L’adoption du Cloud serait freinée par l’organisation des entreprises
    Par Hinault Romaric dans le forum Cloud Computing
    Réponses: 4
    Dernier message: 22/02/2011, 20h32
  4. Réponses: 19
    Dernier message: 25/08/2010, 15h51
  5. Compter le nombre de caractères d’un fichier txt importé par LoadVars
    Par boz_j dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 28/08/2009, 23h11

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