Računala Windows Internet

Najnoviji programski jezici. Pet obećavajućih programskih jezika sa svijetlom budućnošću

1. Prilikom odabira programskog jezika za projekt, izbor je između dvije strane – odabrati stari provjereni alat ili novi, lijep, funkcionalan, ali malo testiran, a time i nepouzdan jezik. Što je najpametnije učiniti u ovoj situaciji? Koji su rizici svake odluke i kako se s njima nositi?

Igor Zilberg, SmartHead
Potrebno je odabrati alate prema primjerenosti zadatka i prisutnosti iskusnog tima upoznatog s odabranim alatima. Rizici pri radu s novim alatima minimizirani su istraživanjem, izradom dokaza koncepta i uključivanjem iskusnih konzultanata. Nove tehnologije treba stalno istraživati, ali primjenjivati ​​samo ako su bolje prilagođene određenom zadatku.

Aleksandar Makarčuk, qb
Za poslovanje, koncept “lijepog jezika” ne postoji. Možete se kladiti na novi neprovjereni jezik samo ako zajamčeno daje projektu neki poseban USP koji kupci mogu osjetiti, i što je najvažnije, žele ga platiti. Ako je ovaj uvjet ispunjen, tada možete odabrati novi jezik, ali ćete morati prihvatiti sve rizike povezane s tim.

Grigorij Nikonov, Actis Wunderman
Naravno, ovisi o projektu i zrelosti samog jezika. Ako projekt dopušta, ili je uporaba jezika nužan uvjet, a potrebne su predmetne knjižnice dostupne, onda je sasvim moguće dopustiti eksperiment. Rizici su očiti: "zamke" na koje možete naići na pola puta. Minimiziranje ovih rizika također je očito: ako je moguće, provedite istraživanje prije početka projekta i uvjerite se da, u najmanju ruku, postoji aktivna podrška za jezik na forumima ili od strane proizvođača.

, ADV
U ovom slučaju, sve ovisi o vremenu i proračunu projekta. Ako su oboje vrlo ograničeni, onda svako istraživanje nije opravdano i može donijeti velikih problema do potpunog neuspjeha projekta.

Aleksej Fedorov, "Kolege"
Odgovor uvelike ovisi o tome koliko će projekt trajati. Ako se radi o malom projektu po narudžbi koji treba brzo odraditi, predati i zaboraviti, onda možete izabrati što god želite. Ako se radi o velikom projektu već godinama, onda je bolje odabrati provjerene tehnologije za koje možete angažirati potreban broj stručnjaka. Da biste procijenili koliko stručnjaka za određenu tehnologiju ima u vašoj regiji, dovoljno je koristiti bilo koju razumnu uslugu, na primjer, LinkedIn ili HeadHunter. Zatim trebate pogledati nefunkcionalne zahtjeve: opterećenje, sigurnost, toleranciju grešaka itd.

2. Koji su bitni čimbenici koji jamče da se jezik može i treba koristiti u proizvodnji?

Igor Zilberg, SmartHead
Nitko i ništa ne daje jamstva na ovom svijetu. Oslanjamo se na naše iskustvo i uobičajenu najbolju praksu.

Aleksandar Makarčuk, qb
Tri su glavna znaka koji ukazuju na to da je korištenje određenog jezika isplativo i sigurno. Prvo, prisutnost "žive" zajednice na ovom jeziku, drugo, prisutnost uspješnih slučajeva, i treće, podrška jeziku od strane velikih dobavljača.

Grigorij Nikonov, Actis Wunderman
Prisutnost "zrelih" predmetnih knjižnica i okvira, aktivna online zajednica koja nudi savjete o rješavanju problema, odsutnost negativnih povratnih informacija o stabilnosti i performansama konačne aplikacije.

Aleksej Persijanov, Mihail Parfenjuk, ADV
Čimbenici su zajednica određenog jezika, broj implementiranih projekata, broj programera i tako dalje. Puštanje u proizvodnju proizvoda na novom i sirovom jeziku krije velike probleme s podrškom.

Aleksej Fedorov, "Kolege"
Formalno jamstvo može biti potkrijepljeno samo ugovorom. Ako postoji ozbiljan dobavljač (na primjer, Oracle, SAP, IBM) koji jamči, na primjer, da će njegova tehnologija biti podržana sljedećih 10 godina, a s tim dobavljačem je potpisan odgovarajući Ugovor o podršci, tada, u načelu , ovo možete smatrati nekom vrstom jamstva . Problem je što je obično jako skupo, a kvaliteta podrške velikih dobavljača obično je odvratna.

Stoga je posljednjih godina u svijetu usvojena još jedna praksa – open source. Ako imate alat otvorenog koda (jezik, okvir, bazu podataka ili bilo što) s otvorenim izvornim kodom, onda vam to daje jamstvo da ako se bug iznenada pronađe u ovom alatu, tada u ekstremnim slučajevima možete popraviti ovu grešku svojim vlastitih sredstava.ruke. Upravo to svojstvo rješenja otvorenog koda smatram ključnim za današnje poslovanje.

3. Kako postupiti ako programer ili čak nekoliko programera predlažu promjenu programskog jezika, a situacija pokazuje da njihovo uzbuđenje nije potkrijepljeno adekvatnim poslovnim zahtjevima za tehnologiju?

Igor Zilberg, SmartHead
Programeri ne nameću poslovne zahtjeve. Poduzeća ih pružaju. Međutim, poslovanje ovisi o kvaliteti koda koji pišu programeri. Stoga, ako programeri žele koristiti tehnologiju koja očito nije prikladna za rješavanje poslovnog problema, onda moraju ili uvjeriti programere ili je promijeniti. Adekvatan i iskusan programer u stanju je razumjeti poslovne zahtjeve i primijeniti na njih najprikladnije rješenje. Nismo imali takvih problema. U našoj se praksi češće događa suprotno: kupac, umjesto da formulira poslovne zahtjeve, utječe na izbor tehnologije (često nauštrb implementacije vlastitih zahtjeva).

Aleksandar Makarčuk, qb
Ako prijelaz na novi jezik nije potkrijepljen opipljivim argumentima i ne obećava ozbiljne prednosti za projekt, onda nije potreban. No, naravno, to treba objasniti programerima kako ekipa ne bi stekla dojam da to ne sluša.

Grigorij Nikonov, Actis Wunderman
Držite se konzervativne politike i ne mijenjajte jezik bez dobrog razloga. Uvijek će postojati još jedan projekt za isprobavanje novog jezika.

Aleksej Persijanov, Mihail Parfenjuk, ADV
Programere možete upoznati na pola puta samo u slučaju internog projekta ili ako je napisan za obuku tima. U tom su slučaju rizici neuspjeha mali, a u slučaju neuspjeha korisno iskustvo se prenosi u budućnost. Inače, posao neće cijeniti perfekcionizam programera.

Aleksej Fedorov, "Kolege"
Prvo se treba zapitati koji je razlog za ideju promjene jezika. Što će to dati? Koje su prednosti, a koje mane? Kolika je cijena takvog prijelaza i koji je vremenski okvir? Koji su rizici?

Ako vam odgovori koje dobijete odgovaraju s poslovnog stajališta, samo naprijed. Ako niste zadovoljni, trebate pokušati prenijeti programerima razloge zašto ih odbijate.

4. Kada se isplati prelazak s jednog jezika na drugi?

Igor Zilberg, SmartHead
Nije moguće procijeniti troškove prebacivanja platformi i povezane koristi izvan konteksta projekta. Takva odluka može se donijeti samo na temelju svjesnog pristupa unutar određenog projekta, a ne na temelju nekakvih "univerzalnih" mišljenja ili pravila.

Aleksandar Makarčuk, qb
Kada će to podrazumijevati opipljivu dobit, izravnu i neizravnu zbog pojave novog USP-a u projektu, koji će proizvod učiniti konkurentnijim.

Grigorij Nikonov, Actis Wunderman
U slučaju kada korištenje novog jezika omogućuje značajno optimizaciju cjelokupnog životnog lanca predmetnog područja: od dizajna, razvoja i testiranja aplikacije do implementacije i naknadnih ažuriranja i poboljšanja zbog svojstava jezika i ekosustava okolo. to.

Aleksej Persijanov, Mihail Parfenjuk, ADV
Kada se jezična podrška ukine, a u isto vrijeme broj stručnjaka na tržištu teži nuli. Ili ako potpuno izgubite stari tim bez mogućnosti spašavanja tehnologije. Kada će profit od jezika biti veći od cijene njegove tranzicije.

Aleksej Fedorov, "Kolege"
Kada vi i vaše kolege imate jasne odgovore na gornja pitanja.

5. Smatrate li da postoji dobro uhodano razdvajanje upotrebe jezika za određene zadatke? Ako da, kako to točno vidite? Može li se pojaviti ili već postoji jezik koji će promijeniti situaciju i povući većinu programera?

Igor Zilberg, SmartHead
Naravno, postoje neke tipične aplikacije za različite platforme (ne jezike). Na primjer, Java i .NET za relativno velike poslovne aplikacije ili usluge. Node.js za multithreading i razmjenu poruka. Nemojte sve nabrajati. Međutim, te su granice vrlo, vrlo zamagljene i također ovise o regiji. U SAD-u, primjerice, malo drugačije iskustvo korištenja, “mode” i tipičnih područja primjene platformi od našeg.

Aleksandar Makarčuk, qb
S jedne strane postoji uhodana podjela jezika prema primjeni, ali s druge strane, regionalni i cjenovni čimbenici su prilično važni: cijena ulaska u tehnologiju, podrška itd. Što se tiče pojave novih jezika, ovdje je potrebno uočiti takvo što. Tijekom proteklih nekoliko godina, razina komunikacije značajno je porasla, a programski jezici, zapravo, i dalje su isti. Možda će upravo daljnja revolucija na području komunikacija za sobom povući potpuno nove razvojne tehnologije.

Grigorij Nikonov, Actis Wunderman
U principu postoji takva podjela: C i C ++ tradicionalno se koriste za razvoj niske razine, Java i C # smatraju se jezicima Opća namjena, pogodan za širok raspon zadataka od poslovne logike do mobilne aplikacije. Python, Ruby i PHP usmjereni su uglavnom na web razvoj, JavaScript - na aplikacije preglednika. Mislim da na ovom području neće biti drastičnih promjena, iako se moda za jezike i okvire ponekad mijenja - sada, na primjer, Go jezik počinje dobivati ​​popularnost.

Aleksej Persijanov, Mihail Parfenjuk, ADV
Da. Neke stvari se bolje implementiraju različiti jezici zbog brzine rada i jednostavnosti korištenja, na primjer, u php projektima, zbog "sporosti" jezika, možete implementirati chat u Node ili agregator u Javi - rezultat će biti bolji.

Svake godine svaki novi jezik dobiva lovorike "najboljeg" i privlači programere, ali do sada su pozicije provjerenih jezika vjerojatno nepokolebljive. Sve je moguće u budućnosti.

Aleksej Fedorov, "Kolege"
Najpoznatiji nama moderni jezici programi su multifunkcionalni, odnosno mogu donositi vrlo različite odluke.

Što se tiče novog jezika - da, takav bi se jezik mogao pojaviti, ali, zbog prilično jake inercije industrije, ne mislim da će u sljedećih 5 godina netko gurnuti Javu i C/C++ s pijedestala. Ako odaberete neku vrstu “konja”, onda bih se kladio na JavaScript. Danas vidimo ogroman rast u industriji u svemu što je povezano s JavaScriptom. Okviri se rađaju kao gljive nakon kiše. Hipa na internetu oko ove tehnologije je golema. Da vidimo kamo sve to vodi.

6. Mora li programer biti DevOps (posjedovati vještine programera i administratora sustava)? Što učiniti s činjenicom da većina programera odbija razvijati kompetencije i snosi odgovornost u tom području?

Aleksej Persijanov, Mihail Parfenjuk, ADV
Za konfiguriranje okruženja obično koriste usluge administratora sustava. Ali, vjerojatno, ima smisla da osoba koja piše kod treba biti u mogućnosti postaviti stranicu za optimalno izvršavanje ovog koda. To će uštedjeti vrijeme i troškove.

7. Trebate li koristiti mikroservise u svojim projektima?

Aleksej Persijanov, Mihail Parfenjuk, ADV
Ne postoji konačan odgovor, ali naš odgovor je da. Naravno, mogu dodati mnogo problema, ali će također pomoći u rješavanju mnogih. Na primjer, zahvaljujući mikroservisima, različiti dijelovi aplikacije mogu se pisati na različitim programskim jezicima, moguće je skalirati učitane dijelove aplikacije itd.

8. Treba li programer biti sposoban raditi sa širokim rasponom modernih web tehnologija i jezika?

Aleksej Persijanov, Mihail Parfenjuk, ADV
Posljednjih godina front-end je napravio veliki proboj, dok razvoj jezika na strani poslužitelja nije toliko primjetan. Programer, naravno, mora poznavati osnove srodnih područja, ali nemoguće je biti guru u serverskim i klijentskim jezicima, svatko treba raditi svoje i biti pravi profesionalac u tome.

U svijetu koji se dinamično mijenja, kada se tek jučer cijenjene profesije pretvaraju u ništa, mnogi ljudi traže nešto čime bi se bavili u životu, kako bi to bilo i zanimljivo i relevantno za današnje vrijeme, a ujedno i isplativo. Vrlo često takve pretrage dovode do programiranja: dobri programeri čak iu ZND-u zarađuju tisuće dolara, imaju puno slobodnog vremena, mogućnost rada na daljinu i šanse za razvoj karijere.

Osim ovih prednosti, programiranje se razlikuje i po tome što da biste ga svladali, ne morate trošiti godine vremena na brisanje hlača na sveučilištima. Ovdje o svemu odlučuje samoobrazovanje, sve je na internetu potrebni materijali za uspješno samostalno učenje bilo kojeg programskog jezika: tekstualne lekcije, video tutoriali, upute, savjeti iskusnih stručnjaka i drugi obrazovni materijali. Na taj način možete lako naučiti moderne tehnologije programirati i pronaći stvarno pristojan posao.

No, prije nego što krenete s poslom, morate sebi odgovoriti na jedno važno pitanje: koji će moderni programski jezici biti relevantni u 2017., na koji od njih potrošiti svoje vrijeme i trud? Ovdje puno ovisi o točnom odgovoru - složenosti i brzini procesa učenja, minimalnom pragu za ulazak u stvarnu aktivnost i daljnjim izgledima za karijeru.

Obećavajuća područja programiranja i jezika za 2017

Da biste se odlučili za određeni programski jezik za učenje (jedan ili više), prvo morate odgovoriti na pitanje: u kojem području programiranja bi osoba željela raditi. Najpopularnija područja koja se brzo razvijaju sada su:

Tehnologije web programiranja. Izrada web stranica, online usluge i bankarstvo, internetske trgovine, odredišne ​​stranice za tvrtke i slično – sve je to dio web programiranja. Sve više ljudi na planeti postaju korisnici interneta, sve je brže i jeftinije, čak i ljudi zrele i napredne dobi postaju aktivni korisnici mreže. U 2017. ovaj trend se samo pojačava i još se ne vidi plafon njegovog razvoja. Stoga je vrlo korisno naučiti programske jezike povezane s internetom. Popis najpopularnijih od njih bit će predstavljen u nastavku;

Programiranje za gadgete: pametni telefoni, tableti, pametni satovi, naočale virtualna stvarnost itd. Ovo je također vrlo zanimljivo područje djelovanja koje se brzo razvija. Milijarde ljudi diljem svijeta koriste gadgete, čitaju vijesti, gledaju videozapise, slušaju glazbu i rade puno drugih stvari na njima. Sve ove elektroničke značajke moguće su zahvaljujući dobro napisanom softver. Često košta mnogo više od samog fizičkog uređaja. Programiranje u ovom području sada je vrlo isplativo. Vrijedi napomenuti da se ovdje najčešće koriste programski jezici. visoka razina.

Koji jezik odabrati

Nemoguće je reći koji je jezik najmoderniji. Mnogi od njih se koriste vrlo široko i aktivno. Ali ako govorimo o obećavajućim programskim jezicima, najbolje se može nazvati sljedeće:

  • Java. Najsvestraniji i najpopularniji programski jezik s kojim možete razviti i aplikacije za računala i gadgete, posebno za Android kontrola OS. Ima jasnu sintaksu, uči prilično lako i brzo, prvi programi na Javi mogu se pisati već nekoliko tjedana nakon početka obuke. Glavna karakteristika koja ga čini vrlo obećavajućim je korištenje za Android programiranje, koje se sada vrlo brzo razvija;
  • C#. Izvrsna opcija za osobu koja svoje aktivnosti želi posvetiti pisanju programa za računalne sustave. Upravo je jezik C Sharp (C#) osnova na kojoj je napisana većina programa za različite platforme i usluge Microsofta. Uz njega možete razvijati web aplikacije koristeći .NET i Azure, kao i programe izravno za Windows, razne poslovne aplikacije i mnoge druge stvari. Potrebno je malo rada da biste se upoznali sa C#, ali se na kraju isplati;
  • PHP. Ako je vaš zadatak pisati visokokvalitetne skripte i interaktivne predloške za internetske resurse ili biti administrator poslužitelja, što je sada vrlo isplativo zanimanje, onda će PHP najbolji način ostvariti takvu težnju. Moderni programski jezici jednostavno ne mogu bez ovog predstavnika. Vrlo brzo i lako uči – ako pažljivo i redovito učite PHP, onda se nakon 2-3 godine možete prijaviti za vrlo dobru poziciju i odgovarajuću plaću.

Naravno, ovo je daleko od potpunog opisa jezika i njihove klasifikacije, ali čak i tako mali popis sasvim je dovoljan da odaberete dobro i obećavajuće područje djelovanja za sebe.

Potpuni pregled modernih programskih jezika mogao bi oduzeti previše vremena, ali to nije toliko potrebno, jer vrijedi zapamtiti glavnu stvar - osoba koja tečno govori barem neki jezik sigurno će moći pronaći svoje mjesto u područje programiranja. A znanje jednog od ovih jezika sigurno će biti dovoljno da dobro zaradite i riješite zanimljive probleme.

Jedan od najčešće korištenih sustava za procjenu popularnosti programskog jezika je TIOBE, čija je bit prebrojavanje broja web stranica koje imaju naziv određenog programskog jezika.

Međutim, to ne pokazuje uvijek koliko je ljudi zapravo unutra ovaj trenutakželite koristiti ili upotrebljavate programski jezik, pa je tim GitHuba ovom problemu pristupio iz drugačijeg kuta.

Njihov sustav pod nazivom PYPL (Popularnost programskih jezika) temelji se na broju upite za pretraživanje Vodiči: Što više ljudi traži tutorijale o određenom programskom jeziku, to je on više rangiran u PYPL-u.

10. Swift

Jezik ne postoji dugo, ali Apple želi da bude ključan u cijelom svijetu i na svim platformama, uključujući web i Android, u sljedećih 20 godina.

9. R

R je stvoren 1993. i danas ga koriste velike tvrtke za strojno učenje i analizu velikih podataka.

8. Cilj-C

Unatoč činjenici da je Swift izvorno pušten kako bi zamijenio Objective-C, ovaj jezik je još uvijek popularan i prednjači u razvoju iOS-a. Ali to će se vjerojatno uskoro promijeniti.

7. C++

Najpopularniji proizvodi napisani na C++ su Windows i Google Chrome.

6.C

Tata može u Xi. Vjerojatno se zbog toga ovaj jezik koristi posvuda, a kod u njemu može se izvoditi doslovno na bilo kojoj računalnoj platformi.

5.JavaScript

Upravo je taj jezik obično prvi na raznim ljestvicama. Međutim, prema GitHubu, nije najpopularniji. JavaScript se uglavnom koristi za razvoj web aplikacija, ali za to zapravo nema ograničenja.

4.C#

C# je razvio Microsoft i koristi se prvenstveno u srodnim sustavima kao što su Windows Phone. Bing tražilica također je napisana na C#.

3 PHP

Ovaj jezik je najpopularniji izbor za backend razvoj. Na njemu su ispisane stranice kao što su Facebook, VKontakte, Yahoo.

2.Python

Python je stvoren 1989. i čini se da je od tada postao popularan.

Prošlo je gotovo 60 godina od pojave prvog programskog jezika visoke razine Fortran 1957. godine i ne čudi da je programiranje u tako dugom vremenu iskoračilo daleko naprijed. Postoje nove tehnologije, novi programski koncepti i paradigme, i, naravno, novi jezici. U pravilu, stvaranje programskog jezika potaknuto je zahtjevima vremena: novi zadaci često zahtijevaju nove alate za njihovo rješavanje, koji će raditi bolje od svojih prethodnika. S tim u vezi svake se godine pojavljuje nekoliko novih jezika, koji u sebi ugrađuju sve najbolje što se nakupljalo desetljećima praktičnog programiranja, a ujedno donose nešto novo. Neki od većine zanimljivi jezici programiranje, koji su se pojavili sasvim nedavno, ali su se već pokazali kao moćni i moderni alati za programere i o njima će se raspravljati u ovom članku.

Brz

Besplatni jezik opće namjene koji je stvorio od strane Applea za razvoj pod iOS i OS X. Jezik je kompatibilan s Objective-C, što omogućuje korištenje oba jezika u jednom programu. Razvoj jezika započeo je 2010. godine pod vodstvom Chrisa Lattnera, Appleovog voditelja razvoja. Swift je već posudio ideje od mnogih postojećim jezicima vrlo različiti smjerovi: od C ++ do Haskell-a. Službeno je uvođenje jezika održano u lipnju 2014., zajedno s priručnikom od 500 stranica za njegovu upotrebu. Možete raditi na Swiftu u programskom okruženju Xcode 6 za iOS. Verzija jezika 3.0 dodaje podršku za Linux.
Jezik je preuzeo mnogo od Objective-C; istovremeno je pozicioniran kao sigurniji i brži. Prema uvjeravanjima programera, kod u Swiftu radi 1,5 puta brže od sličnog koda u Objective-C.

Hack

Jezik koji je razvio Facebook; izgleda kao PHP. Hack kod se izvršava na posebnom virtualnom stroju koji također podržava PHP. Jezik je otvoren izvorni kodovi Hack je otvoren za svakoga da sudjeluje u njegovom poboljšanju. Iako se jezik temelji na poznatom PHP-u, programeri su uspjeli stvoriti potpuno novi i vrlo pouzdan alat za brzo stvaranje web stranice i druge aplikacije. Rezultat je toliko impresionirao Facebook da su svi projekti tvrtke prebačeni u Hack – činjenica koja govori sama za sebe.

Julia

Novi jezik za matematičke proračune. Na sintaksu jezika utjecali su Matlab i drugi matematički jezici, ali postoje i značajne razlike. Sam jezik je napisan u C i C++; programski kod Jezik se izvršava na LLVM virtualnom stroju, za koji je Julia opremljena JIT kompajlerom. Zahvaljujući kompilaciji, postignuta je velika brzina rada aplikacije, usporediva s programima napisanim na C ++.
Jezik podržava distribuirano računanje, preopterećenje funkcija i paralelizam koda. Glavni zadatak Julije: rad s velikom količinom izračuna uz održavanje visokih performansi. U ove svrhe jeziku je također dodana podrška za računalstvo u oblaku. Izvan čistog matematički problemi Uz Juliju je također moguće kreirati programe opće namjene.

Strijelica

Jezik koji je stvorio Google kao zamjenu za JavaScript. Zbog nekih "temeljnih nedostataka" JavaScript jezika koji se ne mogu ispraviti, odlučeno je napraviti novi jezik za web programiranje. Pritom je jezik morao biti kreiran što sličniji postojećim, kako bi se početnicima olakšao prijelaz i učenje. Trenutno se Dart programi izvode na dva načina: kroz virtualni stroj Dart VM i prevođenjem na JavaScript. U budućnosti se planira da Dart zamijeni JavaScript kao univerzalni jezik za web programiranje.

Upišite skriptu

Drugi jezik koji se pozicionira kao zamjena za JavaScript. Programer novog jezika bio je slavni Anders Hejlsberg, autor Delphija, C# i Turbo Pascala. Vrsta skripte je otvoreni jezik, unatrag kompatibilan s Java Script. Prevoditelj pretvara kod Type Script u JavaScript, koji zatim izvršava preglednik. Za razliku od JS-a, novi jezik podržava sve značajke objektno orijentiranog programiranja, kao i povezivanje modula. Kompatibilnost Type Script i JavaScripta omogućuje korištenje postojećeg JavaScript koda u novim projektima Type Script, uključujući popularne JS biblioteke. Postoji podrška za generičku programsku paradigmu.