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

  1. #1
    Expert éminent sénior
    Avatar de Katleen Erna
    Profil pro
    Inscrit en
    juillet 2009
    Messages
    1 547
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2009
    Messages : 1 547
    Points : 75 846
    Points
    75 846
    Par défaut "Apprendre un langage de programmation c'est comme apprendre une nouvelle langue" : vrai ou faux ?
    "Apprendre un langage de programmation c'est comme apprendre une nouvelle langue" : vrai ou faux ?

    Apprendre un langage de programmation, c'est comme apprendre un autre langage. C'est pareil.

    Voilà le genre d'analogie qui l'on peut entendre et lire très fréquemment. Même des professeurs d'informatique emploient de tels propos.

    Mais vous, qu'en pensez-vous ?

    Je connais par exemple certains développeurs très doués pour jongler d'une langage à l'autre, mais qui par ailleurs sont inconpétents lorsqu'il s'agit d'apprendre une langue étrangère (la plus facile soit elle).

    Les différences entre langages formels et naturels sont en effet de taille.

    Deux camps s'affrontent ici : ceux qui pensent que le C++ s'apprend comme l'anglais ou l'allemand ; et ceux qui pensent que le C++ s'apprend plutôt comme le solfège et l'écriture des partitions.

    Alors, selon vous, apprendre un langage de programmation, c'est comme apprendre une langue étrangère ?

  2. #2
    Membre régulier
    Inscrit en
    juillet 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 62
    Points : 92
    Points
    92
    Par défaut
    Je ne dirais pas que c'est la même chose, mais le principe de base est le même: apprendre un vocabulaire de base et des règles syntaxiques pour accorder une sémantique à l'ensemble.

  3. #3
    Membre actif
    Inscrit en
    février 2006
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : février 2006
    Messages : 72
    Points : 210
    Points
    210
    Par défaut
    C'est faux : il est beaucoup, beaucoup, beaucoup plus facile d'apprendre un nouveau langage de programmation de même "typologie" qu'une nouvelle langue. En ce sens l'effort n'est pas du tout le même.
    Par contre apprendre un langage basé sur un autre paradigme (de l'object quand on vient du procédural, un langage impératif comme lisp quand on vient de l'objet, etc.) n'est pas du tout pareil que d'apprendre une nouvelle langue non plus (il n'y a pas que la grammaire et le vocabulaire qui changent ;..).

  4. #4
    Membre régulier
    Inscrit en
    juillet 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 62
    Points : 92
    Points
    92
    Par défaut
    Au cours de mes études, on m'a toujours présenté la programmation (qu'elle soit impérative, déclarative, fonctionnelle, logique, ...) comme un dialogue entre le développeur et la machine.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : janvier 2008
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    C'est completement faux, on ne peut pas comparer. Pour utiliser un langage de programmation, il faut grand maximum 20 mots clef, et encore je suis large. Pour une langue, il faut minimum 1500 voir 2000 mots pour tenir une conversation. Certe, il y a une grammaire, une syntax, un vocabulaire et une logique mais ce n'est pas comparable.
    Quelqu'un sachant programmer peut apprendre un nouveau langage en moins d'1 heure, un traducteur parlant 5 langue ne peut pas apprendre une 6eme langue en moins de plusieurs mois.

  6. #6
    Membre régulier
    Inscrit en
    juillet 2008
    Messages
    62
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 62
    Points : 92
    Points
    92
    Par défaut
    J'ai pas dit que c'était la même chose, juste qu'il y avait des bases communes. Dire que 1 heure suffit à apprendre un nouveau langage de programmation, c'est valable uniquement dans le cas ou le programmeur connait la paradigme de programmation et un langage avec une syntaxe proche.
    Sur une langue naturelle, l'effort de mémorisation est plus grand (ne serait-ce que pour le vocabulaire plus vaste) et ça nécessite moins de logique; mais il y a quand même un bon nombre de points communs.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    décembre 2009
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2009
    Messages : 39
    Points : 52
    Points
    52
    Par défaut
    Bonsoir,

    il faudrait tout d'abord se mettre d'accord sur le sens accordé (dans ce sujet) au mot "langage".

    - S'il ne sagit que dudit langage de programmation, c'est à dire son vocabulaire et sa grammaire, ceux-ci étant extrêmement réduits (pour la plupart des langages : une vingtaine de mot et très peu de règles), alors apprendre un langage de programmation est une chose ô combien facile, aussi simple qu'une vulgaire poésie.
    Cela n'a donc RIEN à voir avec un langage humain. Un langage humain possède un vocabulaire extraordinairement riche (combien de mot dans la lange française ?) et une grammaire que seuls des no-life des bibliothèques maîtrisent vraiment.

    - Si l'on parle du langage de programmation et tout ce qui l'entoure : cad le langage en lui-même auquel on ajoute les ou les paradigmes, divers concepts, les "bonnes pratiques", etc... (je dois bien en oublier les 3/4 ^^), cela n'est PAS simple, et demande de l'expérience, donc de la pratique.
    On retrouve le besoin d'expérience (le côté "physique" de l'apprentissage) du langage humain, les bonnes pratiques (les usages), etc. On s'en rapproche, mais de là à dire que c'est le même type d'apprentissage... je dirais que c'est un raccourcis un peu facile et peu réfléchi (un type a entendu un autre type dire ça et a trouvé que ça ferait "intellectuel" de le ressortir à tout le monde... et voilà la naissance d'une idée reçue totalement infondée*).

    *j'ai entendu un type le dire à un type..., c'est dire !

    [edit] C'est bête mais j'y pense, pour ceux qui ont vu les langages formels, vous savez bien qu'on classe les langages en plusieurs niveaux (3 ou 4 si ma mémoire est bonne, peut être 5, pfiouuu c'est loin) ? Bon bah voilà, on y classe les langages de programmation dans ces X niveaux, mais aussi les langages "humain" (caractériser un langage humain n'est pas compliqué, c'est juste... long).
    Il devient facile de les comparer, à condition de s'entendre sur la définition du mot "langage"

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    juin 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2009
    Messages : 53
    Points : 50
    Points
    50
    Par défaut
    C'est amusant il n' y a même pas 24h je réfléchissais à cette question. J'en suis arrivé à pas mal de possibilités de comparaison. Mais une chose est sûr ce n'est pas la même chose tout simplement parce que j'ai du mal à apprendre une langue naturel alors que niveau langage de prog ca fuse.
    Cela est peut-être dû à une mise en situation ou appréhension, je ne sais pas.
    Il doit être plus difficile de traduire un texte vers un autre texte plutôt qu'une suite de méta-caractère vers un texte. [...]
    J'en ai conclu de manière aléatoire qu'apprendre une langue naturel équivaut à environ 3 langage de programmation de difficulté intermédiaire.

    En fait il y'a vraiment beaucoup à dire (spéculer plutôt) sur ce sujet.

  9. #9
    Membre éclairé Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : juin 2009
    Messages : 646
    Points : 830
    Points
    830
    Par défaut
    ceux qui pensent que le C++ s'apprend comme l'anglais ou l'allemand

    Le C++ s'apprend plutôt comme le Danois.

    Je parle plusieurs langues (python, c++, ..) et ma langue maternelle est le BASIC.

    Une langue de programmation et un langage ont la même racine (logos discours de tartuga tortue). Programmer, c'est donc discourir, le tout étant de partir à point.

    La plupart des langues anciennes occidentales ayant pour origine l'ASCII, elles partagent dans une large mesure les même phonèmes... pauvres en accents.

    Avec un émulateur on peut encore lancer les premières demos du programmeur Noam Chomsky. Ses codes sont toujours des const références de nos jours. Ca vaut le coup d'y jeter un oeil.


  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    juin 2009
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : juin 2009
    Messages : 53
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par creack Voir le message
    C'est completement faux, on ne peut pas comparer. Pour utiliser un langage de programmation, il faut grand maximum 20 mots clef, et encore je suis large. Pour une langue, il faut minimum 1500 voir 2000 mots pour tenir une conversation. Certe, il y a une grammaire, une syntax, un vocabulaire et une logique mais ce n'est pas comparable.
    Quelqu'un sachant programmer peut apprendre un nouveau langage en moins d'1 heure, un traducteur parlant 5 langue ne peut pas apprendre une 6eme langue en moins de plusieurs mois.
    C'est là aussi un point qui mérite de s'y attarder. Je pense que quelqu'un qui apprendre les langages naturels diminue au fils des langues son temps d'apprentissage d'un nouvel langage cela au même titre qu'un programmeur. Pour le programmeur c'est beaucoup plus facile puisque les mots identiques d'un langage à l'autre sont nombreux et signifient en générale la même chose. Or pour un traducteur ce phénomène se produira au bout de beaucoup de langue aussi! redondance (similutude du moins) de mot et de signification.

    Exemple:
    java utilise length là où python utilise len.
    Fr ami et espagnol amigo

  11. #11
    Membre actif
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    juillet 2009
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : juillet 2009
    Messages : 109
    Points : 265
    Points
    265
    Par défaut
    Citation Envoyé par Katleen Erna Voir le message
    Je connais par exemple certains développeurs très doués pour jongler d'une langage à l'autre, mais qui par ailleurs sont inconpétents lorsqu'il s'agit d'apprendre une langue étrangère (la plus facile soit elle).
    En parlant de langue, est-ce "inconpétents" ou bien "incompétents"?

    Plus sérieusement, en dehors du mot "langage", il n'y a pas de lien à faire entre les langues et les langages informatiques. Une langue est avant tout chargée de nombreuses références qui relèvent du non-dit (ce que l'on appelle le "savoir commun"). Au contraire, un langage informatique est un concept qui provient d'une démarche logique d'unification de la façon de traiter certains problèmes. En informatique, il n'y a pas les sous-entendus que l'on peut trouver dans une conversation. Comparer l'apprentissage d'un langage informatique et celui d'une langue revient à dire que connaître les fréquences des différentes couleurs permettrait de parler d'art...

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    février 2009
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2009
    Messages : 140
    Points : 92
    Points
    92
    Par défaut
    Apprendre un langage de programmation c'est comme apprendre une nouvelle langue
    Si l'inverse était vrai, je parlerai au moins la moitié des langues de ce monde.

  13. #13
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    décembre 2009
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : décembre 2009
    Messages : 37
    Points : 38
    Points
    38
    Par défaut
    Selon moi la comparaison n'a pas lieu d'être. Apprendre un langage de programmation et apprendre une langue étrange sont deux choses radicalement différente.

    Pour preuve, prenons l'éducation d'un langage de programmation et de l'anglais. Pour le langage de programmation vous allez apprendre sa syntaxe et c'est tout. Pour une langue c'est bien plus complexe que ça. Il faut apprendre le vocabulaire, la grammaire, et surtout la culture du ou des pays où la langue est parlée.

    Une langue, contrairement à ce que certaines personnes pensent, ce n'est pas juste de la grammaire et du vocabulaire. La culture joue un rôle essentiel dans l'apprentissage de cette dernière. De plus, la langue évoluera sans cesse, en plus de cela elle a plusieurs but. Là où un langage de programmation ne permet que la communication [machine/programmeur], une langue vivante permet de transmettre des informations, d'échanger, de débattre bref plein de chose.

    En plus de cela, prenons un autre exemple. Pour formaliser nos connaissances nous avons souvent recours à des langages logiques tel que le L1. Or, L1 est certaines fois insuffisant pour exprimer quelque chose, et on doit avoir recours à un autre langage. Un langage de programmation ne pourra jamais être aussi riche qu'une langue vivante. Alors dire que c'est le même apprentissage, je n'approuve pas.

  14. #14
    Nouveau membre du Club
    Inscrit en
    novembre 2009
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : novembre 2009
    Messages : 17
    Points : 26
    Points
    26
    Par défaut
    Peut-être que le jour ou Eclipse me sortira du javascript avec un accent québécois je pourrais commencer à me poser la question.

  15. #15
    Membre averti
    Inscrit en
    décembre 2007
    Messages
    222
    Détails du profil
    Informations forums :
    Inscription : décembre 2007
    Messages : 222
    Points : 398
    Points
    398
    Par défaut
    Citation Envoyé par Katleen Erna Voir le message
    [B][SIZE="3"]
    Deux camps s'affrontent ici : ceux qui pensent que le C++ s'apprend comme l'anglais ou l'allemand ; et ceux qui pensent que le C++ s'apprend plutôt comme le solfège et l'écriture des partitions.

    Alors, selon vous, apprendre un langage de programmation, c'est comme apprendre une langue étrangère ?
    Ce n'est ni comparable au solfège (le quel ne sert à rien sans l'harmonie) ni à une langue.
    On ne peut séparer une langue d'une étude, même superficielle, de la civilisation qui l'a inventée et qui l'utilise. Sans parler des expressions idiomatiques.

    Un langage informatique n'est qu'une syntaxe permettant de retranscrire des problèmes logiques.
    La sécurité de l'emploi
    "Ce n’est pas une pratique médicale sensée que de risquer sa vie en se soumettant à une intervention probablement inefficace afin d’éviter une maladie qui ne surviendra vraisemblablement jamais."
    Docteur Kris Gaublomme, médecin belge ("Vaccins et maladies auto-immunes")

  16. #16
    Membre éclairé Avatar de clavier12AZQSWX
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    avril 2009
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : avril 2009
    Messages : 1 008
    Points : 673
    Points
    673
    Par défaut ok
    je dirais plutôt que c'est comme apprendre une régle de trigonométrie et non pas un langage parlé vivant.

  17. #17
    Membre averti Avatar de Bryce de Mouriès
    Profil pro
    CPI
    Inscrit en
    mars 2007
    Messages
    207
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : CPI

    Informations forums :
    Inscription : mars 2007
    Messages : 207
    Points : 431
    Points
    431
    Par défaut
    Je serais curieux de voir quelqu'un qui réponde "vrai".
    Infinity - To The Top, shoot'em up développé en Haxe / OpenFL pour FLASH et Android, piou piou rythmé dans l'espace

  18. #18
    Rédacteur
    Avatar de Jean-Michel Ormes
    Homme Profil pro
    Développeur .NET
    Inscrit en
    juillet 2007
    Messages
    1 838
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Services à domicile

    Informations forums :
    Inscription : juillet 2007
    Messages : 1 838
    Points : 4 665
    Points
    4 665
    Par défaut
    Citation Envoyé par Katleen Erna Voir le message
    Alors, selon vous, apprendre un langage de programmation, c'est comme apprendre une langue étrangère ?
    Je rejoins l'avis de la plupart d'entre vous. Il est beaucoup plus facile d'apprendre un langage de programmation qu'une nouvelle langue. En quelques jours on peut apprendre un langage tandis qu'une langue nécessite plus de temps.

  19. #19
    Membre chevronné
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    927
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : janvier 2006
    Messages : 927
    Points : 2 006
    Points
    2 006
    Par défaut
    Je n'ai pas beaucoup de connaissances dans les langues, si ce n'est que j'arrive à me faire comprendre (parfois) mais...

    Comme je l'ai lu ici, là où une langue permet aux êtres humains de communiquer, un langage de prog permet de se faire comprendre par un ordinateur. Cette similitude me fait plutôt pencher pour la réponse : oui c'est pareil.

    Je trouve que c'est pareil, à quelques exceptions près. Selon moi c'est surtout la taille de la matière à apprendre qui diffère mais, par contre, on passe par les mêmes étapes pour apprendre le C que pour apprendre l'anglais : hello world, vocabulaire et définitions, grammaire, règles en tout genre...

    Une langue, contrairement à ce que certaines personnes pensent, ce n'est pas juste de la grammaire et du vocabulaire. La culture joue un rôle essentiel dans l'apprentissage de cette dernière.
    Je me demande si justement les langages de programmation ne seraient pas la preuve que la culture n'a rien à voir dans le fait de pouvoir communiquer grâce à un langage. Ou, si la culture est vraiment importante, je suis persuadé que les langages de programmation en on leur équivalent.

    Pour moi les différences relèvent du détail insignifiant. Car ce qui est important là dedans c'est de communiquer. Alors en résumé, oui ce n'est pas pareil d'apprendre l'un ou l'autre (rien n'est pareil) mais peut-on faire le même rapprochement entre la mécanique et le français ? Est-ce qu'un mécanicien parle à sa voiture ?
    "If you can't teach it then you don't know it."

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    mars 2007
    Messages
    182
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : mars 2007
    Messages : 182
    Points : 95
    Points
    95
    Par défaut
    Déjà il faudrait voir ce que l'on entend par "apprendre" car tout dépend le niveau de maitrise que l'on souhaite atteindre. Dans l'absolu apprendre une langue pour se servir d'un vocabulaire bien précis à des fins bien précises juste pour pouvoir se faire comprendre dans le cadre d'un voyage touristique ce n'est pas forcément très compliqué... si l'on souhaite devenir bilingue ca peut prendre des années voire être presque impossible sans un séjour dans le pays. Tout dépend aussi de notre langue natale... il est plus facile pour un latin d'apprendre une langue latine qu'une langue germanique. Cela dit je ne pense pas qu'en connaissant une infime partie d'une langue uniquement utilisable dans un contexte touristique comme demander son chemin, réserver un hotel etc on peut prétendre maitriser cette fameuse langue.

    En ce qui concerne les langages de programmation c'est un peu pareil... quand certains prétendent pouvoir apprendre un langage en moins d'une heure soit ils sont exceptionnellement intelligents soit c'est moi qui suis très con mais en tout cas personnellement j'en suis totalement incapable... pour maitriser parfaitement un langage de programmation moderne à un très haut niveau au point d'être un expert dans le domaine (ce que l'on pourrait assimiler au bilinguisme) je ne pense pas me tromper en disant que cela peut prendre plusieurs années ou alors encore une fois c'est peut être moi qui suis plus con que la moyenne...

    Par contre l'avantage avec les langages c'est que le vocabulaire est très limité quoique maintenant avec l'objet ce n'est pas toujours évident d'utiliser le bon élément au bon moment à moins de connaitre tel ou tel framework parfaitement... d'un autre coté un if reste un if...

    Personnellement je dirais que l'apprentissage d'une nouvelle langue est souvent plus complexe qu'un nouveau langage mais pas tant que ça... l'inconvénient quand on apprend une langue c'est aussi qu'on ne la pratique pas souvent car on n'a pas d'interlocuteur alors que lorsqu'on apprend un langage on en a toujours un qui est à notre disposition quand on en a envie... notre ordinateur. De plus dans un contexte professionnel il peut parfois être assez aisé de se retrouver plus ou moins immergé dans notre langage comme on pourrait l'être lors d'un long séjour linguistique si nos collègues utilisent eux aussi le même langage et nous permettent donc de profiter de leur connaissances et expériences parfois inconsciemment juste en lisant leurs lignes de code.

    De plus, tout dépend le langage/langue d'origine et celui à maitriser... imaginez un portugais qui apprends l'espagnol, je ne pense pas que ce soit bien compliqué pour lui d'ailleurs beaucoup de portugais comprennent plus ou moins l'espagnol sans même l'avoir appris... maintenant imaginez un développeur cobol basique qui fait ca depuis 15 ans et qui du jours au lendemain doit se mettre au java ou au C#, je lui souhaite beaucoup de courage...

    Je ne pense pas que ce soit le même mécanisme de pensé qui permettent d'apprendre une langue et un langage... la maitrise d'un langage demande beaucoup de logique celle d'une langue c'est plus beaucoup de boulo... même si je n'aime pas trop cette classification les littéraires sont souvent beaucoup plus doués que le scientifiques pour les langues... alors que pour les langages la logique entrant plus en jeu c'est souvent plus facile pour un scientifique. Je ne sais pas, il faudrait peut être trouver deux cobayes, leur coller un casque et voir les zones cérébrales utilisées dans le cas de ces deux types d'apprentissage, à mon avis ce ne serait pas les mêmes zones cérébrales qui seraient utilisées car pour moi ce n'est pas du tout le même procédé intellectuel.

    Je pense donc que cette comparaison est difficile à faire car trop de facteurs interviennent... donc pour conclure je dirais... je ne sais pas

Discussions similaires

  1. Réponses: 37
    Dernier message: 01/04/2010, 14h17
  2. Apprendre un langage de programmation moderne
    Par aegal dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 22/02/2006, 14h15
  3. Apprendre un langage de programmation ?
    Par Invité dans le forum Débuter
    Réponses: 5
    Dernier message: 08/02/2005, 22h16

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