5 novih jezikov za programiranje, ki bi jih morali poznati

Nekaterim se je učenje novega programskega jezika presežek najbolje izogniti. Zakaj, oh, trdijo, ali potrebujemo še en jezik?


Nimamo že dovolj?

Ali obstoječa orodja niso opravljena?

In potem so tu neumorni iskalci, ki skočijo na priložnost, da preizkušajo nove stvari in se spotaknejo s dragulji. Za njih je učenje samo sebi namen, zato jim vikendi ne potrebujejo veliko prepričljivosti, da bi sestavili vikende, ko bodo igrali kartaško igro na konzoli v tem nejasnem, novem jeziku.

Ne glede na to, kateremu kampu pripadate, je nekaj zunaj razprave: vsi želimo porabiti čas za nekaj, kar bo imelo svetlo prihodnost.

Ljudje v zapuščinskem taboru imajo svoj najljubši obstoječi jezik že na tone in bodo še naprej imeli svetlo prihodnost. Spomniti jih moram, da je bila njihova zdaj zrela najljubša razvojna orodja nekoč “kool pomoč”, ki so jo mnogi zavrnili. In tako je tudi danes; dodane so nove tehnologije za reševanje novih težav ali za lajšanje bolečin v razvoju.

Če to stori dovolj radikalno, obstaja velika verjetnost, da bo še naprej ugrabil miselnost in dosegel vrh. Ko se to zgodi, ne želite biti zaostali. ��

Za tiste, ki radi tečejo s svetlečimi stvarmi, opozorilo: zabava je ključnega pomena kot programer, vendar moramo biti pozorni, da energije ne zapravimo brez cilja.

Seveda, Brainfuck je neverjetno zasukan, uganka, zabaven majhen jezik, vendar verjetno ne boste imeli koristi, če ga resno zasledujete. Želite nekaj, kar je novo, smiselno in ima trdne temelje.

Kako so bili izbrani ti jeziki

Izbira jezika je zastrašujoče delo, še posebej, če se o prihodnjih koristih pri zaposlovanju in zadovoljstvu razmišljajo o novih jezikih. Vsak avtor jezikov je trdno prepričan, da je zgradil popoln možni jezik in rešil vse težave, na katere je treba odgovoriti. Kako torej režete?

Pri tej objavi sem se osredotočil na nekaj parametrov, da bi iskanje potegnil v razumne meje.

Datum izdaje

Posebej sem se izogibal jezikom, ki so zelo, zelo novi.

Novo, mislim na jezike, ki so stari manj kot 5-6 let, in še posebej tiste, ki niso dosegli stabilnosti (1.0 izdaja, to je). To žal izključuje nekatere prave dragulje, kot so Kristal, Upam pa, da se bom tega vrnil in nekega dne pisal o njegovem uspehu. ��

Odrezek kode v Crystal (»Hitro kot C, drsenje kot Ruby«)

Zame je slaba točka 5-12 let, ko se je jezik stabiliziral in se dela več izboljšav. Zdaj seveda pri tem pravilu obstajajo izjeme, ki bodo po potrebi upoštevane.

Močan interes Skupnosti

Ta je brez možganov, vendar nas pogosto prezre, ko se navdušimo nad nečim novim. Zdaj je za številne ljudi podpora velikega podjetja dovolj precedensa za uspeh, vendar to ni vedno res.

Da, Apple-jev Objective-C in zdaj Swift je uspeval, ker so bile to edine možnosti v zelo nadzorovanem ekosistemu, toda Facebook je D in Hack (grd prevzem že grdega jezika, po mojem mnenju) ostajajo le malo več kot poskusi.

Idealna kombinacija bi bil jezik, ki ga podpira veliko, stabilno podjetje, ki je priljubljeno (kot React).

Toda meso zadeve je še vedno skupnost. Če jezik ne ustvarja zvoka in ni dovolj vragov za izobraževanje in popularizacijo, se ne bo povzpel iz groba GitHub.

Zame to izključuje zrele, očarljive jezike, kot so Raketa in Erlang, saj so na krivulji rasti ostali ravni.

Usmerjen, dobro opredeljen USP

Tretja stvar, ki jo iščem, je jasno določen cilj jezika. Na primer, boljša različica PHP-ja, ki odpravlja težave s poimenovanjem in prevajanjem v izvorni PHP, ne deluje zame.

Koristi so le premajhne, ​​da bi upravičile razpoke, ki bi se pojavile, če bi se vsi poskusili premakniti nanjo. S to mero si ne morem preprečiti poskusov, kot so CoffeeScript, in številni drugi podobni jeziki za prevajanje v JavaScript.

Iskreno, takoj bom zavrnil izboljšave, ki so samo za sintakso. Zgodovina je pokazala, da koristnost trpi prijaznost, ko gre za jezike, tako da če so vsi novi jeziki osredotočeni na prijetnejšo izkušnjo, se bojim, da tega ne bo uvrstil na ta seznam.

Jasna, skladna skladnja

Ja vem. Pravkar sem rekel, da sintaksa ni pomembna. Torej, če sem natančen, sem rekel, da “izboljšave samo sintakse” niso pomembne. Toda ob tem je sintaksa še vedno eden pomembnih dejavnikov produktivnosti in vzdrževanja programerjev, tako da je to v mojih izračunih tukaj.

Skupaj s skladnjo prihaja tudi ideja skladnosti. Imenovanje funkcij, strukturiranje modulov itd. So ključne stvari, ki si jih jezik ne more privoščiti. Za božjo voljo je leto 2018, še en jezikovni dizajn v obliki PHP pa bi bil škoda za vse nas. Torej, brez dodatnega aduta, začnimo z našimi petimi najboljšimi priporočili.

1. Julia

Ljudje na MIT so bili v najboljšem primeru kompromis za jezike, ki so na voljo za podatkovno znanost. Pythonu zaradi vse jasnosti in priljubljenosti ni manjkalo izvornih konstruktov za obravnavo podatkovnih predmetov. Tudi Python je bil interpretiran jezik počasi zanje (ne knjižnice, ker jih večinoma pišejo v C).

Morda pa sta bila največja izklopa okorni model sočasnosti in pomanjkanje vzporednega računalniškega modela, katerega slednji je najpomembnejši v superračunalništvu.

Kot rezultat, Julija se je rodil.

Julia je svojo stabilno izdajo dosegla 29. septembra 2018, komaj nekaj dni pred tem, ko je bil napisan ta članek (pogovorite se o časovnem razporedu!). Tukaj je opisano uradno spletno mesto o njegovih zmogljivostih:

Julia se odlično odreže v numeričnem računanju. Njegova sintaksa je odlična za matematiko, podprti so številni tipi podatkov, vzporedno pa je na voljo tudi vzporednost. Julijeva večkratna odprema je naravno merilo za določanje številskih in matričnih vrst podatkov.

Po sintaksi je Julia mogoče razumeti kot kombinacijo Pythona in C. Da, verjetno je to prvič, da je jezik ciljal na obe kvaliteti in uspel.

Da bi bile zadeve preproste, Julia ne izvaja strogega tipkanja in kljub temu hitro plazi. Tu je nekaj referenčnih vrednosti:

Uradna merila Julia

Kot vidite, je Julia nekoliko slabša od C, vendar Java in Python pihata iz vode. In kakšne sladkarije za oči ponuja Julia?

No, tukaj je izvedba funkcije za izračun hipotenuze pravega trikotnika:

Končno, medtem ko večina Julije ekosistema je močno nagnjen k matematičnemu delu, verjamem, da ima svetlo prihodnost splošnega pomena.

To je prvi jezik po mojem znanju, ki ima prvovrstno podporo za vzporedno računalništvo, zato ne bo presenečenje, če bo videl, da pridobiva večjo priljubljenost v domenah Splet in IoT.

2. Rust

Če ste preizkusili nove različice brskalnika Firefox, veste, da bo končno po letih dela videti, kot da bi lahko odnesli nekaj tržnega deleža iz Chroma.

Če se brskalnik počuti lahkoten in hiter ter se hitro upodobi, je vse to zahvaljujoč jeziku, ki ga je Mozilla posebej razvila: Rust.

Reči, da ima Rust svetlo prihodnost, bo laž; jezik je že velik uspeh, in če ga še niste slišali, je to zato, ker je njegovo področje uporabe specializirano, njegov cilj pa strašljiv: zamenjava C ++! Da, končno imamo jezik, ki tega ne samo da je sposoben, ampak že to počne.

Za ljudi, ki so zaskrbljeni zaradi preobremenjenega dizajna in upravljanja pomnilnika C ++, Rust prihaja kot dih svežega zraka.

Takole izgleda program Rust:

Po mojem mnenju jedrnato in elegantno. Rust sledi pristopu funkcionalnega programiranja, zaradi česar je vaša koda bolj komponirana in ni objektno naravnanih hierarhij, s katerimi bi se lahko spopadali.

Kaj torej Rustu daje pogum, da se poda po C ++? To je nov model pomnilnika. Namesto da bi se opiral na stari novi () / delete () ples, Rust uvaja idejo o lastništvu.

Namesto da bi neposredno dodeljevali pomnilnik in dostopali do njega, si spremenljivke Rust “izposodimo” med seboj, s strogimi omejitvami, ki jih postavlja prevajalnik. Celoten koncept je preveč zapleten, da bi ga lahko razložil z nekaj besedami, zato si oglejte dokument uradni dokumenti če želite izvedeti več.

Bistvo je, da to povzroči 100-odstotno varnost pomnilnika brez potrebe po zbiranju smeti, kar je velika stvar.

Rust je nevihto popeljal v sistemski svet. To je že podprto na nekaterih platformah, brskalniki z močjo in upodabljajoči motorji hitro nadomeščajo kodo C / C ++ na proizvodnih sistemih in se uporabljajo za pisanje operacijskih sistemov.

Seveda, ni vsaka skodelica čaja, da bi ustvarili drug brskalnik ali gonilnik naprave, ampak Rust se že širi na druge domene. V Rustu imamo že več popolnoma funkcionalnih, smešno hitrih spletnih okvirov in razvija se vedno več knjižnic aplikacij..

Iskreno, če vas zanima vznemirljiva prihodnost, je Rust popoln jezik in zdaj je pravi čas. Rust je letalo, ki je vzletelo, a še vedno je čas, da se vkrcamo, ko se pelje proti zvezdam!

Naučite se Rust od Dmitrija Nesteruka.

3. Eliksir

Med jeziki, ki se osredotočajo na srečo razvijalcev, je prvo mesto trajno rezervirano za Ruby. To je jezik, ki se bere kot poezija in ima dovolj bližnjic, da zmanjšajo duševno trenje po vrstnem redu.

Nič čudnega torej, da okvir Rails še naprej prevladuje v popolnem razvoju skladov za resne razvijalce in startupe. Niso pa vsi zadovoljni z Railsom, še posebej eden od njegovih glavnih razvijalcev – José Valim. Mislim, da ustvarjalec sam najbolje razloži genezo tega jezika v an intervju:

Dolga je zgodba, vendar bom poskušal narediti kratko in sladko. Leta 2010 sem se ukvarjal z izboljšanjem zmogljivosti Rails pri delu z večjedrnimi sistemi, saj naši stroji in proizvodni sistemi prevažajo vedno več jeder. Vendar je bila celotna izkušnja precej frustrirajoča, saj Ruby ne ponuja ustreznega orodja za reševanje težav s sočasnostjo. Takrat sem začel gledati druge tehnologije in sem se na koncu zaljubil v virtualni stroj Erlang.

Vse bolj sem začel uporabljati Erlang in z izkušnjami sem opazil, da mi manjkajo nekateri konstrukti, ki so na voljo v mnogih drugih jezikih, vključno s funkcionalnimi. Takrat sem se odločil, da bom ustvaril Elixir kot poskus, da na vrh Erlang VM postavim različne konstrukte in odlično orodje..

In glej, Eliksir se je rodil!

Tako kot Scala izboljšuje jezik Java, vendar cilja na isti virtualni stroj pod (JVM), tudi Elixir izkorišča desetletje staro, v bitki dokazano virtualno napravo Erlang.

Zdaj razprava o Erlangu presega obseg tega članka, vendar morate vedeti, da je skrivnost telekomunikacijske industrije najbolje ohranjena skrivnost: če so naša telefonska omrežja veliko bolj zanesljiva od naših sistemov, ki temeljijo na spletu, je vse to zahvaljujoč Erlang.

Če še enostavneje rečeno, to pomeni. Če gradite sistem v realnem času, kot je klepet, je Elixir veliko, veliko manj RAM lačen in stabilen kot Ruby (ali PHP, Python in Java, kar zadeva).

Stroj, ki poganja Ruby in doseže največ 10.000 sočasnih povezav, z lahkoto prenese 200.000, ko uporabljate Elixir in ima še vedno dovolj RAM-a za izvajanje 2D iger!

Odlomek kode Elixir

Elixir pametno sintaksično kopira Ruby, njegov prevladujoči spletni okvir Phoenix pa brezsramno kopira Rails. Rekel bi tudi, da je to dobro, saj skupaj z Laravelom, Gralom, Masonitom itd. Dosežemo točko, ko imajo vsi jeziki okvirje podobne tirnicam, ki lahko olajšajo prehod. Nekateri bi se lahko zasmehovali nad “pomanjkanjem izvirnosti”, najmanj pa se ne pritožujem.

Končno, Eliksir je ena tistih tehnologij, ki so osvežujoče, prijetne in prekleto praktične. Več trgovin Ruby (in celo ne-Ruby) se seli v Elixir, velika podjetja, kot je Pinterest, pa ga uporabljajo v proizvodnji z izredno zadovoljivimi rezultati.

Mnogi mislijo, da je bil Node.js hiter poskus sočasnosti in bi ga kmalu zamenjal Elixir. Moram reči, da se strinjam z njimi. ��

4. Kotlin

V letu 2017 je I / O sprožil bombo na nič sumljive množice. Družba se je uradno oglasila Kotlin kot glavni jezik za razvoj Android, ki pošilja udarne valove skozi industrijo.

Zdaj, ko si Google aktivno prizadeva nadomestiti Java, ni presenečenje, ko ga je ugriznila tožba Oracle; vendar je bilo sprejetje Kotlina nekoliko nepričakovano in še vedno obstaja velika možnost, da se bo Google kmalu predstavil s svojim virtualnim strojem. Zaenkrat pa Kotlin uživa v sunku.

Kotlin je razvil JetBrains, podjetje, bolj znano po naboru noro dobrih urejevalnikov kod. Eden od njih, IntelliJ IDEA, je temelj Android studia. Kotlinski oblikovni cilji so varnost, jedrnatost in 100-odstotna interoperabilnost z Javo.

Prevajalnik Kotlin bolj kot karkoli drugega dela zelo naporno, da odpravi morebitne izjeme ničelnih kazalcev, ki so tako pogoste v svetu Java. Prav tako precej odstrani pregovorno verbalnost Java, kar bo mnogim olajšalo.

Tu je čudovita primerjava kode med Javo in Kotlinom:

Kreditna slika: hype.codes

Kotlinova koda je bistveno krajša in veliko manj kognitivne preobremenitve, da jo preplavi.

Toda pojasnimo eno stvar: Kotlin verjetno ne bo nadomestil Jave, čeprav hitro postaja najljubši. Verjamem, da desetletja po cesti majhne do srednje velike ekipe ne bodo izgledale dlje kot Kotlin, medtem ko bodo velike skupine Java še naprej uporabljale zgolj zaradi zapuščenih razlogov.

Kot rečeno, ima Kotlin izjemno svetlo prihodnost, saj lahko vse, kar počne Java, združi s kodo Java, ne da bi kdo opazil, in je veliko bolj prijeten!

5. TypeScript

Bog ve, da sem se moral zadržati zaradi tega spota! Vse v meni je kričalo “Elm! Elm! «, Vendar ne glede na to, kako revolucionarne so njegove ideje ali kako božanska sintaksa, Elm še ni treba obravnavati kot glavno alternativo za delo v ospredju. �� Kakorkoli že, preidimo na tisto, kar je mainstream: TypeScript.

JavaScript je kot divje jagode: grdo in neokusno, vendar ga morate povohati, če želite preživeti džunglo naprednega razvoja. Številni poskusi so bili nadomeščeni (in najverjetneje bo nov standard WebAssembly uspel), toda resnično je pritegnila pozornost vseh, je superset, ki ga je razvil Microsoft.

Obstajajo odlične možnosti, ki ste jih slišali TypeScript: Angular je bil prvi okvir, ki ga je sprejel od različice 2 naprej, in ljudje so se hitro seznanili. Zato je, ker TypeScript najbolj znanemu programskemu jeziku na svetu doda nekaj prepotrebnih in fantastičnih velesil.

Da, končno je mogoče napisati izvorno kodo JavaScript, ne da bi trpeli in preklinjali rojstvo!

Tu so izboljšave, ki jih TypeScript prinese v tabelo:

✓ Močno tipkanje: Končno niz ni število in število ni predmet, ki ni prazen niz!

✓ Preverjanje tipa čas-čas: Če je vaša koda pravilno sestavljena, je bolj ali manj zagotovljeno, da ne vsebuje bradavic med izvajanjem JavaScript.

✓ Razredi in moduli: Da, razredi so standardni v ES6, vendar so poleg urejenega modula vključeni tudi v TypeScript.

✓ Vnesite sklepanje: Pri zapletenih vrstah lahko prevajalnik enostavno ugotovi vrsto, kar vam prihrani nekaj glavobola.

✓ Async / čaka: Ključne besede in vzorci asinhronizacije / čakajočih so temeljni, zato se ne obremenjujte več s obljubami in povratnimi klici!

Prostori imen, generiki, tupleji. . . Lahko bi nadaljeval in nadaljeval, vendar bi moralo zadostovati, da TypeScript eno najslabših razvojnih izkušenj pretvori v eno najboljših.

Odrezek kode TypeScript

Vpliva TypeScript ni mogoče zanikati. Podobne poskuse, kot je Googlov Dart, je potisnil iz polja (čeprav poskuša vrniti prek Flutterja, mobilnega razvojnega okvira) in odprl oči razvijalcem JS za prednosti močnejših tipov.

Posledično imajo pomembne knjižnice, kot so React, D3, Vue (tudi jQuery!) Zdaj različico TypeScript, v najboljših trgovinah s programsko opremo po vsem svetu pa se vsa JavaScript koda piše kot koda TypeScript. Za Node.js so zdaj na voljo tudi TypeScript glave (iskreno, če vozlišče lahko izboljša svojo zgodbo o sočasnosti in popravi svoje slabo upravljanje s pomnilnikom, bo trajalo večno).

Morda boste presenečeni, ko veste, da je ustvarjalec Node.js, po javno obžalovanje njegovo ustvarjanje, dela na a nov čas izvajanja (zaenkrat še ni uradnega spletnega mesta; samo repo GitHub), ki ima TypeScript kot glavni jezik.

Najboljše novice? TypeScript je majhen jezika za učenje s precejšnjimi koristmi v prihodnosti. Če ste vmesni razvijalec JavaScript, boste v dveh dneh zbrali dovolj vrste TypeScript, da boste lahko prenesli vso svojo obstoječo kodo!

Sklep in odpoved odgovornosti

Določeni jeziki pridobivajo toliko priljubljenosti kot tisti v tem članku, vendar zaradi seznama niso bili vključeni na seznam. Tu je hitri pogled:

  • Golang: Že uveljavljen kot glavni, če ne celo zelo priljubljen jezik. Verjamem, da ima Golang v tem trenutku več konkurentov, ki bodo ohranili nizek tržni delež.
  • R: R je že vroča med znanstveniki podatkov in verjetno ne bo veliko pritegnilo razvijalcev aplikacij. Poleg tega ne smemo pozabiti, da knjižnice strojnega učenja počasi napredujejo v vse glavne jezike (za božjo voljo, tudi PHP jih ima zdaj!), Zato je treba počakati nekaj časa. ��
  • Swift: Apple ima železni oprijem na svojem ekosistemu, Swift pa je edini jezik, ki je na voljo tam. Brez dvoma je bil prej cilj C, kot zdaj Swift. Menim, da je to varanje, zato ga nočem vključiti sem. ��

Prihodnost je vedno negotova in eden od načinov za kariero je, da se držite tega, kar že deluje, in se ne želite “motiti”. Če to storite, so Java, PHP, Python, Ruby itd. Vsi odlični jeziki, s katerimi se morate držati. Vendar za nekatere od nas norma ni dovolj. Želijo iti ven in raziskati ter veliko staviti na prihodnost. Če sodite v slednji tabor, bi moral biti eden od teh petih jezikov na vrhu seznama opravil.

Nazadnje, ko poskušate oceniti jezik, ne dovolite, da bi vas vlekel trud, ker vas premaga, ker to ni tako veliko. Če že poznate nekaj programskih jezikov, se lahko naučite katerega koli od njih v največ dveh mesecih, tako da porabite 5-6 ur na teden. Ker bo sreče in denarnih donosov, ki jih bomo lahko ustvarili v prihodnosti, večkrat več.

Sem tukaj pogrešal kakšen kritičen jezik? Ali pa imam morda kaj narobe glede tu naštetih jezikov? Če je tako, prosim, pustite komentar in mi pomagajte pri izboljšanju. ��

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