October 5, 2024

Kokios yra labiausiai nemėgstamos programavimo kalbos?

„Stack Overflow Jobs“ galite sukurti savo kūrėjų istoriją, kad pademonstruotumėte savo pasiekimus ir paaukštintumėte savo karjerą. Viena galimybė, kurią turite kurdami kūrėjų istoriją, yra pridėti žymas, su kuriomis norėtumėte dirbti ar norėtumėte ne patinka dirbti su:

Tai suteikia mums galimybę išnagrinėti šimtų tūkstančių kūrėjų nuomones. Yra daugybė būdų įvertinti kalbos populiarumą; pavyzdžiui, tokioms tendencijoms įvertinti dažnai naudodavome „Stack Overflow“ apsilankymus arba klausimų rodinius. Tačiau šis duomenų rinkinys yra retas būdas sužinoti, kokias technologijas žmonės linkę naudoti nemėgti, kai suteikiama galimybė tai pasakyti savo gyvenimo aprašyme.

(Dalį šios analizės savo asmeniniame tinklaraštyje paskelbiau prieš dvejus metus, tačiau šis įrašas atnaujinamas tiek naujesniu duomenų rinkiniu, tiek daugiau vizualizacijų ir tyrinėjimų).

Programavimo kalbos

Norėdami įvertinti, kiek poliarizuoja kiekviena žyma, mes apžvelgsime, kokia laiko dalis ji rodoma kieno nors nemėgstamose žymose, palyginti su tuo, kaip dažnai ji rodoma kieno nors pažymėtose pažymėtose arba nemėgstamose žymose. Taigi 50% reikštų, kad žymė buvo nemėgstama tiksliai taip dažnai, kaip jai patiko, o 1% reiškia, kad kiekvienam, kuriam ji nepatiko, buvo 99 žmonės, kuriems ji patiko. (Šiems vidurkiams įvertinti naudojome empirinį Bayeso metodą, kurį aprašau šiame įraše, ir šį metodą 95% patikimiems intervalams apskaičiuoti).

Pradėkime nuo pasirinkto programavimo sąrašo peržiūros kalbomis (priešingai nei tokios platformos kaip „Android“ ar bibliotekos, pvz., „JQuery“), kurios visos turi bent 2 000 minimų kūrėjų istorijose.

Labiausiai nemėgstamos kalbos gana dideliu skirtumu yra „Perl“, „Delphi“ ir „VBA“. Po jų seka PHP, „Objective-C“, „Coffeescript“ ir „Ruby“. Mūsų komandoje mes tikrai džiaugiamės matydami, kad R yra mažiausiai nemėgstama programavimo kalba, palyginti su žmonių, kuriems ji patiko, skaičiumi.

Jei perskaitėte keletą kitų mūsų įrašų apie augančias ir mažėjančias programavimo kalbas, galite pastebėti, kad mažiausiai nemėgstamos žymos dažniausiai būna greitai augantys. „R“, „Python“, „Typescript“, „Go“ ir „Rust“ yra sparčiai augantys vertinant „Stack Overflow“ veiklą (mes jau anksčiau specialiai tyrėme „Python“ ir „R“) ir visi jie yra tarp mažiausiai poliarizuojančių kalbų. Panašiai daugelis mažėjančių žymų, tokių kaip „Perl“, „Objective-C“ ir „Ruby“, yra tos, kurias anksčiau pastebėjome kaip viena iš sparčiausiai besitraukiančių žymių svetainėje.

Tai galime ištirti palyginę kiekvienos kalbos dydį ir augimą su nemėgstančių žmonių procentais, o oranžiniai taškai reiškia labiausiai nemėgstamas kalbas. Kad analizė atitiktų kelis paskutinius įrašus, statistiką apribosime tik dideles pajamas gaunančiomis šalimis (tokiomis kaip JAV, JK, Vokietija ir Kanada).

Paprastai yra ryšys tarp žymos augimo ir to, kaip dažnai ji nemėgsta. Beveik viskas, kas nepatinka daugiau nei 3% istorijų, kuriose tai paminėta, „Stack Overflow“ sraute mažėja (išskyrus gana poliarizuojančią VBA, kuri pastovi arba šiek tiek auga). Mažiausiai nemėgstami žymenys – „R“, „Rust“, „Typescript“ ir „Kotlin“ – yra visi tarp sparčiai populiarėjančių žymenų („Typescript“ ir „Kotlin“ taip greitai auga, kad juos teko sutrumpinti siužete).

Viena išsiskirianti žymė yra funkcinė kalba „Clojure“; beveik niekas nereiškia nemalonės dėl jo, tačiau jis vis tiek yra vienas iš greičiausiai mažėjančių (remiantis apsilankymais klausimais, jis pradėjo mažėti tik per pastaruosius metus). Kita išimtis yra MATLAB, kuri mažėja, nepaisant to, kad nedaug žmonių išreiškė nemėgstamumą. Tai gali reikšti, kad duomenys yra riboti vertinant nuotaiką: nors bet kurie interneto kūrėjai gali turėti nuomonę apie PHP, C # ar „Ruby“, žmonės, kurie nedirba analizuodami duomenis, neturi daug priežasčių pareikšti nuomonę apie MATLAB. (Tai tikriausiai yra priežastis, kodėl R taip retai minimas ir „Nemėgstuose“.)

Mes nebūtinai siūlome priežastinį ryšį, kai žymos, kurios nepatinka programuotojų komponentui, lemia jų atsisakymą. Kita galimybė yra ta, kad žmonės jaučiasi patogiai viešai reiškdami savo nemeilę, jei jaučia, kad kalbos populiarumas jau mažėja. Taip pat galima įsivaizduoti, kad kūrėjai dažnai naudoja šią sritį norėdami pažymėti savo technologijas naudojamas dirbti, bet nebedaryti. Tai sukeltų natūralų „pakeistų“ technologijų progresą, kuris atsidurtų Nemėgstamoje srityje.

Labiausiai nepatiko ir patiko žymos

Pirmiau pateiktoje analizėje atsižvelgiama tik į programavimo kalbas, o ne į operacines sistemas, platformas ar bibliotekas. Kokios yra labiausiai nemėgstamos technologijos? Norėdami sutelkti dėmesį į dideles technologijas, apie kurias turime pakankamai duomenų, apsiribojome technologijomis, minimomis bent 1 000 kartų.

Keletas yra „Microsoft“ technologijos, ypač „Internet Explorer“ ir „Visual Basic“, taip pat „Microsoft“ žyma („Apple“ taip pat patenka į sąrašą, nors tai nėra taip dramatiškai nemėgstama). Turime gerų žinių daugumai žmonių, kuriems nepatinka „Flash“. Pasirodo ir senesnės kalbos, tokios kaip COBOL, Fortran ir Pascal.

Verta dar kartą pabrėžti, kad tai nėra kaltinimas technologijomis, jų kokybe ar populiarumu. Tai yra tiesiog matavimas, kokios technologijos sukelia stiprius neigiamus jausmus bent daliai kūrėjų, kurie jaučiasi patogūs tuo viešai dalintis.

Taip pat galėtume priartinti vienodai populiarias technologijas, tas, kurių beveik niekada nemėgsta. (Šį kartą, kadangi labai patinkančios žymos yra labiau paplitusios, daugiausia dėmesio skiriame tik technologijoms, paminėtoms bent 10 000 kartų.)

„Git“ gali sukelti nusivylimą daugeliui kūrėjų (tai tikrai skirta man!), Tačiau retai žmonės tai pripažįsta savo gyvenimo aprašyme, nes tai yra labiausiai vienareikšmiškai mėgstama žymė mūsų kūrėjų istorijose. R sudaro šį sąrašą, tačiau tai nėra vienintelė su duomenų mokslu susijusi žymė, kuri nėra prieštaringa; mašininio mokymosi žymelę pamėgo 23 tūkstančiai žmonių ir ji buvo gana retai nemėgstama. Tokios žymos kaip „Python-3.X“, CSS3 ir HTML5 gali reikšti, kad kūrėjai retai nurodo, kad jiems nepatinka konkretus versija technologijos (net jei jose nurodoma). Ir, žinoma, „jQuery“ kaip niekad populiarus „Stack Overflow“.

Poliarizuojančių žymų tinklas

Visas šias žymes galime sujungti į vieną istoriją, sutvarkydami jas į tinklą. Paskutiniame įraše Julia Silge parodė, kaip mes galime sukurti technologijų tinklą, kuris atspindėtų bendrą programinės įrangos ekosistemą. Jei mes nuspalvinsime mazgus pagal tai, kaip nepatinka kiekviena žyma, galime suprasti, kurios ekosistemos dalys yra prieštaringesnės nei kitos.

Išdėstydami „Developer Story“ žymas į subekosistemas, šis tinklas pasakoja istoriją apie tai, kokio tipo žymos linkusios poliarizuotis. Subekosistemose yra poliarizuojančių žymų klasteriai, skirti „Microsoft“ (sutelkti aplink C # ir .NET), PHP (kartu su „WordPress“ ir „Drupal“) ir mobiliajam kūrimui (ypač „C-tikslui“). Operacinių sistemų grupėje (apatiniame dešiniajame kampe) galime pastebėti, kad tokios sistemos kaip OSX ir ypač „Windows“ turi savo detektorių, tačiau tokios žymos kaip „Linux“, „Ubuntu“ ir „Unix“ neturi.

Varžybos

Jei kam nors patinka tam tikra žyma, ar yra kokių nors žymų, kurių jis neįprastai gali nepatikti?

Tai galime išmatuoti naudodami phi koeficientą tarp tam tikros patikusios žymos išvaizdos. (Skaičiuodami šias koreliacijas atsižvelgėme tik į žmones, kuriems nepatiko bent viena žyma.)

Tai išryškina kai kurias programinės įrangos ekosistemos „varžybas“: „Linux“ ir „OSX“ prieš „Windows“, „Git“ prieš SVN, „vim“ prieš „emacs“ ir (man nenuostabu) „R“ ir „SAS“. Dauguma šių porų neatspindi „priešingų“ technologijų, bet atspindi du požiūrius į panašias problemas. Daugelis jų siūlo pereiti nuo anksčiau populiarios technologijos prie modernesnės (SVN pakeitė Git, XML pakeitė JSON, VB – C #). Tai prasminga kalbant apie tai, ką žmonės įtrauktų į gyvenimo aprašymą; kūrėjai dažnai nurodo, kad jie mieliau nedirbtų su tuo, ką laiko pasenusiu.

Išvada

Aš nesu suinteresuotas „kalbų karais“ ir neturiu nuomonės apie vartotojus, kurie dalijasi technologijomis, su kuriomis jie geriau nedirbtų. Pagalvojus apie tai, kaip dažnai poliarizuoja „Microsoft“ technologijos, skatina mane pasidalinti savo asmenine patirtimi. Aš visą gyvenimą buvau „Mac“ ir UNIX vartotojas, ir beveik visas mano programavimas kolegijose ir magistrantūros mokyklose buvo sutelktas į „Python“ ir „R“. Nepaisant to, aš buvau laimingas prisijungęs prie įmonės, turinčios .NET kaminą, ir džiaugiuosi Aš tai dariau, nes man patiko komanda, produktas ir duomenys. Negaliu kalbėti už nieką kitą, bet džiaugiuosi, kad apibrėžiau save pagal tai, kokį darbą noriu dirbti, o ne tai, ko norėjau išvengti.

Jei norėtumėte pasidalinti kokiomis technologijomis jums patinka ir nepatinka, ir galbūt rasite kitą savo karjeros žingsnį, galite sukurti savo kūrėjų istoriją.

Norite dirbti su jums patinkančiomis technologijomis? Raskite kitą žingsnį „Stack Overflow Jobs“, kur galite ieškoti pagal savo technologijas Kaip dirbti su.

Parašykite komentarą

El. pašto adresas nebus skelbiamas. Būtini laukeliai pažymėti *

Previous post Sveiki atvykę į UPLIFT
Next post Ką pakeitė apklausos dalyviai nuo 2016 m. – ir kas vis dar kelia jiems nerimą dėl 2020 m