5 novih jezika programiranja koje biste trebali znati

Za neke ljude koji uče novi programski jezik najbolje je izbjegavati. Zašto, oh, tvrde oni, trebamo li još jedan jezik?


Zar već nemamo dovoljno?

Nisu li postojeći alati obavili posao?

A tu su i oni neumorni tragatelji koji skaču na priliku isprobavanja novih stvari i nailaze na dragulje. Za njih je učenje samo po sebi cilj i ne trebaju im puno uvjerljivog izgaranja vikenda izrađujući igračku karticu temeljenu na konzoli na tom opskurnom, novom jeziku.

Bez obzira kojem kampu pripadate, postoji nešto izvan rasprave: svi želimo potrošiti vrijeme na nešto što će imati svijetlu budućnost.

Za ljude u zaostavljenom kampu, njihov omiljeni postojeći jezik već ima tona zamaha i nastavit će imati svijetlu budućnost. Njima moram podsjetiti da je njihov sada zreli preferirani alatni lanac nekad bio “kool-help” koji su mnogi odbili piti. I tako je danas; dodaju se nove tehnologije za rješavanje novih problema ili za ublažavanje boli u razvoju.

Ako nešto ovo učini dovoljno radikalno, velike su šanse da će i dalje ugrabiti pamet i doći do vrha. Kad se to dogodi, ne želite biti ostavljeni. ��

A onima koji vole trčati sa sjajnim stvarima, upozorenje: zabava je ključna kao programer, ali moramo biti oprezni da ne trošimo energiju bez cilja.

Naravno, Brainfuck je nevjerojatno iskrivljen, zagonetni, zabavan mali jezik, ali malo je vjerovatno da ćete imati koristi od toga ako ga ozbiljno istrajete. Želite nešto što je novo, razumno i ima solidne temelje.

Kako su odabrani ti jezici

Odabir jezika je zastrašujući posao, posebno kada se razmišljaju o novim jezicima radi budućih koristi u radu i zadovoljstvu. Svaki je autor autor čvrsto uvjeren da je stvorio mogući savršen jezik i riješio sve probleme na koje treba odgovoriti. Kako onda rezati?

Za ovaj post usredotočio sam se na nekoliko parametara kako bih pretragu održao u razumnim granicama.

Datum izlaska

Posebno sam izbjegavao jezike koji su vrlo, vrlo novi.

Novo, mislim na jezike koji su stariji od 5-6 godina prilikom pisanja, a posebno na one koji nisu postigli stabilnost (izdanje 1.0, odnosno). To, nažalost, isključuje neke prave dragulje poput Kristal, Ali nadam se da ću se tome vratiti i pisati o njegovom uspjehu neki dan. ��

Isječak koda u Crystal-u (“Brzo kao C, glatko kao Ruby”)

Za mene je 5-12 godina slatko mjesto, kada je jezik stabiliziran i još se usavršava. Sada, naravno, postoje iznimke od ovog pravila i oni će se razmotriti ako je primjenjivo.

Snažan interes zajednice

Ovaj je čovjek koji ne razmišlja i često nas ignorira kad budemo uzbuđeni zbog nečeg novog. Sada je mnogim ljudima podrška velike tvrtke dovoljan presedan za uspjeh, ali to nije uvijek istina.

Da, Apple je Objective-C i sada Swift napredovao jer su to bile jedine opcije u visoko kontroliranom ekosustavu, ali Facebook je D i pijuk (ružno zauzimanje već ružnog jezika, po mom mišljenju) ostaju malo više od eksperimenata.

Idealna kombinacija bio bi jezik koji podržava velika, stabilna tvrtka i eksplodira u popularnosti (poput React-a).

Ali meso stvari je i dalje zajednica. Ako jezik ne stvara zujanje, a nema dovoljno vragova da se obrazuju i populariziraju, neće se popeti iz groba GitHub-a.

Za mene ovo isključuje zrele, fascinantne jezike poput Reket i Erlang, kao što su ostali ravni na krivulji rasta.

Usmjeren, dobro definiran USP

Treće što tražim je jasan cilj jezika. Na primjer, bolja verzija PHP-a koja popravlja probleme s imenovanjem i sastavljanjem na izvorni PHP ne funkcionira za mene.

Prednosti su samo premale da bi opravdale pukotine koje će se pojaviti ako se svi pokušaju prebaciti na to. Po ovom mjerilu ne mogu si odbaciti takve pokušaje CoffeeScript, i mnogi drugi slični jezici sabiranja-za JavaScript.

Iskreno, dužan sam odmah odbaciti poboljšanja koja se odnose samo na sintakse. Povijest je pokazala da korisnost nadmašuje ljubaznost kada je riječ o jezicima, tako da ako su svi novi jezici usmjereni na ugodnije iskustvo, bojim se da neće napraviti ovaj popis.

Jasna, dosljedna sintaksa

Da znam. Upravo sam rekao da sintaksa nije bitna. Da budem precizan, rekao sam da “poboljšanja samo za sintaksu” nisu bitna. No, to je rečeno, sintaksa ostaje jedan od značajnih čimbenika u produktivnosti i održavanju programera, tako da je nešto što će se ovdje morati prikazivati ​​u mojim proračunima.

Uz sintaksu dolazi i ideja dosljednosti. Imenovanje funkcija, strukturiranje modula itd. Ključne su stvari koje si jezik ne može priuštiti. 2018. za Boga miloga, a još jedan dizajn jezika nalik PHP-u bio bi sramota za sve nas. Dakle, bez dodatnog divljenja, krenimo s naših prvih pet preporuka.

1. Julia

Ljudi koji su bili na MIT-u u najboljem su slučaju bili kompromisni jezici. Python-u su, radi svoje jasnoće i popularnosti, nedostajali izvorni konstrukti za obradu podataka podataka. Također, Python je bio interpretirani jezik za njih spora (ne knjižnice, imajte na umu, jer su uglavnom napisane na C).

Ali možda je najveći isključenje bio nezgrapan model istodobnosti i nedostatak paralelnog računarskog modela, čiji je posljednji osnovni element u superračunanju.

Kao rezultat, Julia rođen je.

Julia je do svog stabilnog izdanja stigla 29. rujna 2018., samo nekoliko dana prije nego što je napisan ovaj članak (razgovarajte o vremenu!). Evo što službena web stranica ima reći o svojim mogućnostima:

Julia se izvrsno snalazi u numeričkom računanju. Njegova je sintaksa izvrsna za matematiku, podržani su brojni tipovi podataka, a paralelizam je dostupan i izvan okvira. Julijeva višestruka slanja prirodno je pogodna za definiranje tipova podataka poput broja i niza.

Sintaksistički gledano, Julia se može shvatiti kao kombinacija Pythona i C. Da, to je vjerovatno prvi put da je jezik ciljao na obje ove osobine i uspio.

Da bi stvari bile jednostavne, Julia ne nameće strogo tipkanje, a svejedno brzo napreduje. Evo nekoliko referentnih vrijednosti:

Službena mjerila Julia

Kao što vidite, Julia je nešto lošija od C, ali izbacuje Javu i Pythona iz vode. A kakav slatkiš za oči nudi Julia?

Pa, evo implementacije funkcije za izračunavanje hipotenuze ispravnog trokuta:

Napokon, dok je većina Julia ekosustav jako je nagnut prema matematičkom radu, vjerujem da ima svijetlu budućnost opće namjene.

To je prvi jezik po mom znanju koji ima prvoklasnu podršku za paralelno računanje, tako da neće biti iznenađenje kad će vidjeti sve više popularnosti u domenama Weba i IoT-a..

2. hrđa

Ako ste isprobali nova izdanja preglednika Firefox, znajte da će vam, nakon godina rada, izgledati kao da bi mogli oduzeti dio tržišnog udjela s Chromea.

Ako se preglednik osjeća lagano i snažno, a brzo se prikazuje, to je sve zahvaljujući posebno razvijenom jeziku Mozilla: hrđa.

Reći da Rust ima svijetlu budućnost biće laž; jezik je već golem uspjeh, a ako ga još niste čuli, to je zato što je njegovo područje primjene specijalizirano, a cilj zastrašujući: zamjena C ++! Da, konačno imamo jezik koji to ne samo da je sposoban za to već i čini.

Za ljude frustrirane C ++ preopterećenim izazovima dizajna i upravljanja memorijom, Rust dolazi kao dah svježeg zraka.

Evo kako izgleda program Rust:

Jedinstven i elegantan, po mom mišljenju. Rust slijedi funkcionalni pristup programiranju, koji vaš kôd čini kompozitivnijim i nema objektivno orijentirane hijerarhije s kojom se možete boriti.

Dakle, što daje Rustu hrabrost da krene nakon C ++? To je novi model memorije. Umjesto da se oslanja na stari novi () / delete () ples, Rust uvodi ideju vlasništva.

Umjesto da dodijeljuju i izravno pristupaju memoriji, varijable Rust “posuđuju” se jedna od druge, uz stroga ograničenja koja postavlja prevoditelj. Cjelokupni koncept je previše kompliciran za nekoliko riječi, pa slobodno provjerite službeni dokumenti naučiti više.

Poanta je u tome što to rezultira 100-postotnom sigurnošću memorije bez potrebe za odvozom smeća, što je velika stvar.

Rust je olujom zauzeo svijet programskog sustava. Već je podržana na nekim platformama, preglednici s moćima i motori za prikazivanje brzo zamjenjuju C / C ++ kod na proizvodnim sustavima i koristi se za pisanje operativnih sustava.

Svakako, nije svačija šalica čaja za stvaranje drugog pokretača ili preglednika uređaja, ali Rust se već širi na druge domene. Već imamo nekoliko potpuno funkcionalnih, smiješno brzih web okvira u Rustu, a sve se više i više biblioteka aplikacija razvija..

Iskreno, ako vas zanima uzbudljiva budućnost, Rust je savršen jezik i sada je savršeno vrijeme. Rust je zrakoplov koji je poletio, ali još uvijek ima vremena za ukrcaj dok kreće prema zvijezdama!

Naučiti Rust od Dmitrija Nesteruka.

3. Eliksir

Među jezicima koji su usredotočeni na sreću programera, prvo je mjesto trajno rezervirano za Ruby. To je jezik koji čita poput poezije i ima dovoljno prečaca za smanjenje mentalnog trenja redoslijedom veličine.

Stoga nije ni čudo da okvir Rails i dalje dominira razvojem cjelovitog staka za ozbiljne programere i startap. No nisu svi bili sretni s Railsom, posebno jednim od njegovih glavnih programera – José Valim. Mislim da sam tvorac najbolje objašnjava genezu ovog jezika u knjizi An intervju:

Duga je to priča, ali pokušat ću je učiniti kratkom i slatkom. U 2010., radio sam na poboljšanju performansi Rails-a tijekom rada s više-jezgrenim sustavima, jer se naši strojevi i proizvodni sustavi isporučuju sa sve više i više jezgara. Međutim, cjelokupno je iskustvo bilo prilično frustrirajuće jer Ruby ne nudi pravi alat za rješavanje problema istodobnosti. Tada sam počeo gledati druge tehnologije i konačno sam se zaljubio u Erlangov virtualni stroj.

Sve više i više sam počeo koristiti Erlang i, s iskustvom, primijetio sam da mi nedostaju neke konstrukcije dostupne na mnogim drugim jezicima, uključujući i funkcionalni. Tada sam odlučio stvoriti Elixir, kao pokušaj da dovedem različite konstrukcije i izvrsne alate na vrh Erlang VM-a.

I gle, Eliksir rođen je!

Baš kao što Scala poboljšava Java jezik, ali cilja isti virtualni stroj ispod (JVM), tako i Elixir koristi prednosti višem desetljeća, dokazanog u bitci Erlang virtualnog stroja.

Sada je rasprava o Erlangu izvan dosega ovog članka, ali minimum koji biste trebali znati je da je to najbolje čuvana tajna telekomunikacijske industrije: ako su naše telefonske mreže mnogo pouzdanije od naših web-zasnovanih sustava, to je sve zahvaljujući Erlang.

Što je još jednostavnije rečeno, to znači. Ako gradite sustav u stvarnom vremenu kao što je chat, Elixir je puno, puno manje RAM-a gladan i stabilan od Ruby-a (ili PHP, Python i Java, po tom pitanju).

Stroj koji pokreće Ruby i postiže maksimum na, recimo, 10.000 istodobnih veza, lako može podnijeti 200.000 kada koristi Elixir i još uvijek ima dovoljno RAM-a za pokretanje 2D igara!

Isječak koda Elixir

Entaksir-mudar, Elixir besramno kopira Ruby, a njegov dominantni mrežni okvir, Phoenix, besramno kopira Rails. Rekao bih i da je to dobra stvar, jer zajedno s Laravelom, Gralima, masonitima itd. Dolazimo do točke kada svi jezici imaju okvire slične tračnicama što može olakšati prijelaz. Neki bi se podsmjehivali “nedostatku originalnosti”, ali najmanje se ne žalim.

Konačno, Eliksir jedna je od onih tehnologija koja je osvježavajuća, ugodna i prokleto praktična. Nekoliko Ruby (pa čak i non-Ruby) trgovina seli u Elixir, a velike tvrtke poput Pinterest-a koriste ga u proizvodnji s izuzetno zadovoljavajućim rezultatima.

Mnogi ljudi misle da je Node.js bio pokušaj istodobnosti i uskoro bi ga zamijenio Elixir. Moram reći da se slažem s njima. ��

4. Kotlin

U toku 2017. godine, I / O, Google je razotkrio bombu neupadljivoj gomili. Tvrtka je službeno najavila Kotlin kao primarni jezik za razvoj Androida, slanje udarnih valova kroz industriju.

Sada, kada Google aktivno traži zamjenu Jave, nije iznenađenje nakon što ju je ugrizala Oracle tužba; Međutim, usvajanje Kotlina bilo je pomalo neočekivano, a i dalje postoji dobra šansa da Google uskoro izađe sa svojim virtualnim strojem. Za sada, Kotlin uživa u velikom naletu.

Kotlin je razvio JetBrains, tvrtka poznatija po svom nizu suludo dobrih urednika koda. Jedan od njih, IntelliJ IDEA, tvori temelj Android studija. Kotlin dizajnirani ciljevi su sigurnost, konciznost i 100% interoperabilnost s Javom.

Nadalje, Komlinin prevodilac djeluje izuzetno naporno da eliminira sve iznimke nulte točke koje su toliko česte u svijetu Java. Također poprilično spušta i poslovični Java verbositet, koji će mnogima donijeti olakšanje.

Evo divne usporedbe koda između Jave i Kotlina:

Kreditna slika: hype.codes

Kotlin kod je znatno kraći i puno manje kognitivnog preopterećenja da se pluta.

No, razjasnimo jedno: Kotlin je malo vjerovatno da će zamijeniti Javu, iako brzo postaje omiljeni. Vjerujem da deset godina na putu male ekipe do srednje veličine neće izgledati dalje od Kotlina, dok će velike grupe i dalje koristiti Javu isključivo zbog naslijeđenih razloga.

Ipak, Kotlin ima izuzetno svijetlu budućnost, jer se sve što Java radi, može spojiti s Java kodom, a da nitko to ne primijeti, i puno je ugodniji!

5. TypeScript

Bog zna da sam se morao suzdržati zbog ovog spota! Svi u meni vrištali su: “Vrane! Elm! “, Ali bez obzira koliko revolucionarne bile njegove ideje ili koliko je božanska sintaksa, Elm tek treba promatrati kao glavnu alternativu za frontov rad. �� U svakom slučaju, prijeđite na ono što je mainstream: TypeScript.

JavaScript je poput divljih bobica: ružna i neukusna, ali morate je nahraniti ako želite preživjeti džunglu prednjeg razvoja. Bilo je mnogo pokušaja da se njegova zamjena (i najvjerojatnije, novi standard WebAssembly uspije), ali ono što je uistinu svima privuklo pažnju je superset koji je razvio Microsoft.

Izvrsne su šanse za koje ste čuli kucana kopija: Angular je bio prvi okvir koji je prihvatio od verzije 2 nadalje, a ljudi su brzo pristupili napomeni. To je zato što TypeScript dodaje neke prijeko potrebne i fantastične supermoći najpoznatijem programskom jeziku na svijetu.

Da, konačno je moguće napisati izvorni JavaScript kôd bez patnje i proklinjanja nečijeg rođenja!

Evo poboljšanja koja TypeScript donosi u tablicu:

✓ Snažno kucanje: Konačno, niz nije broj, a broj nije objekt, što nije prazan niz!

✓ Provjera vremena kompilacije: Ako se vaš kôd pravilno sastavi, više je manje zajamčeno da neće biti bradavice JavaScript runtimea.

✓ Razredi i moduli: Da, klase su standardne u ES6, ali su uključene i u TypeScript, osim urednog modularnog sustava.

✓ Upišite zaključak: Za složene tipove, prevoditelj može lako shvatiti vrstu, što će vam uštedjeti glavobolju.

✓ Asinkracija / čekanje: Ključne riječi i obrasci za asinkciju / čekanje su temeljni, tako da se više ne morate brbljati oko obećanja i povratnih poziva!

Prostori imena, generički podaci, tupolovi. , , Mogao bih nastaviti i dalje, ali trebalo bi biti dovoljno reći da TypeScript jedno od najgorih razvojnih iskustava pretvara u jedno od najboljih.

Isječak koda TypeScript

Uticaj TypeScript-a ne može se odbiti. Gurnuo je slične pokušaje poput Googleovog Dart-a iz polja (iako pokušava povratkom putem Fluttera, mobilnog okvira za razvoj mobilnih uređaja) i otvorio je očima razvojnim programerima JS na prednosti jačih tipova.

Kao rezultat toga, značajne biblioteke poput React, D3, Vue (čak i jQuery!) Sada imaju TypeScript verziju, a u najboljim softverskim trgovinama diljem svijeta sav JavaScript kod piše se kao TypeScript kod. TypeScript zaglavlja sada su dostupna i za Node.js (iskreno, ako čvor može poboljšati priču o istodobnosti i zakrpati svoje gadno upravljanje memorijom, trajat će zauvijek).

Možda ćete biti iznenađeni kad saznate da je tvorac Node.js, nakon javno žaleći njegovo stvaranje, radi na a novo vrijeme izvršavanja (trenutno nema službenog web mjesta; samo repo GitHub) koji kao glavni jezik ima TypeScript.

Najbolje vijesti? TypeScript je mali jezik za učenje uz znatne koristi u budućnosti. Ako ste posredni programer JavaScripta, u dva dana pokupit ćete dovoljno TypeScript-a da biste prenijeli sav svoj postojeći kôd!

Zaključak i odricanje od odgovornosti

Određeni jezici dobijaju na jednakoj popularnosti kao i oni u ovom članku, ali iz različitih razloga nisu uvršteni na popis. Evo kratkog pregleda:

  • Golang: Već uspostavljen kao glavni, ako ne i vrlo popularan jezik. Vjerujem da u ovom trenutku Golang ima nekoliko konkurenata koji će zadržati svoj tržišni udio na niskom.
  • R: R je već vrući među znanstvenicima podataka, i malo je vjerojatno da će mnogo privući programere aplikacija. Osim toga, ne smijemo zaboraviti da knjižnice strojnog učenja polako prolaze na sve glavne jezike (za ime Boga, čak ih i PHP ima!), Tako da sve što trebate učiniti je pričekati neko vrijeme. ��
  • Swift: Apple ima željezni zahvat u svom ekosustavu, a Swift je jedini tamo dostupan jezik. Bez sumnje, raniji Cilj C bio je bijes, kao i Swift sada. Smatram da je to varanje i zato ga odbijam ovdje uključiti. ��

Budućnost je uvijek neizvjesna, a jedan od načina da nastavite svoju karijeru jest pridržavati se onoga što već radite i odbijati se „ometati“. Ako to učinite, Java, PHP, Python, Ruby itd. Svi su izvrsni jezici kojih se treba držati. Međutim, za neke od nas norma nije dovoljna. Oni žele izaći i istraživati ​​i kladiti se na budućnost. Ako padnete u potonji kamp, ​​jedan od tih pet jezika trebao bi biti na vrhu liste obveza.

I na kraju, kada pokušavate procijeniti jezik, nemojte dopustiti da vas uloženi napor nadvlada, jer to nije toliko. Ako već poznajete nekoliko programskih jezika, možete ih naučiti u roku od najviše dva mjeseca trošeći 5-6 sati tjedno. Dok će sreća i novčani prinosi koji se mogu stvoriti u budućnosti biti nekoliko puta veći.

Jesam li ovdje propustio neki kritički jezik? Ili možda imam nešto pogrešno u ovdje navedenim jezicima? Ako je tako, molim vas ostavite komentar i pomozite mi da se poboljšam. ��

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map