+ Répondre à la discussion Actualité déjà publiée
  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Consultant
    Inscrit en
    juillet 2013
    Messages
    1 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Consultant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : juillet 2013
    Messages : 1 230
    Points : 31 890
    Points
    31 890
    Billets dans le blog
    2

    Par défaut Quelle est la probabilité de passer d'un langage de programmation donné à un autre ?

    Quelle est la probabilité de passer d'un langage de programmation donné à un autre ?
    Des prédictions basées sur une étude empirique

    Comme tout projet, les langages de programmation et technologies associées ont un certain cycle de vie. De nouveaux langages voient le jour, alors que d’autres évoluent pour gagner en maturité et d’autres encore sortent de la compétition. Pour un développeur, une veille technologique est donc importante pour mettre ses compétences à jour et préparer sa prochaine destination si nécessaire. C’est ainsi qu’on observe de nombreuses migrations d’un langage à un autre dans le milieu des développeurs. À partir d’un langage de programmation donné, la prochaine destination peut toutefois être prévisible ; raison pour laquelle un développeur s’est essayé à prédire la probabilité de passer d’un langage X à un langage Y, sachant qu'on envisage bien sûr de passer à un autre langage.

    Pour y parvenir, il a écrit un script pour interroger Google pour trouver les différents billets de blog dans lesquels les développeurs ont expliqué qu’ils étaient passés d’un langage X à un langage Y. Il a essayé quelques chaînes de requête différentes, comme move from <language 1> to <language 2>, switch to <language 2> from <language 1> et quelques autres. En fin de compte, il a obtenu le premier tableau de contingence suivant. La cellule i,j représente le nombre de départs du langage sur la ligne i vers le langage sur la colonne j.


    À partir de ce tableau, il a construit la matrice des probabilités associée en normalisant chaque ligne. Cette matrice stochastique nous donne une approximation des probabilités de basculer entre les langages et permet d’avoir une idée sur les futures popularités des différents langages. Il faut en effet noter qu'elle a été triée des langages qui seront les moins populaires à ceux qui seront les plus populaires.


    Du tableau précédent, on peut tirer les conclusions suivantes :

    • les développeurs Lisp et Perl ont une plus forte probabilité de passer à Python s'ils doivent changer de langage. C'est le cas également des développeurs Erlang ;
    • un développeur Visual Basic qui veut changer de langage ira de manière presque inévitable (0,92) vers C# ;
    • il est plus probable pour les développeurs Fortran et Pascal de passer à C que vers un autre langage. C'est également le cas des développeurs R ;
    • pour les développeurs Cobol, Kotlin et Scala, la prochaine destination sera probablement Java ;
    • les développeurs qui abandonneront le langage Swift vont nécessairement (0,99) se tourner (ou revenir) vers Objective-C. Inversement, il y a plus de chances pour un développeur Objective-C de passer à Swift qu'à un autre langage ;
    • on remarque également que les développeurs qui utilisent des langages populaires tels que C, Java et Python sont en moyenne beaucoup plus susceptibles de passer à Go, s'ils doivent adopter un autre langage. Go est également la destination la plus probable pour les développeurs partant de Node, Rust et Ruby. C’est probablement tout cela qui annonce Go comme le langage de programmation du futur, comme plusieurs études ont essayé de le dire ces derniers mois.

    Le classement des cinq langages qui seront les plus populaires à l’avenir, sur la base de cette étude, sont donc Go (16,41 %), C (14,26 %), Java (13,21 %), C++ (11,51 %) et Python (9,45 %). On voit qu’à 45 ans, le langage C continue d’être présent, Java est là pour rester, Rust semble se porter plutôt bien alors que Perl risque de mourir.

    La même analyse a été faite pour les frameworks frontend JavaScript. Comme on peut le voir, React reste en tête dans cette catégorie. Il attire énormément les développeurs Angular (0,96), Vue (1,0) et Backbone (0,91), mais le framework Vue se trouve aussi dans une très bonne position, juste devant Angular.


    La même analyse a été reproduite encore en sélectionnant un certain nombre de bases de données : DynamoDB, Riak, Redis, MariaDB, MongoDB, Cassandra, PostgreSQL et Mysql. Les résultats sont donnés par la matrice de contingence suivante :


    Bien entendu, cette étude a ses limites, vu qu’elle ne considère que des billets dans lesquels des développeurs ont expliqué qu’ils ont changé de langage. En plus, les chaines de requêtes semblent être uniquement en anglais, ce qui exclut les autres langues et certaines régions. Vous pourrez vous-même découvrir d’autres limites. Mais il s’agit ici de voir en quoi ces résultats se rapprochent de la réalité que vous connaissez.

    Source : Blog Erik Bernhardsson

    Et vous ?

    Que pensez-vous de cette analyse et de ces résultats ?
    Quels commentaires faites-vous des différents résultats ?

    Voir aussi :

    Offres d'emploi en 2016 : Java largement en tête, suivi par JavaScript et PHP
    Étude sur les salaires des offres d'emploi en 2016 : TypeScript, Go et Ruby sont les mieux payés
    Cdlt!
    M.K

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    décembre 2006
    Messages
    2 046
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : décembre 2006
    Messages : 2 046
    Points : 2 883
    Points
    2 883

    Par défaut

    Marrant comme résultat.

    Pour ma part, venant de Java, mes seconds choix sont Ruby et D.
    Pourquoi pas Go ? passer de Oracle à Google ca n'a rien d'une évolution, c'est tellement proche que ca n'a aucun interet.

    Coté base de données : PostgreSQL, pas de raison de regarder ailleur.

  3. #3
    Membre éprouvé Avatar de vttman
    Homme Profil pro
    Quinqua ... Poli, ve/aillant de l'Informatique
    Inscrit en
    décembre 2002
    Messages
    532
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Quinqua ... Poli, ve/aillant de l'Informatique

    Informations forums :
    Inscription : décembre 2002
    Messages : 532
    Points : 988
    Points
    988

    Par défaut

    pour les développeurs Cobol, Kotlin et Scala, la prochaine destination sera probablement Java
    Souvent on demande la double compétence Cobol / Java mais de là à pouvoir effectivement passer de l'un à l'autre
    la probabilité pour moi devrait être bien plus faible ?

    -"Gaston ya téléphon qui son mais aujourd'hui tu vas laisser tomber JCL, VSAM et CICS pour finaliser
    le module de paiement en Java ..." => Grand écart assuré
    Je suis sympa comme tout Mosellan mais ...
    ... (m')aider ou (me) mettre sur la voie c'est une chose
    ... tout (me) faire de A à Z, c'est pas ma conception du rôle d'un forum X ou Y
    Si vous n'êtes pas satisfait de mes réponses, n'hésitez pas à me le faire savoir Merci !

  4. #4
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juillet 2007
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juillet 2007
    Messages : 448
    Points : 685
    Points
    685

    Par défaut

    Etant en France dans un pays occidental, l'anglais, peux largement être considéré comme représentatif du marché français qui suit le marché anglo-saxon.

    On peux de plus considérer que sa méthode de recherche est statistiquement totalement fiable dans la mesure ou il n'y a pas de raison pour qu'un langage soit sous représenté. Autrement dit on peux considéré que la probabilité "publier une note" est indépendante du langage utilisé/

    Ce qui est intéressant c'est aussi de voir la somme par colonne/lignes pour voir les langages en en pertes de vitesse et ceux d'intérêt supérieur.

    Le principal biais est celui de l'effet de mode et le fait que pour certains langages ancien, la nécessite de déplacement est moins significative. (Un développeur C est assuré de trouvé du travail même dans 30 ans)
    Tout ce que j'écris est libre de droits (Licence CC0) et je vous incite à faire de même.

  5. #5
    Membre régulier

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    janvier 2010
    Messages
    106
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : janvier 2010
    Messages : 106
    Points : 93
    Points
    93
    Billets dans le blog
    1

    Par défaut Résultat vérifié

    •un développeur Visual Basic qui veut changer de langage ira de manière presque inévitable (0,92) vers C# ;
    Je confirme : venant du VB, j'ai appris le Java, le C++ et finalement, j'ai opté pour le C#...
    Cela ne m'a pas empêché, après coup d'apprendre le python pour de petites applications et scripts :
    https://www.developpez.net/forums/bl...rendre-python/
    jdd deschamps
    RPL - VB6 - C# - Wordpress - Python3 - Xamarin

  6. #6
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2007
    Messages
    8 850
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : janvier 2007
    Messages : 8 850
    Points : 23 449
    Points
    23 449

    Par défaut

    Citation Envoyé par Michael Guilloux Voir le message
    un développeur Visual Basic qui veut changer de langage ira de manière presque inévitable (0,92) vers C#
    Heu ouais d'accord, mais peut-on considéré celà comme changer de langage. Certes on passe d'une orthgraphe/syntaxe Basic Like à une orthographe/syntaxe C Like, mais au final 99% du code s'écrit exactement de la même manière. A tel point que même des bots sont capable de faire la conversion de façon automatique avec un taux qualitatif très élevé (quasiment rien n'est à reprendre derrière).

    Quant à Java, oui il est toujours là, car le passif est tellement important qu'il ne va pas disparaitre comme ça. Mais cela dépendra aussi de l'avenir que lui donnera son propriétaire.

    Citation Envoyé par Michael Guilloux Voir le message
    La même analyse a été reproduite encore en sélectionnant un certain nombre de bases de données : DynamoDB, Riak, Redis, MariaDB, MongoDB, Cassandra, PostgreSQL et Mysql.
    Manque quand même les principales, Oracle, SQL Server, etc ...
    Certes Oracle perd du terrain et il n'est pas facile d'y passer. Par contre SQL Server gagne du terrain partout, y compris sur des domaines jusque là réserver à des MySql, Postgre, etc... et il est relativement simple à aborder.
    Je pense qu'il aurait justement été judicieux de l'intégré dans cet étude.
    --- Sevyc64 ---

    Parce que le partage est notre force, la connaissance sera notre victoire

  7. #7
    Expert éminent sénior
    Profil pro
    Inscrit en
    décembre 2007
    Messages
    4 432
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : décembre 2007
    Messages : 4 432
    Points : 17 933
    Points
    17 933

    Par défaut

    J'ai échappé à la malédiction du programmeur Cobol qui finit en Java, mais, rétrospectivement, il était peu probable que j'y échappe, en fait. Et pourtant...

    Bon, tout ça pour finir à m'autoformer en Javascript.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  8. #8
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    décembre 2011
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : décembre 2011
    Messages : 1 095
    Points : 2 587
    Points
    2 587
    Billets dans le blog
    10

    Par défaut

    Il est intéressant de voir le nombre de développeur C apprenant Go, c'est la volonté qu'exprimait Google dans leurs meetings, je pense que c'est une réussite.

    Il est aussi intéressant de voir que les plus fortes fluctuations se situent autour du langage Java.

    Technos pré-2009 :
    Développeur Venant de Java Vers Java Vers Java (%)
    cobol 2 1227 99,67%
    matlab 7 3838 99,64%
    perl 12 1163 97,96%
    c 21624 28921 14,44%
    php 12044 15396 12,22%
    python 9263 9723 2,42%
    objective-c 4311 3875 -5,33%
    c# 11256 9539 -8,26%
    c++ 31778 15959 -33,14%
    ruby 3229 2430 -14,12%
    scala 8702 2779 -51,59%


    Technos post-2009 :
    Développeur Venant de Java Vers Java Vers Java (%)
    go 23527 2 -99,98%
    node 4012 8 -99,60%
    kotlin 3744 9 -99,52%
    swift 334 5 -97,05%


    @el_slapper,
    Attention, qui dit JavaScript, dit TypeScript, dit Java
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Mon profil Developpez | Mon profil Linkedin | Mon site : https://gokan-ekinci.appspot.com

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    janvier 2010
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : janvier 2010
    Messages : 652
    Points : 2 344
    Points
    2 344

    Par défaut

    Et à quoi va servir toutes ces belles statistiques???

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    juillet 2010
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juillet 2010
    Messages : 46
    Points : 53
    Points
    53

    Par défaut

    Dans les années 80/90, un bon programmeur se devait d'être multi-OS et multi-langages. Formation à sa charge, rien n'a changé.
    Multi-tâches aussi, mais c'est une autre histoire.
    La diversité des OS venait des constructeurs et celle des langages du fait que l'on pensait, à juste raison, que certains d'entre eux étaient adaptés à un usage particulier.
    A priori, rien n'empêche de faire de la gestion en Fortran, ni du calcul mathématique en Cobol et inversement, mais le résultat risque de ne pas être à la hauteur. Tout ceci a changé avec l'utilisation de C pour tout ou presque. Et surtout, l'appât du gain, donc, un OS (et encore ...) et un ou deux langages.
    Comme cela, on a des consultants immédiatement opérationnels et à pas trop cher. On compense l'indigence de certains consultants (c'est du vécu ...) par une "inflation matérielle".
    Il y a, fort heureusement, des gens sérieux, curieux et compétents (cela va ensemble).

  11. #11
    Membre expérimenté Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    juin 2005
    Messages
    633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Chine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : juin 2005
    Messages : 633
    Points : 1 434
    Points
    1 434

    Par défaut

    @YAKYETI on est a l'age de qui a la plus grosse.
    en faite je comprend meme pas pourquoi migrer?

    moi je suis developpeur C et je ne vois auccune raison de quiter C pour autre chose. si je veux faire queque chose ou le C n'est pas approprier ben j'ajoute un langage plus approprier a mon arsenal.
    du coup j'ai C + autres
    en faite je choisis les langages selon 2 criteres
    1/ approprie pour la tache demander (je vais pas ecrire une page web en C)
    2/ me laisse la liberete de choisir object ou pas (par exemple je preferai C++ a Java juste parce que si je fait de l'objet si je veux)
    sur ce dernier point le C entre en contratiction puisqu'il oblique a faire de procedurale (faire de l'objet en C est une idiotie c'est pas fait pour ca)

    du coup a part dire "Mon langage est le plus utilise nananana" je vois pas l'interret. agrandissez vous panoplie, apprennez plus de langage et maitrisez au moins 2 de preference totalement differents.
    L'absence de certitude defini la confiance. Sans incertitudes la confiance na point de raison d'etre!

  12. #12
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    mars 2004
    Messages
    2 097
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 2 097
    Points : 4 225
    Points
    4 225

    Par défaut

    Je comprends pas bien la notion de "passer à".

    Personnellement je suis "développeur Java" mais je suis tout aussi compétent en Javascript, SQL (et bien souvent je me sers des 3 langages au sein d'un même projet).
    Je code aussi régulièrement en PHP, Perl, shell et XSLT.

    Est-ce que ça aurait un sens de dire qu'on passe de développeur Javascript à développeur Java ?
    De développeur Perl à développeur Java ?

    Certes il est possible (surtout maintenant avec nodejs) de tout faire avec n'importe quel langage mais généralement ils ont un domaine de prédilection.

    A la rigueur si on se cantonne aux langages qui s'utilisent dans les mêmes conditions (et j'insiste sur le "à la rigueur"), comme le C, le C++, le C#, le Java, le Cobol et potentiellement Scala et PHP, ça peut avoir du sens.

    Mais inclure des langages accessoires comme l'Objective C, le Javascript, le SQL, le Perl, le shell, etc. dans la comparaison n'a que peu d'intérêt ou de sens.
    Par accessoire j'entends qu'ils sont surtout utilisés dans des domaines très restreints et pour lesquels ils ont quasiment le monopole. Pour les 3 premiers que j'ai cité c'est une évidence, pour les langages de script orienté serveur (shell, Perl, Python, ...), ils sont déjà plus interchangeables et dépendent des affinités et de la tâche à effectuer.
    Pour créer un lanceur (avec plus ou moins d'options et de contrôles), je préférerais utiliser un script shell alors que pour des opérations un peu plus poussées genre des traitements de fichiers, j'opterais plus pour du Perl (ou Python mais je connais pas plus que ça).

    Bref, ils sont plus souvent utilisés en complémentarité les uns des autres que comme langage unique pour tout faire et du coup comparer le passage de l'un à l'autre est totalement sans intérêt.

Discussions similaires

  1. Quel est votre langage de programmation préféré en 2013 ?
    Par Community Management dans le forum Langages de programmation
    Réponses: 102
    Dernier message: 18/09/2014, 07h40
  2. Quel est votre langage de programmation préféré en 2009 ?
    Par Yogui dans le forum Débats sur le développement - Le Best Of
    Réponses: 315
    Dernier message: 26/10/2010, 17h58
  3. Quel est votre langage de programmation "obscur" préféré ?
    Par Gordon Fowler dans le forum Actualités
    Réponses: 89
    Dernier message: 17/09/2010, 00h12
  4. [Archive] Quel est votre langage de programmation préféré ? (2004..2008)
    Par Idelways dans le forum Débats sur le développement - Le Best Of
    Réponses: 403
    Dernier message: 04/02/2009, 00h56

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