Jak sympatia do języków programowania zmienia się z wiekiem?
Czy Twój wybór języka się zmienia? Twoje doświadczenie i wiek mogą mieć wpływ na to, który język programowania uważasz za najfajniejszy.
Dziś na warsztat bierzemy wyniki ankiety HackerRank. Jest tam wiele bardzo ciekawych danych. Np. to, że VIM wymiata, jeżeli chodzi o edytory. Albo to, że założyciele firm trzykrotnie częściej od innych programistów zaczynali programować przed 10 rokiem życia.
My jednak przyjrzeliśmy się bliżej sekcji - “Które języki programowania preferują developerzy z podziałem na wiek”. W tym pytaniu ankietowani mogli zaznaczyć, że jakiś język lubią lub nie lubią go. Następnie procent nielubiących został odjęty od procenta lubiących. Stąd - wynik zawiera się w przedziale -100% - 100%.
Wygrał tu zdecydowanie Python z wynikiem aż 84%. Co oznacza, że 92% ludzi zaznaczyło w tym pytaniu “lubię”. Python nie wygrał tylko w grupie wiekowej 55+, ale do tego dojdziemy później.
Kolejne miejsca to C, C++, Java, JavaScript. Na końcu uplasowały się Julia, Pascal, OCaml i Perl.
To, co nas dziś szczególnie interesuje to, jakie są różnice między poszczególnymi grupami wiekowymi i znalezienie możliwych przyczyn.
Hackerrank zauważył, że różnice występują i tak je skomentował w swoim badaniu:
Zauważamy niezwykły trend pokoleniowy w wśród nowszych języków: młodzi programiści nie lubią nowszych języków (takich jak Go, Kotlin czy Scala) bardziej niż starsi developerzy. W zasadzie Go tworzy jedną z największych przepaści. Programiści w wieku 18-24 zupełnie się nim nie interesują, ale dla tych w wieku 45-54 jest jednym z ukochanych języków. Odwrotna zależność jest prawdziwa dla JavaScriptu.
My chcemy przyjrzeć się sytuacji bliżej. By mieć lepszy obraz podzieliliśmy dane udostępnione przez HackerRank na kilka kategorii i wyliczyliśmy w nich średnie wartości.
Trochę wykresów
Na początek przedstawiamy średnią dla wszystkich języków z zestawienia. Widać, że sympatia dla języków programowania rośnie wraz z wiekiem, by spaść do poziomu nieco powyżej średniej dla grupy 55+. Mamy pewną propozycję wyjaśnienia tej tendencji. Jeżeli czegoś nie znasz, to prawdopodobnie tego nie lubisz. Młodzi programiści siłą rzeczy będą znać mniej języków programowania niż ci z dużym doświadczeniem. Jest to nasza hipoteza, jednak mamy zbyt mało danych, by ją przetestować.
Podobną i dużo bardziej wyraźną tendencję widać dla języków funkcyjnych (Erlang, Clojure, Haskell, OCaml). Co zaskakuje, że tylko programiści w grupie wiekowej 45-54 mają w większości pozytywny stosunek do języków funkcyjnych. Głównie jest to zasługa dużej sympatii dla Erlanga i Haskella. To o tyle ciekawe, że o programowaniu funkcyjnym dużo się słyszy i są to wypowiedzi najczęściej pozytywne. Nie widać tego na danych HackerRanka.
Wzięliśmy tu pod uwagę Go, Kotlina, Swifta, Scalę i Rusta. Indeks sympatii jest dla nich nieco wyższy niż dla średniej z wszystkich języków. Widać, że grupy 25-34 i 35-44 podzielają entuzjazm grupy naszych optymistów - 45-54.
Na koniec zostawiliśmy pierwszą piątkę rankingu TIOBE. To Java, C, C++, Python, C#, JavaScript. I w końcu mamy inną tendencję. Młodzi programiści uwielbiają najpopularniejsze języki. Pewnie dlatego, że najłatwiej się ich nauczyć i ilość oraz jakość zasobów na ich temat jest bardzo duża. Gdy chodzi o sympatię, to jest różnica 50% w stosunku do tego, co mieli do powiedzenia o wszystkich językach i prawie 90% w stosunku do sympatii do języków funkcyjnych. Z wiekiem miłość do najbardziej popularnych języków powoli stygnie. Nie jest to jednak tak, że sentyment całkowicie się zmienia, a jedynie nieco słabnie - w miarę jak programiści odkrywają inne języki i poszerzają swoje horyzonty.
Co jeszcze się działo w grupach wiekowych?
18-24
Już ustaliliśmy, że najbardziej lubią języki najpopularniejsze. Co ciekawe tylko w tej grupie większość patrzy przychylnie na PHP. Znowu można to tłumaczyć łatwością wejścia w świat PHP i tym, że jednak nadal wiele osób zaczyna właśnie od tego języka.
25-34
Grupa odpowiadająca mniej więcej tak jak średnia. Wyróżnia ich sympatia do Go i antypatia do PHP.
35-44
Grupa, która woli bardziej TypeScript niż JavaScript.
45-54
Grupa wiekowa, która lubi praktycznie wszystko. W zasadzie niechęcią darzą tylko PHP i Perla. Poza tym uwielbiają Go i języki funkcyjne. Nieco mniej niż inni lubią Pythona, Javę i JavaScript. Kto by pomyślał, że programiści w tym wieku będą takimi hipsterami?
55+
Gdy spojrzy się na wykresy, które stworzyliśmy, to można odnieść wrażenie, że odpowiadali podobnie jak grupa 25-34. Jednak wartości dla poszczególnych języków programowania są tu zupełnie inne niż u pozostałych. Na tyle inne i niespotykane, że zaczęliśmy się zastanawiać czy grupa, która wzięła w ankiecie była reprezentatywna.
O ile to, że w tej grupie C pokonało Pythona jest do zrozumienia. Tak samo, jak to, że ci programiści lubią Pascala. To prawdopodobnie wynika z tego, że obydwa języki były niesamowicie popularne 30 lat temu, kiedy zaczynali kariery. Natomiast to, że najbardziej uwielbianym językiem został Swift jest nieco podejrzane - z indeksem sympatii 75%. W tym samym czasie Go cieszy się sympatią o 33% niższą niż wynik dla wszystkich grup wiekowych, Kotlin o 26%, Scala prawie o 12% i tylko Rust ma wynik o 5% wyższy od średniej.
Doświadczenie i wiek wpływa na to jak postrzegamy języki programowania. Jak pokazała ta ankieta są one zauważalne nawet na poziomie samej sympatii do języków. Z drugiej strony nie są to różnice tak znaczące byśmy nie mogli się dogadać. Warto jednak konfrontować swoje zdanie ze zdaniem innych osób, które mają inne doświadczenie. Z pewnością można się od nich dowiedzieć czegoś nowego. Nie tylko jakie języki programowania lubią, ale też, dlaczego je lubią czy jak pomogły im one w ich pracy.