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

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

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

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

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

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

Je m'inscris !

« Apprendre un langage de programmation, c'est comme apprendre une nouvelle langue »
Vrai ou faux ?

Le , par Katleen Erna

88PARTAGES

0  0 
"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 ?

Une erreur dans cette actualité ? Signalez-le nous !

Avatar de Isukthar
Membre régulier https://www.developpez.com
Le 31/03/2010 à 23:03
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.
0  0 
Avatar de Killing Joke
Membre actif https://www.developpez.com
Le 31/03/2010 à 23:08
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 ;..).
0  0 
Avatar de Isukthar
Membre régulier https://www.developpez.com
Le 31/03/2010 à 23:13
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.
0  0 
Avatar de creack
Candidat au Club https://www.developpez.com
Le 31/03/2010 à 23:18
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.
0  0 
Avatar de Isukthar
Membre régulier https://www.developpez.com
Le 31/03/2010 à 23:32
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.
0  0 
Avatar de jaimepaslesmodozélés
Membre du Club https://www.developpez.com
Le 31/03/2010 à 23:33
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"
0  0 
Avatar de zuymanto
Membre du Club https://www.developpez.com
Le 31/03/2010 à 23:58
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.
0  0 
Avatar de metagoto
Membre éclairé https://www.developpez.com
Le 01/04/2010 à 0:03
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.

0  0 
Avatar de zuymanto
Membre du Club https://www.developpez.com
Le 01/04/2010 à 0:09
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
0  0 
Avatar de Meseira
Membre actif https://www.developpez.com
Le 01/04/2010 à 0:17
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...
0  0