Quelle est la meilleure façon objective de mesurer les tendances de popularité de la langue? (Quoi de mieux que TIOBE?) [Fermé]


15

La meilleure façon d'obtenir des données sur la popularité du langage informatique que je connais est l'indice TIOBE. Mais tout le monde sait que TIOBE est désespérément défectueux. (Si quelqu'un fournit un lien pour soutenir cela, je l'ajouterai ici.)

Existe-t-il des données sur la popularité des langages de programmation qui sont généralement considérées comme significatives? La seule autre option que je connaisse est de regarder les tendances sur Indeed.com, qui est intrinsèquement défectueux, étant basé sur des offres d'emploi.

Ce n'est pas comme si je prendrais une future décision linguistique uniquement sur la base d'un index, mais cela pourrait fournir un équilibre utile à la perspective biaisée que l'on obtient en parlant à ses amis et collègues.

Pour illustrer ce parti pris, je soulignerai que d'après l'expérience de ceux que je connais personnellement, les seuls langages utilisés professionnellement aujourd'hui (par ordre de popularité) sont Java, C #, Groovy, JavaScript, Ruby, Objective C et Perl. (Bien qu'il soit évident que C, C ++ et PHP étaient utilisés dans le passé.)

Donc ma question est, tout le monde frappe TIOBE, mais y a-t-il autre chose? Si oui, quelqu'un peut-il expliquer comment nous savons que l'alternative a une meilleure méthodologie? Merci.

Réponses:


14

Une alternative serait de regarder le nombre de questions pour chaque balise de langage de programmation sur StackOverflow.

J'ai mis en place une requête rapide pour ce faire: Post Counts By Tag

Sans surprise, étant donné la nature de cette communauté, C # a une avance considérable.

Bien sûr, cela est également biaisé par rapport aux langues qui, en raison de leur facilité d'utilisation, peuvent avoir moins de gens à poser des questions.


+1 belle page, et pour avoir aussi donné les inconvénients de l'approche ...
Tour du

10
SO a commencé par être promu par les blogs de Jeff et Joel, et a ainsi acquis un fort biais .NET. Comment cela a influencé sa communauté ultérieure est discutable. Il y a beaucoup de gens en C ++, par exemple, mais cela reflète-t-il des chiffres réels?
David Thornley

C'est pourquoi j'ai dit "étant donné la nature de cette communauté, C # a une avance considérable."
JohnFx

10
Le nombre de questions sur une langue spécifique sur SO est-il une mesure de sa popularité ou une mesure de son obtusness?
Robert Harvey

1
"Bien sûr, cela est également biaisé par rapport aux langues qui, en raison de leur facilité d'utilisation, pourraient avoir moins de gens à poser des questions." +1
Giorgio

6

Comme je l'ai déjà dit :

"mais il n'y a pas de meilleure source pour mesurer la popularité de la langue" - c'est parce qu'il n'y en a pas besoin. Personne avec aucun sens ne se soucie des classements - tant que votre langue est vivante et fait ce dont vous avez besoin, vous n'avez pas à vous soucier d'un classement arbitraire stupide.


Il existe diverses raisons pour lesquelles ces données sont utiles. Mais il se peut que le TIOBE soit assez bon pour ces raisons.
Eric Wilson

Si vous voulez énoncer ces raisons, je suis sûr que moi-même et d'autres pouvons prouver qu'ils ne sont pas raisonnables et / ou que TIOBE ne les aborde pas.
Peter Boughton

N'est-il pas judicieux de se demander si, par exemple, l'intérêt pour Java est en train de s'effondrer avant, par exemple, d'enseigner Java à un programmeur en herbe de 14 ans? Un bon indice ne fournirait jamais de réponse à la question, mais dire que de bonnes données n'auraient aucune utilité dans une décision est ahurissant.
Eric Wilson

4
N'enseignez pas Java à un programmeur en herbe de 14 ans. Enseignez-leur la programmation . Bien sûr, commencez par Java pour le faire, si vous le souhaitez, mais utilisez-le comme un outil pour leur enseigner des compétences transférables . Il n'est pas judicieux de connaître une seule syntaxe et un seul paradigme, et il n'est pas nuisible d'apprendre une langue qui pourrait être actuellement moins populaire. (Par exemple, quelle était la taille d'Obj-C avant l'arrivée du SDK iPhone?)
Peter Boughton

1
Commencez avec une langue, presque n'importe quelle langue, avec un interprète interactif. Ne commencez pas avec Java ou tout autre langage nécessitant une étape de compilation distincte.
kevin cline du

5

Want Ads - Bien qu'elles ne soient peut-être pas les meilleures pour la communauté internationale, elles tendent à être une très bonne mesure de la zone locale où vous travaillez. Si vous commencez soudainement à voir des annonces à la recherche de développeurs qui connaissent la langue x alors qu'il y avait des annonces à la recherche de développeurs qui connaissent la langue y et que ces tendances persistent pendant plusieurs mois, cela peut indiquer un changement de popularité dans votre région.


1
Le problème avec cela est que les petites annonces sont un indicateur en retard, tandis que l'OP semble vouloir un indicateur avancé.
dsimcha

3
Indeed.com a un bel outil pour ce type de recherche ( Indeed.com/… )
JohnFx

Bien sûr, j'ai mentionné Indeed.com
Eric Wilson

2
Ce n'est pas l'offre et la demande, c'est seulement la demande.
jk.

3

À peu près pour la même raison que vous avez les problèmes décrits ici: http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/ vous allez avoir des problèmes similaires avec tout autre classement «faire semblant de dire ce qui est populaire dans de nombreuses populations».

Les unités expédiées ne peuvent pas être comparées aux unités téléchargées

Prendre des chiffres en cours d'utilisation à partir de sites Web ou de logiciels commerciaux court-circuite les langues utilisées dans la recherche ou les mathématiques, car ces éléments ne sont pas exposés.

Faire quoi que ce soit avec les tendances ou l'analyse des mots clés est susceptible d'être à la mode ou de compter les mots à la mode.

À moins que vous n'ayez une zone cible en tête, il serait difficile de suggérer ce qui serait mieux. Je suppose que sur la base des langues que vous avez mentionnées, vous pourriez être plus intéressé par le côté branché, mais en règle générale, ce n'est pas bon car il y a probablement un nombre égal de personnes intéressées par le côté à long terme.


3

La seule façon dont je peux voir est une enquête générale sur la population. Quelque chose comme un sondage téléphonique utilisé par les sondeurs politiques. Vous devrez probablement appeler 100 000 personnes au hasard pour atteindre suffisamment de personnes qui se déclarent en tant que programmeurs pour que le résultat soit valide. Demandez-leur ensuite ce qu'ils utilisent.

La raison pour laquelle vous devez le faire est que chaque indicateur en ligne est auto-sélectionné et donc incorrect. Tiobe, recherches Google, messages SO, peu importe. Vous ne pouvez pas non plus regarder la fréquentation des coférences ou les abonnements à des magazines.

Si vous voulez des statistiques d'utilisation réelles, vous devez interroger la population générale.


1

Les tendances Google sont une autre que vous pouvez utiliser.

Il n'y a pas de réponse ou de source de données 100% correcte dans cet espace. Le mieux que vous puissiez faire est d'agréger les données de diverses sources et d'en tirer une conclusion aussi précise que possible.


1

Il serait intéressant d'étudier un tas de grands référentiels de code open source et de mesurer combien de lignes de nouveau code dans chaque langue sont engagées chaque semaine. Je ne suis pas sûr que les chiffres réels vous diraient quoi que ce soit, mais la tendance au fil du temps pourrait être très révélatrice.

J'aime cela comme mesure, car il s'agit davantage de la quantité de travail réel effectué dans la langue plutôt que de la confusion des gens à cause de la nouveauté brillante (ce qui est fortement influencé par les taux de recherche / questions google / SO) Je pense).

Bien sûr, il y a toutes sortes de problèmes avec ma métrique proposée aussi; FOSS-world est un sous-ensemble du monde réel, certaines langues se dirigent vers des référentiels particuliers (que vous pourriez manquer), certaines langues sont plus efficaces et tous les autres problèmes associés aux métriques LOC. Peut-être qu'un simple "nombre de validations" dans chaque langue serait plus utile.

Quelqu'un sait-il si de telles statistiques sont disponibles aujourd'hui? On dirait que quelque chose qu'Ohloh / Koders / Krugle devrait être capable de faire.


1

Voici un gars qui a étudié la corrélation entre number-of-code-repos-on-github.com vs # of-posts-tagged-with- "language" sur stackoverflow.com. Données de 2010, il y a longtemps. Long fil de commentaires.

http://www.dataists.com/2010/12/ranking-the-popularity-of-programming-langauges/

Voici une autre source de données, provenant d'une société de courtage d'emploi, l'URL accepte le paramètre "q" dans la chaîne de requête, génère un diagramme

http://www.indeed.com/jobtrends

http://www.indeed.com/jobtrends?q=perl


-1

Comme tout le monde dit "c'est un petit coup sûr", et en plus vous ne voyez pas les tendances futures de cela car même sur les résultats de recherche, vous obtiendrez beaucoup de gens qui expliqueront pourquoi "l'ancienne langue" est meilleure alors "nouveau langage tendance" et fausser ainsi les résultats.

Le site "Popularité de la langue" a essayé d'agréger une charge de recherches de langues à partir de divers sites pour donner un aperçu, mais ils expliquent quelles langues sont populaires sur quels sites et vous permettent de décider laquelle a du sens, par exemple, Google aime C, Yahoo aime C ++ tandis que Craigslist aime PHP. (site depuis disparu)

Je pense que le meilleur est le marché du travail - les langues qui apparaissent le plus dans les offres d'emploi sont un indicateur juste, avec le salaire qui leur est proposé.


Le site de popularité de langue (langpop.com) essaie maintenant d'installer une extension dans votre navigateur. Ne suivez pas le lien, ou faites-le avec soin.
Ellen Spertus

@EllenSpertus c'était un lien mort quand j'ai essayé. Mise à jour maintenant.
gbjbaanb
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.