Comment repérer la crème des développeurs ?
Pour un docteur en informatique, les programmeurs les plus doués apprennent des langages ésotériques

Le , par Stéphane le calme, Chroniqueur Actualités
Paul Graham est un investisseur capital-risque et un programmeur Lisp. Il y a neuf ans de cela, ce docteur en informatique diplômé de Harvard soutenait « qu'il serait plus aisé d’avoir des programmeurs intelligents pour travailler sur des projets Python que sur des projets Java ».

Une phrase choc qui avait provoqué la polémique, mais Graham a invité tout un chacun à ne pas la prendre au premier degré, expliquant que « ce n'est pas que les programmeurs Java sont idiots, mais les programmeurs Python sont futés. Apprendre un nouveau langage de programmation c'est beaucoup de travail. Et les gens n'apprennent pas Python pour obtenir un travail ; ils l'apprennent parce qu'ils aiment sincèrement programmer et ne sont pas satisfaits des langages qu'ils connaissent déjà. »


À l'époque, Python n'était pas aussi populaire que Java et sur le marché de l'emploi, les entreprises ne se bousculaient pas pour demander des développeurs dans ce langage. Pourtant, certaines d'entre elles ont initié de développer des logiciels dans des langages ésotériques, n'attirant alors que ceux qui se sont donnés la peine d'apprendre ce langage qui sont, selon Graham, les meilleurs programmeurs. Il a baptisé ce phénomène le « paradoxe Python ».

Côté développeur, ce phénomène était encore plus accentué puisque, pour accéder à un bon emploi, il devrait « apprendre un langage qu'on apprend pas seulement pour avoir un travail »

Certaines sociétés très prisées par les développeurs utilisaient même cet atout comme critère de sélection ; Google par exemple publiait des offres d'emploi Java et demandait une expérience en Python.

Qu'est ce qui a motivé cet intérêt porté à Python ? Un des amis de Graham qui a fait le tour des langages de programmation les plus populaires et qui emploie Python pour la plupart de ses projets donne comme raison principale l'aspect du code source. Raison qui peut sembler légère de prime abord mais Graham explique que « quand vous programmez, vous dépensez plus de temps à lire du code qu'à en écrire. Vous manipulez les blocs de codes source de la même manière qu'un sculpteur le fait pour des blocs d'argile. Donc un langage qui génère un code source désagréable à lire est aussi horripilant pour un programmeur que l'est une terre grumeleuse pour un sculpteur. »

Source : blog Paul Graham

Et vous ?

Partagez-vous le point de vue de Paul Graham ?

Sur le choix d'apprentissage d'un nouveau langage de programmation, pensez-vous comme son ami ?

Neuf ans plus tard quel est, selon-vous, le langage qui a repris le flambeau de Python ?


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


 Poster une réponse

Avatar de Atem18 Atem18
http://www.developpez.com
Membre éclairé
le 25/06/2013 10:35
Entièrement d'accord pour la lisibilité, c'est pour cela que mon choix de langage de prédilection, s'est porté sur le Python.

Je peux reprendre un code auquel je n'ai pas touché depuis des mois, et toujours le comprendre sans commentaires.

Je peux aussi passer mes codes aux autres et ne pas avoir à leur détailler chaque lignes.

Après, j'ai découvert la puissance des modules tiers, faits par la communauté, et depuis c'est le bonheur.
Avatar de Voïvode Voïvode
http://www.developpez.com
Membre Expert
le 25/06/2013 10:37
Citation Envoyé par Paul Graham
Et les gens n'apprennent pas Python pour obtenir un travail; ils l'apprennent parce qu'ils aiment sincèrement programmer et ne sont pas satisfaits des langages qu'ils connaissent déjà.

Quelqu'un qui pratique par passion est souvent plus efficace que quelqu'un qui pratique seulement par obligation. Java étant plus corporate, c'est normal qu'on tombe sur plus de gens qui bossent dessus seulement par obligation.

Citation Envoyé par ami de Paul Graham
Donc un langage qui génère un code source désagréable à lire est aussi horripilant pour un programmeur que l'est une terre grumeleuse pour un sculpteur.

Cela dépend surtout du programmeur. Un code Python bourré de one-liners est infect. Un code Java avec des lignes à rallonge est abominable.

Parmi les langages que j'ai pratiqué, j'aime indifféremment l'apparence de Python, Pascal, Java, Objective-C et même PL/SQL, je trouve qu'ils ont tous une esthétique visuelle différente. C'est comme la peinture, la musique ou les femmes : on a des goûts plus ou moins variés et exotiques.
Avatar de Jere15 Jere15
http://www.developpez.com
Futur Membre du Club
le 25/06/2013 11:04
Mouais...

"et ne sont pas satisfaits des langages qu'ils connaissent déjà."

En gros il fait l'hypothèse que python est mieux que java (ce qui reste à prouver), et que si tu n'arrives pas à résoudre un problème avec java, (ou que tu ne t'y sens pas bien), si t'es intelligent tu passes à python...

Bof, bof, le raisonnement, on peut l'inverser:
Si t'arrives pas à maîtriser les design pattern et autre subtilité de java, alors tu t'enfuis chez un autre langage (python).

Je ne suis vraiment pas convaincu...
Avatar de Enerian Enerian
http://www.developpez.com
Membre émérite
le 25/06/2013 11:21
Citation Envoyé par Jere15  Voir le message
En gros il fait l'hypothèse que python est mieux que java (ce qui reste à prouver), et que si tu n'arrives pas à résoudre un problème avec java, (ou que tu ne t'y sens pas bien), si t'es intelligent tu passes à python...

Euh... ce n'est absolument pas ce qu'il dit.

Il affirme juste que des compétences en Java sont beaucoup plus demandées sur le marché du travail que des compétences en Python (difficile de le contredire sur ce point). Il en tire la conclusion logique qu'il y a plus de développeurs choisissant Java juste pour avoir un job que de développeurs qui choisissent Python pour cette même raison. Donc, il est plus facile de trouver un développeur Python passionné puisque s'il choisit ce langage, c'est pour des raisons autres qu'alimentaires.

Cela ne veut bien entendu pas dire que la communauté Java ne compte pas de développeurs passionnés, et encore moins que Python est meilleur que Java ou je ne sais quoi (ce qui est complètement débile, "meilleur" n'ayant aucun sens sorti d'un contexte précis. Un langage peut être un meilleur choix qu'un autre dans un contexte précis, mais "meilleur" dans l'absolu n'a pas de sens dans ce domaine)...
Avatar de Arnard Arnard
http://www.developpez.com
Membre Expert
le 25/06/2013 11:24
A la mention de langage ésotériques, j'étais parti à sacrifier ds corbeaux pour corriger mes bugs
Avatar de Luckyluke34 Luckyluke34
http://www.developpez.com
Membre chevronné
le 25/06/2013 11:34
ésotérique, adj : se dit d'un mode d'expression, d'une œuvre qui n'est compréhensible que des initiés ; hermétique, abstrus, abscons : Langage ésotérique.

Je ne suis pas sûr que ça soit le bon adjectif pour qualifier Python s'il est si lisible que ça

"Langage alternatif" me paraît un meilleur choix surtout si on veut éviter le cliché : langage incompréhensible => petit génie => crème des développeurs dans toutes les situations ever de la terre entière.

Sinon 100% d'accord avec Voïvode : c'est un peu une banalité de dire que les gens qui font la démarche d'apprendre un autre langage (quel qu'il soit, "ésotérique" ou non) sont probablement plus passionnés et donc plus recherchés par les recruteurs car réputés plus efficaces.

Le fait que ça soit Python ou autre chose (on pourrait dire Ruby, Scala ou Clojure aujourd'hui) reste un sous-produit assez aléatoire de ce phénomène.
Avatar de Farid63 Farid63
http://www.developpez.com
Membre émérite
le 25/06/2013 13:39
Ne vous arrêtez pas aux langages mentionnés, ce n'est que la forme de l'article, il aurait pu mentionner pleins d'autres (tous?) langages à la place de Python et de Java, il les surement choisi pour troller un peu mais le fond est plutôt juste.

Je fais du Java en entreprise et apprécie bien ce langage, cela ne m'empêche pas d'être assez d'accord avec lui, même si on ne peut pas affirmer que les développeur qui choisissent un langage pour manger sont moins bons que les passionnées. Nous sommes des professionnels nous n'apprenons peut-être pas toutes les subtilités d'un langage, mais nous savons apprendre le concept (OOP, fonctionnel, ...), coder proprement (Oui ça veut tout et rien dire...) et être efficace en entreprise (ce qui souvent veut dire aller vite malheureusement).

Edit : On pourrai à l'inverse penser que quelqu'un qui apprend Python au lieu de Java a rien compris au réalité du marché informatique en France et que donc ces personnes seraient moins pro.
Avatar de hn2k5 hn2k5
http://www.developpez.com
Membre expérimenté
le 25/06/2013 13:40
Donc un langage qui génère un code source désagréable à lire est aussi horripilant pour un programmeur que l'est une terre grumeleuse pour un sculpteur.

Donc le python pour lui, c'est agréable à lire...
Ok, on ne mélange pas les goûts et les couleurs.


Je crois que Python est surtout beaucoup plus performant par rapport à Java non ? Quel langage ne l'est pas d'ailleurs ?

Edit: J'enlève la remarque sur les perfs de python/java pour stopper le lynchage ? Vraiment aucun humour ces nerdz ! Faut pas toucher à leur joujous...
xD
Avatar de leternel leternel
http://www.developpez.com
Expert Confirmé
le 25/06/2013 13:49
"ésotérique" = "python"?
On rêve ou quoi?

Allez faire un tour sur esolangs.org ou mieux encore 99 bottles of beer

Là vous aurez des langages ésothériques: en trinaire (malboge), sans variables (plusieurs), avec un des pingouins (goto++), dont le code source est une image (piet) ou encore en anglais intégral (Shakespear)
Avatar de Kearz Kearz
http://www.developpez.com
Membre Expert
le 25/06/2013 14:20
ils l'apprennent parce qu'ils aiment sincèrement programmer et ne sont pas satisfaits des langages qu'ils connaissent déjà.

Aimer programmer veut surement pas dire qu'on est bon. Ne pas aimer programmer pour le loisir ne veut surement pas dire qu'on est mauvais.

Quelqu'un peut faire partie de la "crème" mais avoir des passions supérieures à l'informatique, ce qui fait qu'il fait de l'info' qu'au boulot.

(c'est sur qu'on a plus de chance d'être bon en s’entraînant mais certaines personnes ont des "dons")
Offres d'emploi IT
Consultant Technique microsoft h/f
CDI
BULL FR - Ile de France - Saint-Ouen (93400)
Parue le 02/07/2014
Lead Développeur
CDI Freelance
C17 ENGINEERING - Ile de France - Paris (75000)
Parue le 25/06/2014
Développeur web lamp h/f
CDI
EXPERTS - Provence Alpes Côte d'Azur - Sophia-Antipolis
Parue le 18/07/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula