Jaki jest najlepszy obiektywny sposób pomiaru trendów popularności języka? (Co jest lepsze niż TIOBE?) [Zamknięte]

15

Najlepszym sposobem na uzyskanie danych o popularności języka komputerowego, jaki znam, jest indeks TIOBE. Ale wszyscy wiedzą, że TIOBE jest beznadziejnie wadliwy. (Jeśli ktoś poda link do tego, dodam go tutaj.)

Czy są więc jakieś dane dotyczące popularności języka programowania, które są ogólnie uważane za znaczące? Jedyną inną opcją, jaką znam, jest przyjrzenie się trendom na rzeczywiście.com, która z natury jest wadliwa, ponieważ opiera się na ofertach pracy.

To nie jest tak, że podejmowałbym przyszłą decyzję językową wyłącznie na podstawie indeksu, ale może to zapewnić użyteczną równowagę przekrzywionej perspektywy, którą można uzyskać, rozmawiając z przyjaciółmi i współpracownikami.

Aby zilustrować to uprzedzenie, zaznaczę, że w oparciu o doświadczenia osób, które znam osobiście, jedynymi obecnie używanymi profesjonalnie językami (w kolejności popularności) są Java, C #, Groovy, JavaScript, Ruby, Objective C i Perl. (Chociaż jest oczywiste, że w przeszłości używano C, C ++ i PHP).

Moje pytanie brzmi: wszyscy używają TIOBE, ale czy jest coś jeszcze? Jeśli tak, to czy ktoś może wyjaśnić, skąd wiemy, że alternatywa ma lepszą metodologię? Dzięki.

Eric Wilson
źródło

Odpowiedzi:

14

Alternatywą byłoby sprawdzenie liczby pytań dla każdego znacznika języka programowania na StackOverflow.

Skonfigurowałem szybkie zapytanie, aby to zrobić: Post Counts By Tag

Nic dziwnego, biorąc pod uwagę charakter tej społeczności, C # ma znaczną przewagę.

Oczywiście jest to również stronnicze w stosunku do języków, które ze względu na łatwość użytkowania mogą mieć mniej osób zadających pytania.

JohnFx
źródło
+1 ładna strona, a także za wady podejścia ...
Rook
10
SO zaczęło się od awansu na blogach Jeffa i Joela, dzięki czemu uzyskało mocną stronniczość .NET. W jaki sposób wpłynęło to na kolejną społeczność, jest wątpliwe. Na przykład jest tam wielu ludzi z C ++, ale czy to odzwierciedla jakieś liczby rzeczywiste?
David Thornley,
Właśnie dlatego powiedziałem „biorąc pod uwagę naturę tej społeczności, C # ma znaczną przewagę”.
JohnFx,
10
Czy liczba pytań o konkretny język na SO jest miarą jego popularności, czy miarą jego tępoty?
Robert Harvey
1
„Oczywiście jest to również stronnicze w stosunku do języków, które ze względu na łatwość użytkowania mogą mieć mniej osób zadających pytania.”: Świetna obserwacja! +1
Giorgio
6

Jak już wcześniej skomentowałem :

„ale nie ma lepszego źródła do pomiaru popularności języków” - to dlatego, że takiego nie ma. Nikt nie przejmuje się rankingami - dopóki twój język żyje i robi to, czego potrzebujesz, nie musisz się martwić o głupie arbitralne rankingi.

Peter Boughton
źródło
Istnieje wiele powodów, dla których takie dane są przydatne. Ale być może TIOBE jest wystarczająco dobry z tych powodów.
Eric Wilson,
Jeśli chcesz podać te powody, jestem pewien, że ja i inni możemy udowodnić, że nie są rozsądni i / lub że TIOBE ich nie dotyczy.
Peter Boughton,
Czy nie ma sensu zastanawiać się, czy powiedzmy, że zainteresowanie Javą rośnie, zanim, powiedzmy, uczy Javy dla 14-letniego początkującego programisty? Dobry indeks nigdy nie dałby odpowiedzi na pytanie, ale stwierdzenie, że dobre dane nie przydałyby się w żadnej decyzji, jest zadziwiające.
Eric Wilson,
4
Nie ucz języka Java dla 14-letniego początkującego programisty. Naucz ich programowania . Jasne, zacznij od Java, aby to zrobić, jeśli chcesz, ale używaj go jako narzędzia do uczenia ich umiejętności zbywalnych . Poznanie tylko jednej składni i paradygmatu nie jest rozsądne, a nauka języka, który może być obecnie mniej popularny , nie jest szkodliwa . (np. Jak duży był Obj-C przed pojawieniem się iPhone SDK?)
Peter Boughton
1
Zacznij od języka, prawie dowolnego języka, z interaktywnym tłumaczem. Nie zaczynaj od Java lub jakiegokolwiek języka wymagającego osobnego kroku kompilacji.
kevin cline
5

Chcesz reklamy - Chociaż mogą nie być najlepsze dla społeczności międzynarodowej, są one zazwyczaj bardzo dobrą miarą lokalnego obszaru, w którym pracujesz. Jeśli nagle zaczniesz widzieć reklamy szukające programistów znających język x, kiedy były reklamy szukające programistów znających język y, a trendy te utrzymują się przez kilka miesięcy, może to oznaczać zmianę popularności w Twojej okolicy.

rjzii
źródło
1
Problem polega na tym, że pożądane reklamy są opóźnionym wskaźnikiem, podczas gdy PO wydaje się, że chce wiodącego wskaźnika.
dsimcha
3
Indeed.com ma fajne narzędzie do tego typu badań ( rzeczywiście.com/... )
JohnFx
Oczywiście wspominałem rzeczywiście ..com
Eric Wilson,
2
To nie jest podaż i popyt, to tylko popyt.
jk.
3

Dość dużo z tego samego powodu masz kłopoty opisane tutaj: http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/ idziesz mieć podobne problemy z innymi rankingami „udawaj, że są popularne wśród wielu populacji”.

Dostarczonych jednostek nie można porównać z pobranymi jednostkami

Biorąc dane użytkowe ze stron internetowych lub oprogramowania komercyjnego, krótkie języki używane w badaniach lub matematyce, ponieważ te rzeczy nie są ujawniane.

Robienie czegokolwiek za pomocą trendów lub analizy słów kluczowych może być modne lub być modne.

Jeśli nie masz na myśli obszaru docelowego, trudno byłoby zasugerować, co byłoby lepsze. Sądzę, że na podstawie języków, o których wspomniałeś, możesz być bardziej zainteresowany modną stroną, ale ogólnie rzecz biorąc, nie jest to dobre, ponieważ prawdopodobnie jest tyle samo osób zainteresowanych stroną długoterminową.

Rachunek
źródło
3

Jedyny sposób, w jaki widzę, to ogólne badanie populacji. Coś w rodzaju ankiety telefonicznej używanej przez ankieterów politycznych. Prawdopodobnie musiałbyś zadzwonić do 100 000 losowych osób, aby dotrzeć do wystarczającej liczby osób, które zgłaszają się jako programiści, aby wynik był prawidłowy. Następnie zapytaj ich, czego używają.

Powodem, dla którego musisz to zrobić, jest to, że każdy wskaźnik online sam się wybiera, a zatem jest nieprawidłowy. Tiobe, wyszukiwania w Google, posty SO, cokolwiek. Nie możesz też patrzeć na frekwencję obecności lub subskrypcje czasopism.

Jeśli chcesz uzyskać rzeczywiste statystyki użytkowania, musisz zbadać ogólną populację.

Grandmaster B.
źródło
1

Trendy Google to kolejny, którego możesz użyć.

W tej przestrzeni nie ma 100% poprawnej odpowiedzi ani źródła danych. Najlepsze, co możesz zrobić, to agregować dane z różnych źródeł i wyciągać z nich możliwie najdokładniejsze wnioski.

Martijn Verburg
źródło
1

Interesujące byłoby zbadanie kilku głównych repozytoriów kodu open source i zmierzenie, ile wierszy nowego kodu w każdym języku jest zatwierdzanych co tydzień. Nie jestem pewien, czy rzeczywiste liczby coś ci powiedzą, ale trend w czasie może być bardzo odkrywczy.

Podoba mi się to, ponieważ jest bardziej związane z tym, ile rzeczywistej pracy wykonuje się w języku, a nie z tym, jak bardzo zdezorientowani są ludzie z powodu błyszczącej nowości (na to, na co na wyszukiwanie w Google / SO / wskaźniki zapytania mają duży wpływ Myślę).

Oczywiście są też różnego rodzaju problemy z moją proponowaną metryką; Świat FOSS jest podzbiorem świata rzeczywistego, niektóre języki skłaniają się ku konkretnym repozytoriom (których możesz przegapić), niektóre języki są bardziej wydajne, a wszystkie inne problemy związane z miernikami LOC. Może po prostu bardziej przydatna byłaby „liczba zatwierdzeń” w każdym języku.

Czy ktoś wie, czy takie statystyki są dziś dostępne w dowolnym miejscu? Wydaje się, że coś, co Ohloh / Koders / Krugle powinno być w stanie zrobić.

czas
źródło
1

Oto jeden facet, który badał korelację między liczbą-kodów-repos-on-github.com a liczbą postów oznaczonych tagiem „język” na stackoverflow.com. Dane z 2010 roku sprzed wieków. Długi wątek komentarzy.

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

Oto inne źródło danych, od firmy pośredniczącej, adres URL akceptuje parametr „q” w ciągu zapytania, generuje diagram

http://www.indeed.com/jobtrends

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

knb
źródło
-1

Jak wszyscy mówią „jest trochę trafiony i chybiony”, a poza tym nie widzisz przyszłych trendów, nawet w wynikach wyszukiwania wyszukiwanych haseł, wielu ludzi mówi o tym, dlaczego „stary język” jest lepszy niż „nowy język trendów”, a tym samym wypaczać wyniki.

Witryna „Popularność języka” próbowała zebrać mnóstwo wyszukiwań języka z różnych witryn, aby dać ogólny przegląd, tylko wyjaśniają, które języki są popularne w poszczególnych witrynach, i pozwala zdecydować, które ma sens, na przykład Google lubi C, Yahoo lubi C ++, podczas gdy Craigslist lubi PHP. (strona nie działa)

Myślę, że najlepszy jest rynek pracy - które języki pojawiają się najczęściej w ogłoszeniach o pracę, to uczciwy wskaźnik wraz z oferowaną im pensją.

gbjbaanb
źródło
Witryna Popularność języka (langpop.com) próbuje teraz zainstalować rozszerzenie w przeglądarce. Nie podążaj za linkiem lub rób to ostrożnie.
Ellen Spertus
@EllenSpertus to był martwy link, kiedy próbowałem. Zaktualizowano teraz.
gbjbaanb