Quel langage de programmation choisir pour débuter ?
Un développeur donne son avis et compare neuf langages aux personnages du Seigneur des anneaux

Le , par Olivier Famien, Chroniqueur Actualités
Avec l’explosion des technologies de l’information, nombreuses sont les personnes qui désirent changer de métier ou souhaitent simplement apprendre un langage de programmation. Bien que programmer puisse être défini aussi simplement qu’écrire un programme, choisir un langage de programmation pour faire ses premiers pas dans l’environnement informatique, n’offre pas toujours cette même aisance.

À bien des égards, l’on a maintes fois entendu de la part de débutants la question lancinante, avec quel langage de programmation devrais-je débuter ?

Certaines personnes pourraient suggérer le langage C, tandis que d’autres mettraient en avant C++. D’autres par contre conseilleraient java tandis que quelques orienteraient une personne parce qu’ils ont eu une bonne expérience avec ce langage. En somme, l’unanimité serait la chose la moins partagée si l’on devait demander l’avis de chacun pour conseiller un langage de programmation à un débutant.

Toutefois, pour Carl Cheo, un développeur de logiciels et passionné des technologies, a voulu répondre à cette question avec une approche différente. Pour Carl, la première question qu’une personne souhaitant embrasser la programmation doit se poser est « pourquoi souhaitez-vous apprendre la programmation ? ».

Cette réponse étant variable selon les motivations, Carl a pris sur lui d’éditer un schéma intégrant plusieurs variables possibles associées à neuf langages de programmation (Python, Java, C, C++, JavaScript, C#, Ruby, PHP, Objective-C).

Ainsi, si vous souhaitez vous lancer dans l’écriture du code à cause de vos enfants, le diagramme suggère de débuter avec python. Si vous n’avez aucune idée, le diagramme vous suggère de commencer avec python. Si vous voulez juste vous faire de l’argent, les choix vont varier en fonction des plateformes. Pour le mobile, il serait souhaitable de débuter avec java si on a un projet en tête ou Objective-C si on souhaite mettre en œuvre une application pour la plateforme iOS.

Si vous voulez obtenir un emploi dans le domaine du Web, JavaScript est le mieux adapté et si vous souhaitez travailler dans de grandes entreprises telles que Google, Facebook, Microsoft ou Apple, il va falloir se spécialiser dans le langage mis en avant par la firme. Pour Google et Facebook par exemple, apprendre Python serait un avantage tandis C# serait une évidence pour celui qui souhaite entrer chez Microsoft, là où Objective-C serait requis pour celui qui a des projets pour intégrer l’équipe d’Apple. Pour plus de détails sur les langages de programmation, vous pouvez consulter le schéma ci-dessous.


À côté de ce diagramme détaillant l’orientation d’un débutant vers un langage en fonction de plusieurs critères, Carl a également conçu un tableau descriptif associant ces neuf langages aux personnages du film " Le Seigneur des anneaux " afin d'aider les débutants à se faire une opinion personnelle de chaque langage pour porter leur dévolu sur celui qu'ils préfèrent.

Comme premier élément du comparatif, on retrouve Sylverbarbe, l’Ent qui est un personnage qui aida Hobbits (le débutant) dans le film. Il s’apparente ici à Python dont le niveau de difficulté est le plus bas des neuf langages avec une note de 1/5. Il est décrit par Carl comme étant le plus facile apprendre et le meilleur langage pour les débutants.

Java est représentée par Gandalf qui veut la paix et travaille avec tout le monde. Le critère de corrélation avec ce personnage est le fait que Java est portable. Carl le décrit comme un langage très populaire sur toutes plateformes et fait partie des langages les plus demandés et les mieux rémunérés. Il donne la note de 3/5 comme niveau de difficulté.

C++ est représenté ici par Saroumane que tout le monde pense qu’il est le bonhomme. « Mais une fois que vous apprenez à le connaitre, vous réaliserez qu’il veut le pouvoir », cite Marc. Il décrit ce langage comme une version complexe de C avec beaucoup plus de fonctionnalités et le recommande uniquement si vous êtes assisté par un mentor.

C# est considéré comme l’Elf qui est assez beau comme le langage d’ailleurs et utilisé dans leur terre Rivendell (la plateforme Microsoft), mais a récemment commencé à s’ouvrir aux voisins (open source). Il est largement adopté en entreprise pour créer les sites web et les applications Windows avec le framework .net. Il est assez proche de java dans les syntaxes de base et quelques fonctionnalités. Marc considère que son niveau de difficulté est de 3/5.

Ojective-C est associé à Smaug qui est un dragon seul aimant l’or. C’est le langage primaire utilisé par Apple pour OSX et iOS. Marc le recommande si vous souhaitez vous focaliser sur ces deux plateformes. Toutefois, vous devrez envisager l’apprentissage de Swift, son nouveau langage rendu open source.

JavaScript est considéré comme le Hobbit dont la puissance est fréquemment sous-estimée. C’est l’un des langages les plus en vogue à présent. Carl lui donne la note de 2/5 pour ce qui concerne son niveau de difficulté.

Enfin, nous avons C qui est considéré comme un anneau. Tout le monde connait sa puissance et désire l’obtenir. Il est décrit par Carl comme l’un des plus vieux et les plus utilisés langages au monde. La note de 3/5 comme niveau de difficulté lui a été donnée.

Vous pouvez consulter la description complète des neuf langages et la comparaison avec les différents personnages du film à cette page.

En fin de compte, Carl termine son argumentaire en affirmant « qu’en fait, la manière dont vous débutez importe peu. Vous devez connaitre au moins quelques langages pour comprendre le concept sous-jacent. Juste mouillez-vous les pieds ».

Source : Blog Carl Cheo

Et vous ?

Que pensez-vous de l’avis de Carl sur la question ?

Êtes-vous d’accord avec lui ?

À quoi pouvez-vous comparer les langages de programmation pour mieux les définir ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse Signaler un problème

Avatar de emilie77 emilie77 - Membre régulier https://www.developpez.com
le 01/07/2015 à 8:23
J'ai choisi le c# surtout parce que l'EDI Visual Studio c'est le seul que j'adore et sur le web je trouve tout les examples et les explication que je cherche.
Assez puissant mais la seule chose qu'il m'a fait penser de choisir Java c'est le fait qu'il n'est pas multiplateforme!
Le WPF à la place de JavaFX pour les GUI a fait pendre ma décision sur le C#.

Ciao
Emilie
Avatar de Markand Markand - Membre averti https://www.developpez.com
le 01/07/2015 à 8:51
C++14.
Avatar de plegat plegat - Expert éminent https://www.developpez.com
le 01/07/2015 à 9:27
Raaah, c'est pas facile la traduction...
Quitte à présenter un article traduit faisant l'analogie avec LOTR, autant la faire à fond avec les termes "francisés". Elf > elfe, Rivendell > Fondcombe, un anneau > L'Anneau, l'unique, avec un grand A, c'est pas n'importe lequel!!!

Sinon pas de commentaires sur le contenu de l'article en lui-même, ça va de toute façon finir en troll.
Juste que je suis d'accord avec sa conclusion. Savoir qu'il y a un monde entre "débuter" et "programmer de manière professionnelle". On a tous appris un langage à l'école, et on en utilise tous un autre maintenant au boulot...

Sinon, c'est un peu le bordel son diagramme... et pourquoi faire une échelle sur 5 pour la difficulté, alors que le langage qualifié de plus compliqué est à 4???
Avatar de Lordsephiroth Lordsephiroth - Membre confirmé https://www.developpez.com
le 01/07/2015 à 9:28
J'ai bien rigolé en lisant cette infographie que je trouve plutôt réussie. Il y a un fond de vérité mêlé à un peu d'humour potache, et j'en trouve le message subtil et intéressant. La comparaison de PHP avec les orques et d'Objective-C avec Smaug m'ont particulièrement fait rire. Le dragon Apple qui vit dans une montagne remplie d'or...
Avatar de Yorenzo Yorenzo - Membre du Club https://www.developpez.com
le 01/07/2015 à 9:31
Je trouve le combo C/C++ pas mal pour débuter et apprendre à coder proprement, mais après dans la réalité on peut débuter sur (presque) tous les langages selon ses buts car il est vrai que C++ dans le web bon... Après il n'y a que PHP que je ne recommanderai pas tant on voit passer du code sale du à sa trop grande souplesse, en espérant que la prochaine version fasse mieux.
Avatar de vanquish vanquish - Membre éprouvé https://www.developpez.com
le 01/07/2015 à 9:37
Un diagramme est plus intelligent qu'une affirmation péremptoire.
Mais le diagramme mélange 'débuter' et 'apprendre' : ce qui n'est pas forcement la même chose.

Débuter avec un projet web : javascript n'est guère un choix, mais une quasi obligation avec un autre langage dont le choix risque fortement d'être guidé par l'hébergement.
Apprendre la programmation : javascript est probablement le pire des professeurs tant il est permissif et va vous faire prendre de mauvaises habitudes.
(On peux écrire un beau code javascript, mais mieux vaux être passé par vrai langage objet obligeant à un peu de rigueur avant.)
Avatar de sgaze sgaze - Candidat au Club https://www.developpez.com
le 01/07/2015 à 9:38
En résumé, je n'aime pas

En détail :
- comparer les langages au monde manichéen du Seigneur des Anneaux est un peu bête : un projet informatique n'est pas une bataille du bien contre le mal.
- un langage se caractérise par ce qu'on en fait, pas par des idées préconçues.
- tout un graphique pour dire que php c'est nul et python c'est cool...
Avatar de ScriptorTux ScriptorTux - Membre régulier https://www.developpez.com
le 01/07/2015 à 9:41
Je trouve que les images/comparaisons sont plutôt intéressantes l'idée d'avoir pris le seigneur des anneaux comme comparaison est à mon avis assez marrant et réussie
De plus je trouve son diagramme très esthétique, même si il est pas très ordonné
Avatar de vinmar vinmar - Membre confirmé https://www.developpez.com
le 01/07/2015 à 10:23
L'idée est plutôt originale et à prendre au second degrés...

Deux choses :
- tout un graphique pour dire que php c'est nul et python c'est cool...
Je crois que oui, le mec n'est pas fan de PHP.

Après il n'y a que PHP que je ne recommanderai pas tant on voit passer du code sale du à sa trop grande souplesse, en espérant que la prochaine version fasse mieux.
De manière général, je constate régulièrement sur les fils de discussion de développez.com un bashing sur PHP relativement agaçant. Surtout que ta remarque est vraie pour tous les langages.
Avatar de Gulien Gulien - Membre régulier https://www.developpez.com
le 01/07/2015 à 10:24
Je pensais tomber encore sur une infographie qui ne sert pas à grand-chose, mais pour un publique débutant je la trouve très réussie. Je me suis même laissé prendre à suivre chaque fil.

PS :
Pour PHP : C'est le seul langage dans la liste de ce diagramme que je suis incapable d'apprendre ... Je le trouve tordu, j'ai l'impression d'avoir un truc archaïque entre les main, j'ai essayé de me mettre à Symfony récemment, et je ne sais pas comment décrire cette impression que j'avais de ne pas écrire du code objet comme d'habitude, mais des espèces de blocs de scripts. (Rien que la notation => au lieu du point...)

Après je comprends bien que le meilleur langage c'est celui qu'on connait, et que PHP est excellent ne serait-ce que pour sa grande intégration chez tous les hébergeurs, ses coûts minimum...

Mais je pense qu'il y a du vrai dans la description du vieux jouet hideux ... (c'est de l'humour bien-sûr)
Contacter le responsable de la rubrique Accueil