IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Débats sur le développement - Le Best Of Discussion :

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


Sujet :

Débats sur le développement - Le Best Of

  1. #1
    Chroniqueur Actualités
    Avatar de Michael Guilloux
    Homme Profil pro
    Data Consultant
    Inscrit en
    Juillet 2013
    Messages
    2 888
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Côte d'Ivoire

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 2 888
    Points : 87 206
    Points
    87 206
    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
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    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.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Membre émérite Avatar de vttman
    Homme Profil pro
    Développeur "couteau mosellan"
    Inscrit en
    Décembre 2002
    Messages
    1 140
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur "couteau mosellan"
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 140
    Points : 2 286
    Points
    2 286
    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é
    Emérite, émérite je ne pense pas ... plutôt dans le développement depuis FORT FORT longtemps, c'est mon job, ça oui
    A part ça ... Il ne pleut jamais en Moselle !

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    884
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    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 : 884
    Points : 2 018
    Points
    2 018
    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
    120
    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 : 120
    Points : 120
    Points
    120
    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
    10 193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 193
    Points : 28 077
    Points
    28 077
    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
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    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 320
    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 320
    Points : 3 741
    Points
    3 741
    Billets dans le blog
    12
    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

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  9. #9
    En attente de confirmation mail
    Femme Profil pro
    pape n'aimant pas les censeurs
    Inscrit en
    Janvier 2010
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Vatican

    Informations professionnelles :
    Activité : pape n'aimant pas les censeurs

    Informations forums :
    Inscription : Janvier 2010
    Messages : 803
    Points : 1 407
    Points
    1 407
    Par défaut
    Et à quoi va servir toutes ces belles statistiques???

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 53
    Points : 72
    Points
    72
    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 chevronné
    Avatar de lilington
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2005
    Messages
    681
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Chine

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 681
    Points : 1 944
    Points
    1 944
    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.
    Petit lien vers mon premier jeux SDL2/C
    http://store.steampowered.com/app/72..._Soul_Of_Mask/
    la suite? ca vient,ca vient!

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

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    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