Qual è il miglior modo oggettivo per misurare le tendenze della popolarità linguistica? (Cosa c'è di meglio di TIOBE?) [Chiuso]


15

Il modo migliore per ottenere dati sulla popolarità del linguaggio del computer che conosco è l'indice TIOBE. Ma tutti sanno che TIOBE è irrimediabilmente imperfetto. (Se qualcuno fornisce un link per supportare questo, lo aggiungerò qui.)

Quindi ci sono dati sulla popolarità del linguaggio di programmazione che sono generalmente considerati significativi? L'unica altra opzione che conosco è guardare le tendenze su indeed.com, che è intrinsecamente imperfetto, essendo basato su annunci di lavoro.

Non è che prenderei una decisione linguistica futura basandomi esclusivamente su un indice, ma potrebbe fornire un utile equilibrio alla prospettiva distorta che si ottiene parlando con amici e colleghi.

Per illustrare questo pregiudizio, sottolineo che, in base all'esperienza di coloro che conosco personalmente, le uniche lingue utilizzate oggi professionalmente (in ordine di popolarità) sono Java, C #, Groovy, JavaScript, Ruby, Objective C e Perl. (Anche se è evidente che in passato sono stati usati C, C ++ e PHP.)

Quindi la mia domanda è: tutti criticano TIOBE, ma c'è qualcos'altro? In tal caso, qualcuno può spiegare come sappiamo che l'alternativa ha una metodologia migliore? Grazie.

Risposte:


14

Un'alternativa sarebbe quella di esaminare il numero di domande per ogni tag del linguaggio di programmazione su StackOverflow.

Ho creato una query rapida per farlo: Post conta per tag

Non sorprende che, data la natura di quella comunità, C # abbia un vantaggio considerevole.

Naturalmente anche questo è distorto rispetto alle lingue che a causa della facilità d'uso potrebbero avere un minor numero di persone che fanno domande.


+1 bella pagina, e per dare anche gli svantaggi dell'approccio ...
Torre

10
SO è iniziato promosso dai blog di Jeff e Joel e ha acquisito una forte propensione per .NET. È discutibile come ciò abbia influenzato la sua comunità successiva. Ci sono molte persone C ++ lì, per esempio, ma questo riflette qualche numero reale?
David Thornley,

Ecco perché ho detto "data la natura di quella comunità, C # ha un vantaggio considerevole".
JohnFx,

10
Il numero di domande su una lingua specifica su SO è una misura della sua popolarità, o una misura della sua ottusità?
Robert Harvey,

1
"Naturalmente anche questo è distorto rispetto alle lingue che a causa della facilità d'uso potrebbero avere un minor numero di persone che fanno domande.": Grande osservazione! +1
Giorgio,

6

Come ho già commentato prima :

"ma non esiste una fonte migliore per misurare la popolarità della lingua" - questo perché non ce n'è bisogno. Nessuno con alcun senso si preoccupa delle classifiche - fintanto che la tua lingua è viva e fa ciò di cui hai bisogno, non c'è bisogno di preoccuparsi di una stupida classifica arbitraria.


Esistono vari motivi per cui tali dati sono utili. Ma potrebbe essere che il TIOBE sia abbastanza buono per questi motivi.
Eric Wilson,

Se vuoi affermare queste ragioni, sono sicuro che io stesso e gli altri possiamo dimostrare che non sono sensibili e / o che TIOBE non li affronta.
Peter Boughton,

Non è sensato chiedersi se, per esempio, l'interesse per Java si sta esaurendo prima, per esempio, insegnando Java a un programmatore in erba di 14 anni? Un buon indice non fornirebbe mai una risposta alla domanda, ma dire che dati validi non avrebbero alcuna utilità in qualsiasi decisione è sbalorditivo.
Eric Wilson,

4
Non insegnare Java a un programmatore in erba di 14 anni. Insegna loro la programmazione . Certo, inizia con Java per farlo, se vuoi, ma usalo come uno strumento per insegnare loro abilità trasferibili . Non è sensato conoscere solo una sintassi e un paradigma, né è dannoso apprendere una lingua che attualmente potrebbe essere meno popolare. (es. Quanto era grande Obj-C prima dell'arrivo dell'SDK per iPhone?)
Peter Boughton,

1
Inizia con una lingua, quasi qualsiasi lingua, con un interprete interattivo. Non iniziare con Java o qualsiasi lingua che richieda una fase di compilazione separata.
Kevin Cline,

5

Desideri annunci - Anche se potrebbero non essere i migliori per la comunità internazionale, tendono ad essere un'ottima misura dell'area locale in cui lavori. Se improvvisamente inizi a vedere una delle pubblicità in cerca di sviluppatori che conoscono la lingua x quando prima c'erano annunci in cerca di sviluppatori che conoscono la lingua ye queste tendenze persistono per diversi mesi, può indicare un cambiamento nella popolarità nella tua zona.


1
Il problema è che gli annunci pubblicitari desiderati sono un indicatore in ritardo, mentre l'OP sembra voler un indicatore anticipatore.
dsimcha,

3
Indeed.com ha un ottimo strumento per questo tipo di ricerca ( indeed.com/… )
JohnFx,

Certo, ho menzionato indeed.com
Eric Wilson il

2
Questa non è domanda e offerta, è solo domanda.
jk.

3

Praticamente per lo stesso motivo per cui hai i problemi descritti qui: http://blog.timbunce.org/2008/04/12/tiobe-or-not-tiobe-lies-damned-lies-and-statistics/ stai andando avere problemi simili con qualsiasi altra classifica "fingere di dire ciò che è popolare in molte popolazioni".

Le unità spedite non possono essere confrontate con le unità scaricate

Acquisire dati in uso da siti Web o linguaggi di software commerciali usati nelle ricerche o in matematica in quanto tale materiale non è esposto.

Fare qualsiasi cosa con le tendenze o l'analisi delle parole chiave sarà probabilmente alla moda o sarà un conteggio di parole d'ordine.

A meno che tu non abbia in mente un'area target, sarebbe difficile suggerire cosa sarebbe meglio. Immagino che in base alle lingue che hai citato potresti essere più interessato al lato alla moda, ma come risposta generale questo non va bene in quanto probabilmente ci sono un numero uguale di persone interessate al lato del termine.


3

L'unico modo in cui posso vedere è un'indagine generale sulla popolazione. Qualcosa come un sondaggio telefonico utilizzato dai sondaggisti politici. Probabilmente dovresti chiamare 100.000 persone a caso per raggiungere un numero sufficiente di persone che si dichiarano programmatori per rendere valido il risultato. Quindi chiedi loro cosa usano.

Il motivo per cui è necessario eseguire questa operazione è che ogni indicatore online è auto-selezionato e quindi errato. Tiobe, ricerche su Google, post SO, qualunque cosa. Né puoi guardare la partecipazione a coference o gli abbonamenti alle riviste.

Se si desidera ottenere statistiche sull'utilizzo effettivo, è necessario esaminare la popolazione generale.


1

Google Trends è un altro che puoi usare.

Non esiste una risposta o fonte di dati corretta al 100% in questo spazio. Il meglio che puoi fare è aggregare i dati provenienti da varie fonti e trarne una conclusione il più accurata possibile.


1

Sarebbe interessante esaminare una serie di importanti repository di codice open source e misurare quante righe di nuovo codice in ciascuna lingua sono impegnate ogni settimana. Non sono sicuro che i numeri reali ti direbbero qualcosa, ma la tendenza nel tempo potrebbe essere molto rivelatrice.

Mi piace questo come misura in quanto ha più a che fare con la quantità di lavoro reale svolto nella lingua piuttosto che con quanto le persone confuse sono in termini di novità (che è ciò che google / ricerca SO / tassi di domande sono fortemente influenzati da Penso).

Naturalmente ci sono anche molti problemi con la mia metrica proposta; Il mondo FOSS è un sottoinsieme del mondo reale, alcune lingue gravitano verso particolari repository (che potresti perdere), alcune lingue sono più efficienti e tutti gli altri problemi associati alle metriche LOC. Forse solo il "numero di commit" in ciascuna lingua sarebbe più utile.

Qualcuno sa se tali statistiche sono disponibili ovunque oggi? Sembra qualcosa che Ohloh / Koders / Krugle dovrebbe essere in grado di fare.


1

Ecco un ragazzo che ha studiato la correlazione tra number-of-code-repos-on-github.com vs # of-posts-tagged-with- "language" su stackoverflow.com. Dati del 2010, anni fa. Discussione commenti lunghi.

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

Ecco un'altra fonte di dati, da una società di broker di lavoro, l'URL accetta il parametro "q" nella stringa di query, genera un diagramma

http://www.indeed.com/jobtrends

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


-1

Come tutti dicono "è un po 'hit n miss", e inoltre non puoi vedere le tendenze future da questo come anche sui risultati dei termini di ricerca, avrai molte persone che parlano del perché "la vecchia lingua" è meglio di allora "nuovo linguaggio di tendenza" e quindi distorcere i risultati.

Il sito "Popolarità linguistica" ha tentato di aggregare un sacco di ricerche linguistiche da vari siti per fornire una panoramica, solo che spiegano quali lingue sono popolari su quali siti e consentono di decidere quale ha senso, quindi ad esempio a Google piace C, A Yahoo piace il C ++ mentre a Craigslist piace il PHP. (sito dal defunto)

Penso che il migliore sia il mercato del lavoro - le lingue che si presentano maggiormente nelle inserzioni di lavoro sono un indicatore equo, insieme allo stipendio offerto per loro.


Il sito di popolarità della lingua (langpop.com) ora tenta di installare un'estensione nel browser. Non seguire il link o farlo con cura.
Ellen Spertus,

@EllenSpertus era un collegamento morto quando ho provato. Aggiornato ora.
gbjbaanb,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.