Quel est le meilleur langage pour débuter la programmation ?

Le , par Amine Horseman

50PARTAGES

4  4 
Selon vous, quel est le meilleur langage pour apprendre la programmation ?
L’équipe de Developpez.com a souvent remarqué des questions sur les forums ou les réseaux sociaux d’apprentis programmeurs qui demandent « quel est le meilleur langage pour débuter la programmation ? », le problème avec ce genre de questions, c’est que la discussion tourne rapidement vers un débat infini où les développeurs plus expérimentés prônent que leur langage de programmation préféré est le meilleur. Résultat : l’apprenti qui avait posé la question se trouve encore plus perdu dans son choix parmi le vaste nombre de langages qui existent.

Avant de pouvoir dresser une liste des meilleurs langages pour débutants, nous voulions d’abord connaître combien il existe de langages de programmation ? Une page sur Wikipédia nous a donné à peu près une idée, plus de 1500 langages répertoriés ! D’accord ! Ce n’était peut-être pas la bonne question à se poser. Nous nous sommes donc orientés vers les statistiques pour savoir quels sont les langages les plus utilisés : selon notre sondage, les trois langages de programmation préférés de la communauté de Developpez.com durant l’année 2014 sont C#, Java et C++ (avec à peu près 20% chacun), suivis de Python (10%) et Windev (7%).

Mais il faut avouer que cela ne touche qu’une communauté bien particulière, en réalité : le nombre de participants au sondage était de 257 lors de l’écriture de cet article, ce qui est assez peu en termes de statistiques pour pouvoir tirer des conclusions. De plus le sondage ne prenait pas en compte les langages orientés web. Heureusement, IEEE était là pour nous sauver puisque l’organisation de standardisation publie chaque année des études détaillées pour classer les langages de programmation, la figure suivante montre les 20 langages informatiques les plus utilisés dans le monde durant cette année :


Ceci montre déjà une nette différence, mais ne résout toujours pas le problème. En effet, il s’agit là des langages utilisés par les développeurs expérimentés et les grandes entreprises de développement, mais est-ce l’idéal pour un débutant ?

En fait, les avis sont partagés : certains des développeurs questionnés nous répondent que le meilleur langage pour l’apprentissage de la programmation est le C ; il est basique, simple et bas niveau, ce qui permettra à l’apprenant de comprendre réellement comment la machine fonctionne en interne. D’autres répondent que non : Python et Ruby sont les meilleurs pour apprendre puisqu’ils ont une syntaxe intuitive, ils sont puissants et en même temps très faciles à utiliser, de plus ils sont orientés objet ce qui permet de maîtriser ce concept assez tôt lors de la phase d’apprentissage.

D’autres encore préconisent qu’il faut commencer par des métalangages comme OCaml et SML, même s’ils ne pas beaucoup utilisés dans le développement professionnel, ils permettent tout de même d’apprendre l’importance des types de données et comment la machine les gère. Il y a aussi beaucoup de personnes qui conseillent de commencer avec PHP, qui reprend grandement la syntaxe du C++, mais en moins stricte. Quelques personnes parlent aussi du Java ou du C#, mais ce sont des langages beaucoup trop compliqués selon certains pour être adressés à des novices qui n’ont pas encore assimilé les concepts de base de la programmation.

Quoi qu’il en soit, les enseignants dans les universités et les écoles préfèrent généralement commencer par : C/C++, Python, Matlab, OCaml ou encore Ruby. Mais malgré tout ça, le choix final appartient à l’apprenant, et ce choix devra être basé sur son objectif final. Si quelqu’un veut entrer dans le domaine du développement web par exemple, il est peut-être plus sage de commencer tout simplement par le HTML non ?

Source : Sondage de developpez.com, IEEE Ranking Spectrum, Wikipédia.

Et vous ?

Qu’en pensez-vous ?

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

Avatar de Neckara
Expert éminent sénior https://www.developpez.com
Le 19/11/2014 à 8:23
Bonjour,

Ne trouvant pas l'actualité, je me permet de poster ici.

Quand on inclus un diagramme/graphique, on inclut aussi ses légendes !

Sinon, je suis assez étonné par le graphique, le Java étant pourtant le 4ème (ou 3ème) langage le plus utilisé dans l'embarqué .
Pour le "web" (?), il faudrait plus de précisions. Car avec tout ce qui est serveur applicatif, le C et le C++ ont tout de même une place non négligeable. Le "web" ne se limite pas uniquement paquets HTTP(S).

C'est aussi un peu étrange d'avoir un langage de description au milieu de langages de programmations.
Le HTML n'est pas un langage de programmation, c'est un langage de description.

EDIT : D'ailleurs il me semble que c'est "Perl" et non "PERL".
Avatar de Amine Horseman
Expert éminent sénior https://www.developpez.com
Le 19/11/2014 à 11:11
Citation Envoyé par Neckara Voir le message

Quand on inclus un diagramme/graphique, on inclut aussi ses légendes !
Citation Envoyé par Neckara Voir le message

Le HTML n'est pas un langage de programmation, c'est un langage de description.
Bonjour,
La légende est incluse dans le 3ème paragraphe.

En effet, bonne remarque pour le HTML, j'insiste sur le fait que ces statistiques de IEEE portent sur le classement des langages informatiques les plus utilisés, indépendamment de leurs types.
Ils ne font donc pas de différence entre un langage de programmation et un langage de description dans cette étude.
Avatar de Simara1170
Membre éprouvé https://www.developpez.com
Le 19/11/2014 à 11:25
Le Php pour apprendre la programmation? Mon dieu jamais au grand jamais!
Apprendre la programmation, ce n'est pas apprendre un langage ( qui relève plus de la formation continue/ curiosité qu'autre chose), mais apprendre la logique de programmation, et le fonctionnement de la machine...
Et pour faire ça, il faut découper en 3 grandes catégories, chacune illustrées par un langage différent:
1/ l'algorithmique, ou avoir un langage très verbeux et très rigide (fortement typé) permettra d'apprendre la rigueur inhérente à l'algorithmique, et pour ça ADA, ça reste un must
2/ le fonctionnement de la machine, les changement de types, les pointeurs et autres joyeuseté bas niveau: la, le C s'impose, et les erreurs sur les pointeurs apprendront à l'étudiant quelques grands principes de la programmation bas niveau.
3/ la POO, qui devient de plus en plus prépondérante aujourd'hui. Mais pour ça il faut encore une fois un langage assez rigide pour imposer un "cadre de bonnes habitudes", et pour ça, je trouve le java relativement adapté...

Il n'y a pas de langage magique qui permette de maîtriser tout les aspects de la programmation d'un seul coup, il faut en utiliser plusieurs, chacun "symptomatique" d'une facette de la programmation
Avatar de Thomas404
Membre habitué https://www.developpez.com
Le 19/11/2014 à 12:22
Le C pour apprendre la programmation ? Avec la gestion de la mémoire vous allez faire fuir les gens ...

Non il faut un langage simple, puissant et généraliste tel que python ou tout autre langage permettant de "tester" rapidement ce que l'ont fait et de pouvoir faire beaucoup en ecrivant peu.
Avatar de redcurve
Membre confirmé https://www.developpez.com
Le 19/11/2014 à 12:50
Citation Envoyé par Thomas404 Voir le message
Le C pour apprendre la programmation ? Avec la gestion de la mémoire vous allez faire fuir les gens ...

Non il faut un langage simple, puissant et généraliste tel que python ou tout autre langage permettant de "tester" rapidement ce que l'ont fait et de pouvoir faire beaucoup en ecrivant peu.
C pour apprendre la prog est parfait ça permet d'apprendre que ce n'est pas magique contrairement à Python et consort ça oblige à la rigueur. LE WTF n'est pas permis
Avatar de or10n13
Membre à l'essai https://www.developpez.com
Le 19/11/2014 à 12:54
Avant de comprendre comme ont programme, il est plutôt utile de savoir comment fonctionne un ordinateur.
Devoir gérer la mémoire avec le C n'est donc pas une mauvaise idée. Au contraire, celà forcera les gens à comprendre ce qu'ils codent, et comprendre pourquoi quand ils font telle chose, ils ont tel résultat.
Avatar de transgohan
Expert éminent https://www.developpez.com
Le 19/11/2014 à 12:57
@Simara1170 : je suis tout à fait d'accord avec votre approche.
Cependant j'aurai plus vu un langage tel que le Pascal plutôt que de l'ADA qui est un langage assez perturbant par rapport à d'autres classiques.
Avatar de BlueScreenJunky
Membre régulier https://www.developpez.com
Le 19/11/2014 à 13:05
Citation Envoyé par Simara1170 Voir le message
Le Php pour apprendre la programmation? Mon dieu jamais au grand jamais!
Apprendre la programmation, ce n'est pas apprendre un langage ( qui relève plus de la formation continue/ curiosité qu'autre chose), mais apprendre la logique de programmation, et le fonctionnement de la machine...
En fait ça dépend de ce qu'on appelle "apprendre la programmation", pour certains ce sera ce que tu décris, mais pour d'autre ce sera simplement apprendre à faire des applications, et dans ce cas le choix d'un langages comme PHP peut se justifier : Il est assez simple à prendre en main, permet d'obtenir très rapidement un résultat dans le cadre d'une appli web, a une communauté accueillante pour les débutants, des frameworks orientés objets bien pensés.

De toutes façons pour avoir vu un certain nombre de personnes apprendre ou essayer d'apprendre à programmer, généralement ça bloque sur les notions de boucles et de variables... Donc j'ai envie de dire peu importe le langage.

Sinon pour ce que ça vaut, aujourd'hui quand on me pose cette question je réponds Python, même si j'en fais très peu, ça m'a l'air d'être aussi facile à appréhender que PHP tout en étant plus cohérent.
Le C j'ai peur que ce soit vraiment décourageant pour un débutant : Un fois qu'il a péniblement compris ce qu'était une variable une boucle et une condition, BAM ! on lui envoie l'adressage mémoire et les pointeurs en pleine figure.
Avatar de Askeridos
Membre régulier https://www.developpez.com
Le 19/11/2014 à 13:13
Pour apprendre, je pense que Python est un bon choix par la syntaxe haut niveau qu'il procure, c'est-à-dire qu'il rapproche de la langue naturelle.
Il permet donc de développer des applis très rapidement. Par contre, il est plus lent que Java et C++ (d'après un post que j'ai vu il y a quelques mois).

Si on lit bien la doc, on peut voir qu'on peut intégrer du C++ pour accélérer les performances. Je pense que c'est une bonne chose de compléter l'apprentissage par l'utilisation des pointeurs pour mieux gérer la mémoire, et en en apprendre davantage sur le fonctionnement d'un PC....
Avatar de grunk
Modérateur https://www.developpez.com
Le 19/11/2014 à 13:14
Tout dépend de ce que le débutant veux faire. Si le but est de devenir un bon développeur , il n'y'a pas un langage mais plusieurs qui chacun mettent l'accent sur des fondamentaux de la programmation.

Je verrais bien quelque chose comme :

C : pour comprendre les bases : types, gestion mémoire, ...
Java: pour comprendre le modèle objet sans trop se soucier de la mémoire.
C++ : Pour appliquer les deux notions précédente

Dans tous les cas il faut je pense éviter les dernier langages à la mode qui n'ont de réel intérêt que si on maîtrise le développement et se focaliser sur les valeurs sures .
Contacter le responsable de la rubrique Accueil

Partenaire : Hébergement Web