Najpopularniji programski jezici godine. Ocena programskih jezika. Desktop aplikacije ili desktop

U dvije godine otkako smo proučavali ovu temu, došlo je do značajnog porasta potražnje za programerima softvera. Prema podacima, broj poslova za programere softvera je porastao i nastavlja biti najbrže rastući segment svih vrsta zapošljavanja. Međutim, kako sve oko nas postaje sve digitalnije, prosječna osoba također mora imati osnovno znanje o kodiranju, makar samo da bi povećala svoju vrijednost na tržištu rada.

Jednostavno rečeno: postoji mnogo programskih jezika. Neki od njih su vrlo specifični i namijenjeni za određene svrhe, drugi se mogu koristiti šire. U zavisnosti od oblasti aktivnosti, možda bi bilo pametno identifikovati one koji vam mogu pomoći da napredujete u ovoj oblasti, a istovremeno zapamtite da opšte znanje o programiranju dobija na značaju.

Koji su programski jezici traženi?

Kao što je prikazano u tabeli 1, među 10 najboljih programskih jezika dominiraju Java, JavaScript i C porodica jezika (C, C++, C#, Objective-C) koji su najtraženiji u 2016/ 2017. U velikoj mjeri, ovi jezici su osnova mnogih softverske aplikacije koje uzimamo zdravo za gotovo. Zato su programeri sa iskustvom u radu sa ovim jezicima iz godine u godinu i dalje traženi. Međutim, ovi jezici mogu biti najteži za učenje, što rezultira novim jezicima koje je lakše naučiti, osvajajući položaj i nudeći atraktivniju alternativu.

Tabela 1: Vodeći programski jezici za 2017. (Izvori: Tiobe, IEEE, Stack Overflow, PYPL Index)

Također je vrijedno napomenuti da su pored onoga što ovdje nazivamo "općenitim programiranjem" - koje se može koristiti za širok raspon namjena i aplikacija, uključeni i neki posebni jezici. Rastuća popularnost takvih jezika ima tendenciju da potvrđuje druge trendove koji su se pojavili posljednjih godina i koji bi mogli nastaviti da dobijaju na značaju u godinama koje dolaze.

R jezik

Iako R postoji oko 20 godina, uglavnom su ga koristili manipulatori podacima, kao što su statističari. Međutim, u kontekstu analize velikih podataka, R jezik je viši u prvom planu i, zbog svoje lakoće upotrebe, u određenoj mjeri je zasjenio druge teške i dugotrajne alate kao što su Matlab i SAS.

Idi jezik

Created od Google-a, Go jezik je besplatni programski jezik otvorenog koda izvorni kod... Dizajniran je kao alternativa jeziku C. Odmah i kada se uporedi sa C, možete vidjeti da je Go jednostavan, brz i lak za korištenje. Štaviše, brojne poznate web stranice i kompanije, uključujući CloudFlare, Dropbox, Google, Netflix, SoundCloud i druge, koriste Go, što omogućava predviđanje njegove daljnje upotrebe u budućnosti.

Swift language

Swift je kreirao Apple za upotrebu na svojim operativnim sistemima iOS, macOS, watchOS, tvOS i kao alternativu Objective-C. U poređenju sa ovim drugim, Swift je moderniji jezik. Takođe je lakše čitati i pisati programe, što je posebna prednost kada se mnogo stranica koda mora preraditi. Osim toga, s kontinuiranom popularnošću Applea općenito, a posebno pojedinačnih uređaja, postoji dobra potražnja za programerima koji govore Swift jezik.

[Neobrađene podatke i R skripte možete pronaći na GitHubu]

U anketi je učestvovalo 8186 ljudi, 90% učesnika živi u Ukrajini.

Glavni rezultati

Java je i dalje najčešće korišćeni jezik (23% tržišta), JavaScript je došao na drugo mesto (16%), malo ispred C# po popularnosti. Na 4. mestu je, kao i ranije, PHP (13%) sa velikom razlikom od Pythona (7%). C++ programiranje zauzima 5% tržišta, a slijede Ruby (4,5%), Swift i Objective-C. Scala zatvara prvih deset najpopularnijih jezika (1,5%), ispred C i 1C.

Sa strane "dugog repa" - upotreba TypeScript-a i Kotlina postala je primjetna.

Pogledajmo dinamiku posljednjih godina:

Vidimo smanjenje upotrebe Jave, uprkos činjenici da je jezik i dalje najrašireniji. JavaScript nastavlja da dobija na popularnosti istom brzinom kao i ranije. U sektoru razvoja iOS-a, Swift nastavlja da istiskuje Objective-C (sada je omjer Swifta i Objective C 55/45, prošle godine je bio 20/80). Takođe od statistički značajnih promjena u odnosu na početak 2016. godine - porast popularnosti Scale i Go. Pad popularnosti PHP-a je zaustavljen.

Preferirane tehnologije

Slična je situacija i ovdje. Iz vijesti je postao vidljiv rast Go perspektive, Kotlina i TypeScript-a, ali bi Java izabrala znatno manje ljudi za sljedeći projekat nego prošle godine. Može se pretpostaviti da se Kotlin smatra preferiranim jezikom od strane onih programera koje Java već ograničava, a čini se da je Scala ili previše složena ili nije baš pogodna za ovu oblast. Takođe možete povezati pad rasta JavaScript-a sa porastom TypeScript-a: može se koristiti kao statički otkucani JavaScript.

Napravimo "indeks zadovoljstva" - udio programera koji bi koristili isti jezik u sljedećem projektu:

Vidimo da je najomiljeniji jezik Swift, zatim u sledećoj grupi su C#, Go i Scala, a zatim - Java, Kotlin i Clojure.

Najmanje omiljeni je Apex, a slijede jezici slični SQL-u i zastarjeli jezici.

Učenje novih jezika

Ove godine smo po prvi put uključili u anketu blok pitanja o učenju novih jezika: većina programera (65%) želi naučiti neke novi jezik.

Koji:

Odnosno, 31% još ne zna koji. Najatraktivniji za učenje - JavaScript (12%), a slijede Python, Java, Go, Scala i Swift.

Kako će tačno ljudi naučiti novi programski jezik: uglavnom na osnovu knjiga i dokumentacije (61%); 27% će proći online kursevi a vanmrežni kursevi će ostati glavni metod nastave za 7% ispitanika koji su odgovorili na ovo pitanje.

Dodatni jezici

Vidimo da, generalno, slika ponavlja situaciju sa glavnim razvojnim jezicima, sa izuzetkom pojave Unix Shell-a na drugom mestu i više pozicije SQL ekstenzija.

Vaši projekti:

Ovdje su trendovi isti, manje je promjena u odnosu na godinu ranije. Možda je to zbog činjenice da je koncept "vlastitih projekata" konzervativan: ako imam projekat na C ++, onda će on ostati sa mnom.

Finalni sto

Jezik Tržišni udio Promjena od 2016 Radnik Dodatno U svojim projektima Indeks zadovoljstva
1 Java23.4 -2.91 1892 1129 1965 0.76
2 JavaScript16.2 2.36 1316 4206 2606 0.69
3 C #14.9 1210 744 1354 0.82
4 PHP13.25 1073 852 1253 0.63
5 Python8.71 0.74 706 1170 1157 0.71
6 C ++5.5 -0.95 445 681 725 0.62
7 Ruby3.5 287 279 330 0.68
7 Ruby3.5 287 279 330 0.68
8 Swift2.2 1.36 181 236 276 0.87
9 Objective-C1.05 -1.34 150 283 212 0.33
10 Scala1.52 0.47 123 207 215 0.81
11 1C1.27 103 57 85 0.27
12 C1.1 -0.2 90 473 240 0.37
13 PL-SQL1 85 583 102 0.24
14 T-SQL 68 959 237 0.28
15 Idi 0.55 66 235 251 0.82
16 Pascal / Delphi 66 109 205 0.47
17 Perl 35 140 65 0.28
18 R 35 122 73 0.46
19 ActionScript 30 53 48 0.26
20 TypeScript 21 112 44 0.47
21 Kotlin 16 53 57 0.75
22 Clojure 12 38 68 0.75
23 Erlang 12 43 44 0.50

Dodatni podaci

Starost programera prema jeziku:

Ono što vidimo ovdje - moderan, moderan, mladalački - je Kotlin (srednja starost programera: 24). Za Java, JavaScript, Python, Ruby, Swift, ova vrijednost je 27 godina. S druge strane, imamo PL/SQL, Perl, Pascal i 1C, kao što biste očekivali. Korisnik R je, s druge strane, postao mlađi: mladi su požurili da studiraju Data Science.

Ovdje su zanimljive anomalije: kod R se primjećuje ista stvar kao u prethodnom istraživanju (ljudi dolaze u programiranje u R-u izvana); Scala i Go se vjerovatno mogu nazvati starijim jezicima; Perl, Pascal/Delphi i 1C očigledno ne prolaze kroz osvježavanje osoblja.

Pogledajmo i distribuciju radnog iskustva kao programer u poređenju sa podacima iz prethodnih godina:

Sudeći po rasporedu, priliv ljudi u industriju je usporen, dok raste udio programera sa preko 10 godina iskustva. To je vjerovatno zbog činjenice da uslovi rada „u IT balonu“ čine prelazak u druge industrije ili na rukovodeće pozicije ekonomski neisplativim.

Pogledajmo i distribuciju starosti programera u zavisnosti od zemlje:

Razlika u oblicima distribucije može nam reći o razmjerima emigracije proteklih godina.

Razlika između domaćih i stranih razvojnih tržišta može se uočiti i poređenjem podataka o glavnom radnom jeziku ljudi koji žive u Ukrajini i iz dijaspore:

Vidimo da se C, Scala i Go mnogo više koriste u inostranstvu. Ove tendencije dolaze pred nas sa izvesnim zakašnjenjem.

obrazovanje:

Procenat "mrtvih jezika" opada, a raste i broj ljudi koji pišu svoj prvi JavaScript program.

Rezultati prethodnih anketa:,.

Da bi procijenio izglede svojih napora, svaki programer bi trebao redovno gledati ocjene programskih jezika. Često se dešava da neki moderan jezik, o kojoj svi počinju da pišu, ali onda ovaj jezik tiho nestaje. Oni programeri koji su požurili da nauče ovaj jezik odjednom vide da je njihov trud bio uzaludan.

Na primjer, sredinom 1980-ih, jezik Prolog je postao vrlo popularan, ali je tada njegova popularnost naglo opala. I sada praktično niko ne piše o tome. A Python je zauzeo mjesto popularnog novajlija.

Kako saznati ocjenu programskih jezika? Ne postoji ukupna ocjena kao što i nema lak način prikupiti sličnu statistiku. Ali postoje Različiti putevi procjenu popularnosti programskih jezika. Razmotrimo najpopularnije ocjene.

Indeks TIOBE zasniva se na procjeni rezultata upita za pretraživanje koji sadrže naziv jezika. Logika iza ovog indeksa je vrlo jednostavna: „Ako se jezik traži u tražilice onda je popularan." Naravno, ova izjava je kontroverzna, jer će profesionalni programeri rijetko tražiti naziv programskog jezika u tražilici. Oni češće traže rješenje za određeni problem. Ali veliki plus ove ocjene je to što prilično objektivno pokazuje interesovanje za određeni jezik.

Indeks TIOBE prikazuje najpopularnije programske jezike, informacije o kojima su tražene na 25 najpopularnijih pretraživača, odnosno upiti u obliku: "+" programiranje“. Indeks se izračunava svakog mjeseca.

TIOBE indeks za januar 2020. izgleda ovako:

TIOBE je C takođe proglasio programskim jezikom 2019.

Grafikon promjena u indeksu jasno pokazuje kako se promijenila popularnost programskih jezika. Ali u isto vrijeme, prvo ili drugo mjesto konstantno dijele dva jezika Java i C. Iako Javu aktivno promovira Oracle, a niko ne promovira jezik C.

Zanimljivo je i to da C++ nikada nije mogao nadmašiti C. po popularnosti.

2. Wappalyzer ocjena za web aplikacije

Koristi se usluga Wappalyzer različite metode identificirati web tehnologije. Rangiranje programskih jezika za izradu web stranica za januar 2020. izgleda ovako.

U web programiranju jezik PHP nedvosmisleno prednjači, više od 80% sajtova je napisano na ovom jeziku.

4. IEEE ocjena spektra

Godišnja rang lista IEEE Spectrum Top Programming Languages ​​koristi 11 metrika iz 8 izvora, uključujući pretrage, tweetove, pa čak i spominjanja u poslovima programera. S jedne strane, ova ocjena koristi više podataka, ali s druge strane, u mnogim izvorima podaci su povezane prirode. Što više slobodnih radnih mjesta bude objavljeno za određeni programski jezik, to će više upita biti u pretraživačima. Odnosno, novi jezici imaju veće šanse da dođu do vrha ljestvice.

5. Ocjena prekoračenja steka

Stack Overflow stranica je platforma za programere da postavljaju i odgovaraju na pitanja kodiranja. Ova stranica ima oko 40 miliona posjeta mjesečno. Postoji ruska verzija stranice: ru.stackoverflow.com

Ova ocjena se izračunava na osnovu ankete programera. U 2019. godini ispitano je više od 90.000 programera i sastavljena je rang lista programskih jezika. Umjesto toga, to je rangiranje jezika koje postavlja pitanja. JavaScript je vodeći u ovoj rang listi.

Takva popularnost je sasvim razumljiva, sada se JavaScript brzo razvija, i svaki nova prilika postavlja mnoga pitanja, pa programeri odlaze u Stack Overflow da postavljaju pitanja.

Zanimljivo, C nije stigao ni do prvih deset.

6. Poslovi u Head Hunteru

Ocjeni programskih jezika možete pristupiti s druge strane i vidjeti koji su jezici naznačeni u slobodnim radnim mjestima i koliko će platiti. Jedna od najpopularnijih platformi za pronalaženje posla u IT oblasti je HeadHunter web stranica. Postoji poseban odjeljak - slobodna radna mjesta za programere.

Na dnu stranice možete vidjeti listu sličnih zahtjeva i uvjeriti se da poslodavci imaju malo drugačije zahtjeve.

Ovdje možete vidjeti da je programer koji poznaje Pascal (Delphi okruženje) još uvijek tražen.

7. Google Books Ngram Viewer

I na kraju, razmotrite izuzetno korisna usluga Google gdje možete pratiti korištenje ključne riječi Stoga možete vidjeti popularnost ne samo programskih jezika, već i bilo koje tehnologije.

Na početku ovog članka nalaze se grafikoni upotrebe riječi Prolog i Python. Sada da predstavimo JavaScript, Python i PHP.

Interesovanje za JavaScript se može videti 1992. godine i on ubrzano prestiže Python i PHP.

Smatra se najautoritativnijom ocjenom popularnosti programskih jezikarejting od Tiobe Software. Indeks popularnosti Tiobe prati statistiku pretraživanja programskih jezika na Google-u, Baidu-u, Wikipediji, Yahoou, YouTube-u i još mnogo toga.

Međutim, najveći web servis za hostovanje IT projekata i njihov zajednički razvoj GitHub, koji se naziva i "društvena mreža za programere", koristi drugačiju metodu definiranja popularnog programskog jezika. Njihov sistem se zovePYPL (Popularnost programskih jezika) zasniva se na broju pretraživanja priručnika za određeni programski jezik.


1. Java

Java je primarni jezik koji se koristi za razvoj izvornih Android aplikacija za pametne telefone i tablete. Popularnost Jave među programerima je zbog jednostavnosti i pouzdanosti jezika, koji osigurava dugoročnu kompatibilnost proizvoda napisanih na njemu. Java programi se prevode u bajt kod, koji se izvršava virtuelna mašina Java. Prednost ovog načina izvršavanja programa je potpuna nezavisnost bajtkoda od operativnog sistema i hardvera, što vam omogućava pokretanje Java aplikacija na bilo kom uređaju za koji postoji odgovarajuća virtuelna mašina.

2. Python

Python je programski jezik visokog nivoa koji se često smatra najlakšim jezikom zbog svoje jednostavnosti, čitljivosti i sintakse. 8 od 10 odsjeka za informatiku u SAD-u i 27 od 39 vrhunskih univerziteta koriste Python za podučavanje studenata programiranju.


3. PHP

PHP je jedan od najčešće korišćenih razvojnih jezika dinamički web web stranice. PHP je otvoreni razvojni jezik, tako da je već napisano na hiljade modula koji se mogu modifikovati na potrebnu funkcionalnost. Većina sajtova fokusiranih na veliku količinu podataka razvijena je u PHP-u.


4. C #

C # je primarni jezik za razvoj na platformama i Microsoft usluge... C# jezik vam omogućava da razvijete skoro svaku aplikaciju koja je u paketu sa Visual Studio IDE. Osim toga, to je također jedan od glavnih jezika za razvoj igara na Unity engine-u.

5. JavaScript

Gotovo svaka moderna stranica koristi elemente JavaScripta - ovog skriptnog jezika zasnovanog na prototipu. JavaScript je programski jezik koji se pokreće u klijentovom pretraživaču koji obrađuje komande na računaru krajnjeg korisnika, a ne na serveru, što rezultira manjim opterećenjem servera i bržim performansama aplikacije.


6.C

Programski jezik C je imao značajan uticaj na razvoj softverske industrije, a njegova sintaksa je postala osnova za programske jezike kao što su C++, C#, Java i Objective-C. C je cijenjen zbog svoje djelotvornosti; to je najpopularniji jezik za izgradnju sistemskog softvera. Učenje ovog jezika dovodi do razumijevanja i drugih jezika. Jezik C se koristi za razvoj aplikacija niskog nivoa, budući da se smatra najbližim hardverskom jeziku, odmah iza asemblerskog jezika.


7. C ++

C ++ je idealan izbor za razvoj moćnog desktop softvera, hardverski ubrzanih igara i aplikacija za računare, konzole i mobilnih uređaja za koje je potrebno puno memorije za rad.

8. Objective-C

Jezik je nadskup jezika C (bilo koji C kod kompajlira Objective-C kompajler). Objective-C je posebno raširen među programerima za Apple platforme. Nedavno je gubio popularnost u jeku uspona programskog jezika Swift.


9.R

R je programski jezik za sistem statističke obrade podataka i rada sa grafikom. I danas se koristi za mašinsko učenje i analizu velikih podataka.

10. Swift

Apple je 2014. godine predstavio vlastiti Swift programski jezik kao zamjenu za dugogodišnji Objective C. Programski jezik Swift popularan je među programerima širom svijeta kao nov, jednostavan i brz način razvoj za OS X i iOS operativne sisteme.

Ponovno štampanje članka je dozvoljeno samo uz aktivnu vezu do web stranice

Urednica Olga Evsikova specijalno za blog Netology rekla je kako odabrati jezik za učenje.

Mnogo je razloga da postanete programer. Programeri zarađuju mnogo novca, stvaraju nove proizvode i mijenjaju svijet. Željni ste da postanete jedan od njih, ali ne znate kako da napravite prvi korak? Ovaj članak će vam pomoći da to shvatite.

PYPL (Popularnost programskih jezika) sistem bodovanja se zasniva na broju pretraga nastavna sredstva na google. Oni su zajedno sa GitHub-om sastavili najbolje programske jezike za 2017.

Od 2005. godine Java je najpopularniji programski jezik u cijelom svijetu. U proteklih 5 godina najviše interesovanja je pokazano za jezik, a PHP gubi na popularnosti, ali ne inferioran u odnosu na C#. U vrhunskim jezicima tu su i JavaScript, C++ zajedno sa C, R i Ruby.

TIOBE Indeks

Drugi sistem za procjenu popularnosti programskih jezika - TIOBE formiran je na osnovu učestalosti pretraživanja u Google-u, Baidu-u, Wikipediji, Yahoo-u i YouTube-u.

Java je ponovo u vodstvu, ali zauzima tek četvrtu poziciju, zatvarajući prvih deset JavaScript. A prvih dvadeset počinje sa Ruby.

Odlučite se za pravac

Izaberite jezik na osnovu softvera koji želite da kreirate.

To je proces kreiranja web stranica i aplikacija. To može biti bilo šta, od društvene mreže do landing page sportski klub.

Front end web razvoj se zove. Prvo, stranica se kreira korištenjem markupa. Upravo je ova oznaka odgovorna za strukturu stranice. Onda izgled kreirana stranica se mijenja pomoću kaskadnih stilskih tablica - CSS i dodata je interaktivnost u jeziku.

Back-end je zadnji kraj. Tu se dešava sva magija interakcije sa interfejsom, a često vidimo samo rezultat rada na strani servera. Važan dio rada sa serverom je poznavanje korištenja baza podataka. Ako ste zainteresovani za ovaj pravac, slobodno naučite jezik upravljanja bazom podataka. SQL podaci, MySQL i upoznati se sa Oracle framework-om. Backend može biti napisan u Ruby, Python, Java,.

Veliki resursi uvijek koriste nekoliko alata, budući da je potrebno podržati rad nekoliko data centara, servera i sistem interakcije ovih servera. Ovo je proizvod rada velikog tima: programera, inženjera i sistem administratori... Tako je društvena mreža VKontakte koristila prevodioca iz Facebook kompanija- HipHop, koji pretvara PHP izvorni jezik u C ++ da ubrza vaš rad. Kasnije je VKontakte napravio vlastiti prevodilac i nazvao ga Kitten PHP.

Mobilne aplikacije

Ako planirate vlastiti projekat, bit će korisno saznati koji operativni sistem koristi vaša ciljna publika. Ali svaki projekat koji traži razvoj ide dalje od jedne platforme.

Za razvoj za iOS sistem pišu u Swiftu i Objective-C. Za Android - Java i C ++.


Mobilne aplikacije u Google play Market

Desktop aplikacije ili desktop

To može biti desktop verzija mobilne aplikacije. Na primjer, Viber messenger. Ili Skype servis za video pozive, stvoren u vrijeme kada mobilne aplikacije još nisu bile toliko popularne. Općenito, bilo koji programi za svakodnevne zadatke koji se mogu pokrenuti s laptopa ili računara.

Za Windows pišu na C++, C# i Javi. Za Mac OS - Objective-C. Za razvoj Linuxa pišu u C i C ++.


Desktop aplikacije u App Store-u

Razvoj igara ili razvoj igara

Da biste kreirali igre, morate ih ne samo igrati, već i razumjeti specifičnosti njihovog stvaranja. Po tome se gamedev razlikuje od ostalih oblasti i izdvaja se u posebnu kategoriju.

Mobilne igre za Android su napisane na Javi i C++, za IOS - Swift i Objective-C. Online igre pretraživača se mogu igrati u društvene mreže... Ovdje dobro dolazi vaše znanje o web razvoju ili Flashu. Kompjuterske igrečesto pisati u C ++. Ovaj jezik niskog nivoa je najpogodniji kada je u pitanju razvoj složenih stvari.

Tako je napisana jedna od najuspješnijih igara na svijetu - Minecraft Java jezik, ali prepisan u C ++ posebno za Android.

Oni također koriste posebne motore za igre kao što su Unity (C# i Java Script) i Unreal Engine (C++) za kreiranje igara. Oni pojednostavljuju proces kreiranja igara i omogućavaju vam da kreirate 2D i 3D igre na Mac OS, Linux, Windows i PlayStation, Xbox konzolama.

Društvene mreže i mediji razmišljaju o tome kako efikasno iskoristiti podatke koji su se godinama gomilali u serverskim skladištima i koji i dalje pritječu. Velike količine podataka nam omogućavaju da shvatimo kako korisnik komunicira sa uslugama, simulira situacije i napravi predviđanja.

Na ruskom tržištu Big Data Još je u povojima, ali banke i telekomunikacione kompanije već su pokazale veliko interesovanje. Pojavila se nova profesija -. Postoje programski jezici poput R koji su dizajnirani posebno za rad s velikim količinama podataka. Takođe koriste C, Java i Scala.


Big Data u studiji MegaFona i Instituta Strelka

Ocenite tržište

Ako vam programiranje nije samo hobi, bolje je unaprijed procijeniti visinu plata programera. Na internetu možete pronaći razne statistike. Na primjer, ovaj.


Podaci iz mog kruga

Prema statistikama, vidi se da se u prosjeku bave najplaćeniji programeri mobilni razvoj ili softver... Za ostalo, programeri rijetko zarađuju manje od 80 hiljada rubalja. Na primjer, prema izvještaju analitičarske firme App Annie, od globalnog tržišta se očekuje mobilne aplikacije u 2017. će porasti za 28,6% i dostići 166 milijardi dolara.

Ali često jedan programski jezik nije dovoljan, a potencijalnim poslodavcima je potrebno poznavanje nekoliko jezika i okvira. To je zato što je samo jedan dio napisan na jednom jeziku, a ostali su napisani na drugom jeziku.

Odaberite šta volite

Bez obzira na odabrano polje programiranja, jezik bi vam se trebao svidjeti. Probaj.