Was ist die beste objektive Methode zur Messung von Sprachbeliebtheitstrends? (Was ist besser als TIOBE?) [Geschlossen]

15

Der beste Weg, um Daten über die Beliebtheit von Computersprachen zu erhalten, ist der TIOBE-Index. Aber jeder weiß, dass TIOBE hoffnungslos fehlerhaft ist. (Wenn jemand einen Link bereitstellt, um dies zu unterstützen, füge ich ihn hier hinzu.)

Gibt es also Daten zur Popularität von Programmiersprachen, die allgemein als sinnvoll erachtet werden? Die einzige andere Option, die ich kenne, besteht darin, die Trends bei indeed.com zu betrachten, die von Natur aus fehlerhaft sind und auf Stellenausschreibungen basieren.

Es ist nicht so, als würde ich eine zukünftige Sprachentscheidung nur auf der Grundlage eines Index treffen, aber es könnte ein nützliches Gleichgewicht zu der verzerrten Perspektive bieten, die man durch Gespräche mit Freunden und Kollegen erhält.

Um diese Tendenz zu verdeutlichen, möchte ich darauf hinweisen, dass die einzigen Sprachen, die heute beruflich verwendet werden (in der Reihenfolge ihrer Beliebtheit), Java, C #, Groovy, JavaScript, Ruby, Objective C und Perl sind. (Obwohl es offensichtlich ist, dass C, C ++ und PHP in der Vergangenheit verwendet wurden.)

Meine Frage ist also, jeder schlägt TIOBE, aber gibt es noch etwas? Wenn ja, kann jemand erklären, wie wir wissen, dass die Alternative eine bessere Methodik hat? Vielen Dank.

Eric Wilson
quelle

Antworten:

14

Eine Alternative wäre, sich die Anzahl der Fragen für jedes Programmiersprachen-Tag in StackOverflow anzusehen.

Ich habe dazu eine Schnellabfrage eingerichtet: Post Counts By Tag

Es überrascht nicht, dass C # angesichts des Charakters dieser Community einen erheblichen Vorsprung hat.

Dies ist natürlich auch voreingenommen gegenüber Sprachen, bei denen aufgrund der Benutzerfreundlichkeit möglicherweise weniger Personen Fragen stellen.

JohnFx
quelle
+1 schöne Seite, und für die Nachteile des Ansatzes auch geben ...
Rook
10
SO begann damit, von Jeffs und Joels Blogs beworben zu werden, und gewann so eine starke .NET-Neigung. Wie dies seine spätere Gemeinschaft beeinflusst hat, ist fraglich. Es gibt zum Beispiel eine Menge C ++ - Leute dort, aber spiegelt das irgendwelche reellen Zahlen wider?
David Thornley
Das ist der Grund, warum ich sagte: "Angesichts der Natur dieser Community hat C # einen erheblichen Vorsprung."
JohnFx
10
Ist die Anzahl der Fragen zu einer bestimmten Sprache in SO ein Maß für ihre Beliebtheit oder ein Maß für ihre Stumpfheit?
Robert Harvey
1
"Natürlich ist dies auch voreingenommen gegenüber Sprachen, bei denen aufgrund der einfachen Bedienung möglicherweise weniger Leute Fragen stellen.": Tolle Beobachtung! +1
Giorgio
6

Wie ich schon gesagt habe :

"aber es gibt keine bessere Quelle, um die Popularität von Sprachen zu messen" - das liegt daran, dass es keine braucht. Niemand mit irgendeinem Sinn kümmert sich um Ranglisten - solange Ihre Sprache lebt und das tut, was Sie brauchen, müssen Sie sich keine Sorgen um eine dumme willkürliche Rangliste machen.

Peter Boughton
quelle
Es gibt verschiedene Gründe, warum solche Daten nützlich sind. Aber vielleicht ist der TIOBE aus diesen Gründen gut genug.
Eric Wilson
Wenn Sie diese Gründe angeben möchten, können ich sicher sein, dass ich und andere beweisen können, dass sie nicht vernünftig sind und / oder dass TIOBE sie nicht anspricht.
Peter Boughton
Ist es nicht vernünftig, sich zu fragen, ob das Interesse an Java steigt, bevor man beispielsweise einem 14-jährigen angehenden Programmierer Java beibringt? Ein guter Index würde niemals eine Antwort auf die Frage liefern, aber zu sagen, dass gute Daten bei keiner Entscheidung von Nutzen sind, ist umwerfend.
Eric Wilson
4
Unterrichten Sie keinen 14-jährigen angehenden Programmierer in Java. Bringen Sie ihnen die Programmierung bei. Beginnen Sie mit Java, um dies zu tun, wenn Sie möchten, aber verwenden Sie es als Werkzeug, um ihnen übertragbare Fähigkeiten beizubringen. Es ist weder sinnvoll, nur eine Syntax und ein einziges Paradigma zu kennen, noch ist es schädlich, eine Sprache zu lernen, die derzeit möglicherweise weniger beliebt ist. (z. B. Wie groß war Obj-C vor dem Eintreffen des iPhone SDK?)
Peter Boughton
1
Beginnen Sie mit einer Sprache, fast jeder Sprache, mit einem interaktiven Dolmetscher. Beginnen Sie nicht mit Java oder einer anderen Sprache, die einen separaten Kompilierungsschritt erfordert.
Kevin Cline
5

Suchanzeigen - Obwohl sie möglicherweise nicht die besten für die internationale Gemeinschaft sind, sind sie in der Regel ein sehr gutes Maß für die Region, in der Sie arbeiten. Wenn Sie plötzlich eine von Anzeigen sehen, die nach Entwicklern suchen, die die Sprache x beherrschen, und es Anzeigen gab, die nach Entwicklern suchen, die die Sprache y beherrschen, und diese Trends mehrere Monate andauern, kann dies auf eine Verschiebung der Beliebtheit in Ihrer Region hinweisen.

rjzii
quelle
1
Das Problem dabei ist, dass Suchanzeigen ein verzögerter Indikator sind, während das OP einen führenden Indikator zu wollen scheint.
dsimcha
3
Indeed.com hat ein nettes Tool für diese Art von Recherche ( indeed.com/… )
JohnFx
Natürlich erwähnte ich indeed.com
Eric Wilson
2
Dies ist nicht Angebot und Nachfrage, dies ist nur Nachfrage.
jk.
3

Ziemlich aus dem gleichen Grund haben Sie die hier beschriebenen Probleme: http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/ Sie gehen ähnliche Probleme mit anderen "behaupten zu sagen, was in vielen Bevölkerungsgruppen beliebt ist" -Rankings zu haben.

Ausgelieferte Einheiten können nicht mit heruntergeladenen Einheiten verglichen werden

Verwendete Zahlen von Websites oder kommerziellen Software-Kurzformaten, die in der Forschung oder Mathematik verwendet werden, werden nicht offengelegt.

Wenn Sie mit Trends oder Keyword-Analysen arbeiten, liegt dies wahrscheinlich im Trend oder ist ein Schlagwort.

Wenn Sie nicht ein Zielgebiet im Auge haben, ist es schwierig vorzuschlagen, was besser wäre. Ich würde aufgrund der von Ihnen erwähnten Sprachen davon ausgehen, dass Sie sich eher für die trendige Seite interessieren, aber als allgemeine Antwort ist dies nicht gut, da sich wahrscheinlich ebenso viele Menschen für die langfristige Seite interessieren.

Rechnung
quelle
3

Der einzige Weg, den ich sehen kann, ist eine allgemeine Übersicht über die Bevölkerung. So etwas wie eine telefonische Umfrage, die von politischen Meinungsforschern durchgeführt wird. Sie müssten wahrscheinlich 100.000 zufällige Personen anrufen, um genügend Personen zu erreichen, die sich als Programmierer ausgeben, um das Ergebnis gültig zu machen. Dann fragen Sie sie, was sie verwenden.

Der Grund, warum Sie dies tun müssen, ist, dass jeder Online-Indikator sich selbst auswählt und daher falsch ist. Tiobe, Google-Suche, SO Beiträge, was auch immer. Sie können sich auch nicht die Teilnahme an Konferenzen oder Zeitschriftenabonnements ansehen.

Wenn Sie Statistiken zur tatsächlichen Nutzung wünschen, müssen Sie die allgemeine Bevölkerung befragen.

GroßmeisterB
quelle
1

Google Trends ist eine andere, die Sie verwenden können.

In diesem Bereich gibt es keine 100% richtige Antwort oder Datenquelle. Das Beste, was Sie tun können, ist, Daten aus verschiedenen Quellen zu aggregieren und daraus eine möglichst genaue Schlussfolgerung zu ziehen.

Martijn Verburg
quelle
1

Es wäre interessant, eine Reihe wichtiger Open-Source-Code-Repositorys zu untersuchen und zu messen, wie viele Zeilen neuen Codes in jeder Sprache pro Woche festgeschrieben werden. Wir sind uns nicht sicher, ob die tatsächlichen Zahlen etwas aussagen, aber der zeitliche Trend könnte sehr aufschlussreich sein.

Ich mag dies als Maß, da es mehr darum geht, wie viel tatsächliche Arbeit in der Sprache geleistet wird, als darum, wie verwirrt die Leute von einer neuen Sache sind (wovon Google / SO-Suche / Fragenraten stark beeinflusst werden) Meiner Ansicht nach).

Natürlich gibt es auch mit meiner vorgeschlagenen Metrik alle möglichen Probleme. FOSS-world ist eine Teilmenge der realen Welt, einige Sprachen tendieren zu bestimmten Repositories (die Sie möglicherweise übersehen), einige Sprachen sind effizienter und alle anderen Probleme, die mit LOC-Metriken verbunden sind. Vielleicht wäre nur die Anzahl der Festschreibungen in jeder Sprache sinnvoller.

Weiß jemand, ob solche Statistiken heute irgendwo verfügbar sind? Scheint so, als ob Ohloh / Koders / Krugle das können sollten.

timday
quelle
1

Hier ist ein Typ, der die Korrelation zwischen der Anzahl der Code-Repos auf Github.com und der Anzahl der mit "Sprache" getaggten Beiträge auf stackoverflow.com untersucht hat. Daten aus dem Jahr 2010, Alter her. Langer Kommentarthread.

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

Hier ist eine andere Datenquelle von einem Job-Broker-Unternehmen: Die URL akzeptiert den Parameter "q" in der Abfragezeichenfolge und gibt ein Diagramm aus

http://www.indeed.com/jobtrends

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

knb
quelle
-1

Da jeder sagt "es ist ein bisschen ein Hit-n-Miss" und man die zukünftigen Trends auch in den Suchergebnissen nicht sehen kann, werden viele Leute darüber sprechen, warum "alte Sprache" dann besser ist "Neue Trendsprache" und damit die Ergebnisse verzerren.

Die Website "Sprachpopularität" hat versucht, eine Vielzahl von Sprachsuchen von verschiedenen Websites aus zusammenzufassen, um einen Überblick zu erhalten. Nur sie erklären, welche Sprachen auf welchen Websites beliebt sind, und lassen Sie entscheiden, welche sinnvoll sind. Google mag beispielsweise C, Yahoo mag C ++, während Craigslist PHP mag. (Seite seit dem Verstorbenen)

Ich denke, das Beste ist der Arbeitsmarkt - welche Sprachen in Stellenanzeigen am häufigsten auftauchen, ist ein fairer Indikator, zusammen mit dem Gehalt, das für sie angeboten wird.

gbjbaanb
quelle
Die Website Language Popularity (langpop.com) versucht nun, eine Erweiterung in Ihrem Browser zu installieren. Folgen Sie nicht dem Link, oder tun Sie dies mit Sorgfalt.
Ellen Spertus
@ EllenSpertus es war tot Link, als ich versuchte. Jetzt aktualisiert.
gbjbaanb