5 noi limbi de programare pe care ar trebui să le cunoașteți

Pentru unii oameni care învață un nou limbaj de programare este un exces cel mai bine evitat. Ei, de ce, susțin ei, avem nevoie de încă o limbă?


Nu avem deja suficient?

Nu sunt instrumentele existente pentru a face treaba?

Și apoi sunt acei căutători neobosiți care sar la ocazia de a încerca lucruri noi și de a se poticni pe pietre. Pentru ei, învățarea este un scop în sine și nu au nevoie de mult convingere pentru a-și distruge weekend-urile construind un joc de cărți bazat pe consolă într-un limbaj obscur și nou.

Indiferent din ce tabără aparțineți, există ceva dincolo de dezbatere: toți vrem să petrecem timp pentru ceva care va avea un viitor luminos.

Pentru oamenii din tabăra moștenire, limba lor preferată deja are o mulțime de impulsuri și va continua să aibă un viitor luminos. Pentru aceștia, trebuie să reamintesc că acea colecție de instrumente de dezvoltare preferată, acum matură, a fost cândva „kool-aid”, pe care mulți au refuzat să o bea. Și așa este astăzi; se adaugă noi tehnologii pentru a rezolva noi probleme sau pentru a ușura durerea dezvoltării.

Dacă ceva face acest lucru suficient de radical, este posibil ca acesta să continue să smulgă mindhare și să ajungă în vârf. Când se întâmplă asta, nu vrei să fii lăsat în urmă. ��

Și pentru cei cărora le place să alerge cu lucrurile strălucitoare, un avertisment: distracția este esențială ca programator, dar trebuie să fim atenți să nu ne pierdem energiile fără scop.

Sigur, brainfuck este un limbaj extrem de distractiv, asemănător cu un puzzle, distractiv, dar este puțin probabil să beneficiezi urmărind-o în serios. Vrei ceva care este nou, sensibil și are o bază solidă.

Cum au fost selectate aceste limbi

Selecția lingvistică este o muncă intimidantă, mai ales atunci când sunt luate în considerare noi limbi pentru beneficii viitoare pentru angajare și satisfacție. Fiecare autor de limbă este ferm convins că au creat limba perfectă posibilă și au rezolvat toate problemele pe care trebuie să le răspundă. Cum tăiați atunci?

Pentru această postare, m-am concentrat pe câțiva parametri pentru a-mi menține căutarea în limite rezonabile.

Data eliberării

Am evitat în mod specific limbile foarte, foarte noi.

Nou, mă refer la limbi cu vârsta mai mică de 5-6 ani de la scriere și, în special, cele care nu au atins stabilitatea (versiunea 1.0, adică). Acest lucru, din păcate, exclude unele pietre reale Cristal, Dar sper să revin la asta și să scriu despre succesul său într-o zi. ��

Un fragment de cod în Crystal („Fast as C, Slick as Ruby”)

Pentru mine, 5-12 ani este locul dulce, care este atunci când o limbă s-a stabilizat și sunt elaborate mai multe rafinamente. Acum, desigur, există excepții de la această regulă, iar acestea vor fi luate în considerare acolo unde este cazul.

Puternic interes comunitar

Acesta este un dezacord, dar de multe ori este ignorat atunci când suntem entuziasmați de ceva nou. Acum, pentru mulți oameni, susținerea unei companii mari este un precedent suficient pentru succes, dar nu este întotdeauna adevărat.

Da, Obiectivul C al Apple și acum Swift au prospera, deoarece acestea au fost singurele opțiuni dintr-un ecosistem controlat, dar Facebook este D și hack (o părere urâtă asupra unui limbaj deja urât, după părerea mea) rămân puțin mai mult decât experimente.

Combinația ideală ar fi un limbaj susținut de o companie mare, stabilă și care explodează în popularitate (cum ar fi React).

Dar carnea materiei este încă comunitatea. Dacă o limbă nu creează un zâmbet și nu există suficient de devs pentru a educa și populariza, nu va ieși din mormântul său GitHub.

Pentru mine, acest lucru exclude limbi mature, fascinante, precum Rachetă și Erlang, deoarece acestea au rămas plane pe curba de creștere.

USP concentrat, bine definit

Al treilea lucru pe care îl caut este un obiectiv clar pentru limbă. De exemplu, o versiune mai bună a PHP, care rezolvă problemele de denumire și compilează la PHP-ul nativ, nu funcționează pentru mine.

Beneficiile sunt doar prea mici pentru a justifica fisurile care vor apărea dacă toată lumea va încerca să se deplaseze la ea. Prin această măsură, nu mă pot abține să resping încercările de genul CoffeeScript, și multe alte limbi similare de compilare-JavaScript.

Sincer, sunt obligat să resping imediat îmbunătățiri numai cu sintaxa. Istoricul a arătat că utilitatea împiedică prietenia atunci când vine vorba de limbi, așa că dacă toate noile limbi vizate sunt o experiență mai plăcută, mă tem că nu va face această listă.

Sintaxa clară, consistentă

Da, stiu. Am spus doar că sintaxa nu contează. Ei bine, ca să fiu mai precis, am spus că „îmbunătățirile numai cu sintaxa” nu contează. Cu toate acestea, sintaxa rămâne unul dintre factorii importanți ai productivității și mentenabilității programatorului, așa că este ceva care va fi prezentat în calculele mele aici.

Alături de sintaxă vine ideea de consecvență. Denumirea funcțiilor, structurarea modulelor etc. sunt lucruri cheie pe care o limbă nu își poate permite să greșească. Anul 2018, în numele lui Dumnezeu, și un alt limbaj de tip PHP ar fi o rușine pentru noi toți. Deci, fără alte detalii, să începem cu primele noastre cinci recomandări.

1. Julia

Pentru oamenii de la MIT, limbile disponibile pentru știința datelor au fost în cel mai bun caz un compromis. Python, din toată claritatea și popularitatea sa, nu avea construcții native pentru a face față obiectelor de date. De asemenea, fiind un limbaj interpretat, Python a fost lent pentru ei (nu bibliotecile, nu vă gândiți, întrucât sunt scrise mai ales în C).

Dar, probabil, cea mai mare dezactivare a fost modelul de concurență neplăcut și lipsa unui model de calcul paralel, acesta din urmă fiind un element fundamental în super-calcul.

Ca rezultat, Julia a fost nascut.

Julia a ajuns la lansarea sa stabilă pe 29 septembrie 2018, cu doar câteva zile înainte de a fi scris acest articol (vorbim despre calendar!). Iată ce spune site-ul oficial despre capacitățile sale:

Julia excelează la calcularea numerică. Sintaxa sa este excelentă pentru matematică, multe tipuri de date numerice sunt acceptate și paralelismul este disponibil din cutie. Trimiterea multiplă a Iuliei este o potrivire naturală pentru definirea tipurilor de date asemănătoare numerelor și matricelor.

Înțelept în sintaxă, Julia poate fi văzută ca o combinație de Python și C. Da, este probabil prima dată când o limbă a vizat ambele calități și a reușit.

Pentru a menține lucrurile simple, Julia nu aplică dactilografierea strictă și totuși se aprinde rapid. Iată câteva repere:

Reperele oficiale ale Julia

După cum puteți vedea, Julia este ceva mai rău decât C, dar îi alungă pe Java și pe Python din apă. Și ce fel de bomboane ochi oferă Julia?

Ei bine, iată implementarea unei funcții pentru calculul ipotenuzei unui triunghi drept:

În cele din urmă, în timp ce majoritatea Iuliei ecosistem este puternic înclinat spre munca matematică, cred că are un viitor luminos cu scop general.

Este prima limbă din cunoștințele mele care are asistență de primă clasă pentru calcul paralel, așa că nu va fi surprinzător să-l văd câștigând mai multă popularitate în domeniile Web și IoT..

2. Rugina

Dacă ați încercat noile versiuni ale browserului Firefox, știți că, în sfârșit, după ani de lucru, se pare că ar putea să scoată o parte din piață de pe Chrome.

Dacă browserul se simte ușor și ușor și se redă rapid, totul este grație limbii Mozilla special dezvoltată: Rugini.

A spune că Rust are un viitor luminos va fi o minciună; limba este deja un succes masiv și, dacă nu ați auzit încă, este pentru că aria de aplicare este specializată, iar obiectivul înfricoșător este: înlocuirea C ++! Da, avem în sfârșit un limbaj care nu numai că este capabil să facă asta, dar îl face deja.

Pentru persoanele frustrate de provocările excesive de design și de gestionare a memoriei, C ++, Rust vine ca un suflu de aer curat.

Iată cum arată un program Rust:

Concis și elegant, după părerea mea. Rust urmează abordarea funcțională de programare, ceea ce face ca codul dvs. să fie mai compozibil și nu există ierarhii orientate pe obiecte cu care să luptați.

Deci, ce îi oferă lui Rust curajul de a merge după C ++? Este noul model de memorie. În loc să se bazeze pe vechiul nou () / delete () dance, Rust introduce ideea de proprietate.

În loc să aloce și să acceseze direct memoria, variabilele Rust „se împrumută” unul de la celălalt, cu restricții stricte plasate de compilator. Conceptul de ansamblu este prea complicat pentru a fi explicat în câteva cuvinte, așa că nu ezitați să consultați documente oficiale pentru a afla mai multe.

Ideea este că acest lucru duce la o siguranță de 100% a memoriei fără a fi nevoie de un colector de gunoi, ceea ce este o afacere mare.

Rust a luat lumea de programare a sistemului de o furtună. Este deja acceptat pe unele platforme, browserele de putere și motoarele de redare înlocuiesc rapid codul C / C ++ pe sistemele de producție și este folosit pentru a scrie sisteme de operare.

Sigur, nu este ceașca de ceai a tuturor pentru a crea un alt browser sau driver de dispozitiv, dar Rust se răspândește deja în alte domenii. Avem deja mai multe cadre Web complet funcționale, ridicol de rapide în Rust și sunt dezvoltate tot mai multe biblioteci de aplicații.

Sincer, dacă vă interesează un viitor interesant, Rust este limba perfectă și acum este un moment perfect. Rust este un avion care a decolat, dar mai este timp să urcați la bord, întrucât se îndreaptă spre stele!

Învăța Rugina de la Dmitri Nesteruk.

3. Elixir

Printre limbile care se concentrează pe fericirea dezvoltatorilor, primul loc a fost rezervat permanent lui Ruby. Este un limbaj care seamănă cu poezia și are suficiente scurtături pentru a reduce frecarea mentală după ordinul mărimii.

Nu este de mirare, atunci, că cadrul Rails continuă să domine dezvoltarea deplină a stivelor pentru dezvoltatori și startup-uri serioase. Dar nu toată lumea a fost mulțumită de Rails, în special unul dintre dezvoltatorii săi de bază – José Valim. Cred că însuși creatorul explică cel mai bine geneza acestui limbaj într-un an interviu:

Este o poveste lungă, dar voi încerca să o fac scurtă și dulce. În 2010, lucram la îmbunătățirea performanței Rails atunci când lucram cu sisteme cu mai multe nuclee, deoarece mașinile noastre și sistemele noastre de producție sunt livrate cu tot mai multe nuclee. Cu toate acestea, întreaga experiență a fost destul de frustrantă, deoarece Ruby nu oferă un instrument adecvat pentru rezolvarea problemelor de concordanță. Atunci am început să mă uit la alte tehnologii și m-am îndrăgostit până la urmă de mașina virtuală Erlang.

Am început să folosesc din ce în ce mai mult Erlang și, cu experiență, am observat că îmi lipsesc unele construcții disponibile în multe alte limbi, inclusiv în cele funcționale. Atunci am decis să creez Elixir, ca o încercare de a aduce construcții diferite și instrumente excelente în partea de sus a Erlang VM.

Și iată, Elixir a fost nascut!

La fel cum Scala îmbunătățește limbajul Java, dar țintește aceeași mașină virtuală de dedesubt (JVM), Elixir profită și de mașina virtuală Erlang, dovedită de zeci de ani..

Acum, o discuție despre Erlang nu depășește domeniul de aplicare al acestui articol, dar minimul pe care ar trebui să îl știi este că este secretul cel mai bine păstrat al industriei de telecomunicații: dacă rețelele noastre de telefonie sunt mult mai fiabile decât sistemele noastre bazate pe Web, totul este datorită Erlang.

În termeni și mai simpli, ceea ce înseamnă este acesta. Dacă construiți un sistem în timp real, precum chatul, Elixir este mult mai puțin înfometat și stabil RAM decât Ruby (sau PHP, Python și Java, pentru asta).

O mașină care rulează Ruby și trimite mesaje la, să zicem, 10.000 de conexiuni concomitente, poate gestiona cu ușurință 200.000 atunci când utilizați Elixir și mai are suficientă memorie RAM pentru a rula jocuri 2D!

Fragment de cod Elixir

Înțelept-sintaxă, Elixir îl copiază fără rușine pe Ruby, iar cadrul său dominant Web, Phoenix, copiază fără nerușinare Rails. Aș spune că este un lucru bun și pentru că, împreună cu Laravel, Graaluri, Masonite etc., ajungem la un punct în care toate limbile au cadre de tip Rulă care pot ușura tranziția. Unii ar putea să batjocorească „lipsa de originalitate”, dar cel puțin nu mă plâng.

In cele din urma, Elixir este una dintre acele tehnologii care sunt revigorante, plăcute și condamnate practice. Câteva magazine Ruby (și chiar non-Ruby) se mută în Elixir, iar companii mari precum Pinterest îl folosesc în producție cu rezultate extrem de satisfăcătoare..

Mulți oameni cred că Node.js a fost o tentativă importantă de concurgență și va fi în curând înlocuit de Elixir. Trebuie să spun că sunt de acord cu ei. ��

4. Kotlin

În I / O 2017, Google a lansat o bombă asupra mulțimii neașteptate. Compania a anunțat oficial Kotlin ca limbă principală pentru dezvoltarea Android, trimitând valuri de șoc prin industrie.

Acum, faptul că Google a căutat în mod activ să înlocuiască Java nu este o surpriză după ce a fost mușcat de un proces Oracle; cu toate acestea, adoptarea lui Kotlin a fost oarecum neașteptată și există încă șanse mari ca Google să iasă cu mașina sa virtuală în curând. Deocamdată, însă, Kotlin se bucură de o creștere puternică.

Kotlin a fost dezvoltat de JetBrains, o companie mai cunoscută pentru suita sa de editori de cod nebun. Unul dintre ei, IntelliJ IDEA, formează baza de bază a Studio Android. Obiectivele de proiectare ale Kotlin sunt siguranța, concizia și interoperabilitatea 100% cu Java.

Mai mult decât orice, compilatorul Kotlin lucrează mult pentru a elimina orice excepții de tip null-pointer atât de frecvente în lumea Java. De asemenea, se elimină destul de mult proverbiala verosimilitate Java, care va veni ca o ușurare pentru mulți.

Iată o comparație minunată de coduri între Java și Kotlin:

Credit de imagine: coduri hype.cod

Codul Kotlin este semnificativ mai scurt și mult mai puțin supraîncărcarea cognitivă prin care se arde.

Dar să lămurim un lucru: Kotlin este foarte puțin probabil să înlocuiască Java, deși devine rapid un favorit rapid. Cred că zece ani în drum, echipele mici și mijlocii nu vor privi mai departe de Kotlin, în timp ce grupurile mari vor continua să folosească Java doar din motive moștenite.

Acestea fiind spuse, Kotlin are un viitor extrem de luminos, deoarece face tot ceea ce face Java, se poate contopi cu codul Java fără ca cineva să observe, și este mult mai plăcut!

5. TypeScript

Dumnezeu știe că a trebuit să mă rețin pentru acest loc! Totul din mine striga „Elm! Elm! ”, Dar oricât de revoluționare sunt ideile sale sau cât de sintaxă este divină, Elm încă trebuie privită ca o alternativă principală pentru lucrările frontale. �� În orice caz, să trecem la ceea ce este mainstream: TypeScript.

JavaScript este ca fructele sălbatice: urât și dezastruos, dar trebuie să-l stomac dacă doriți să supraviețuiți în jungla dezvoltării frontale. S-au făcut multe încercări de înlocuire a acestuia (și cel mai probabil, noul standard WebAssembly va reuși), dar ceea ce a atras cu adevărat atenția tuturor a fost supersetul dezvoltat de Microsoft.

Există șanse excelente despre care ați auzit manuscris dactilografiat: Angular a fost primul cadru care l-a îmbrățișat începând cu versiunea 2 și oamenii au fost repede să ia notă. Acest lucru se datorează faptului că TypeScript adaugă unele super-puteri foarte necesare și unele superputeri fantastice celui mai cunoscut limbaj de programare din lume.

Da, în cele din urmă este posibil să scrieți codul JavaScript nativ fără să suferiți și să blestemați nașterea unuia!

Iată îmbunătățirile pe care TypeScript le aduce tabelului:

✓ Tastați puternic: În cele din urmă, o șir nu este un număr, iar un număr nu este un obiect, care nu este un tablou gol!

✓ Verificarea tipului de compilare în timp: Dacă codul dvs. se compilează corect, este mai mult sau mai puțin garantat că nu este liber de verucile din timpul de execuție JavaScript.

✓ clase și module: Da, clasele sunt standard în ES6, dar sunt incluse și în TypeScript, pe lângă un sistem de module îngrijit.

✓ Inferență de tip: Pentru tipurile complexe, tipul poate fi calculat cu ușurință de către compilator, economisindu-ți o durere de cap.

✓ Async / așteptați: Cuvintele cheie și modelele async / așteaptă sunt fundamentale, deci nu mai încurcă cu Promise și Callbacks!

Spații de nume, generice, tupluri. . . Aș putea continua, dar ar fi suficient să spun că TypeScript transformă una dintre cele mai proaste experiențe de dezvoltare într-una dintre cele mai bune.

Fragment de cod TypeScript

Impactul TypeScript nu poate fi respins. Acesta a împins încercările similare precum Google Dart în afara terenului (deși încearcă o revenire prin Flutter, un cadru de dezvoltare mobilă) și a deschis ochii dezvoltatorilor JS către beneficiile unor tipuri mai puternice..

Drept urmare, biblioteci semnificative precum React, D3, Vue (chiar și jQuery!) Au acum o versiune TypeScript, iar în cele mai bune magazine software din întreaga lume, tot codul JavaScript este scris ca cod TypeScript. Anteturile de tip TypeScript sunt acum disponibile și pentru Node.js (sincer, dacă un nod își poate îmbunătăți povestea de concordanță și poate remedia gestionarea memoriei sale, acesta va dura pentru totdeauna).

Ați putea fi surprins să știți că, după public, creatorul Node.js regretând creația sa, lucrează la un nou timp de rulare (în acest moment nu există niciun site oficial; doar repoziția GitHub) care are TypeScript ca limbă principală.

Cele mai bune vești? TypeScript este un mic limbă de învățat cu beneficii considerabile în viitor. Dacă sunteți un dezvoltator JavaScript intermediar, veți ridica suficient de multe tipuri TypeScript în două zile pentru a vă transporta tot codul existent!

Concluzie și exonerare

Limbile specifice câștigă la fel de multă popularitate ca cele din acest articol, dar nu au fost incluse în listă din diverse motive. Iată o privire rapidă:

  • Golang: deja stabilit ca limbaj principal, dacă nu foarte popular. Cred că în acest moment Golang are mai mulți concurenți care își vor menține cota de piață scăzută.
  • R: R este deja fierbinte printre oamenii de știință de date și este puțin probabil să atragă dezvoltatorii de aplicații mult. În plus, nu trebuie să uităm că bibliotecile de învățare automată se îndreaptă încet în toate limbile majore (de dragul lui Dumnezeu, chiar și PHP le are acum!), Așa că tot ce trebuie să faceți este să așteptați ceva timp. ��
  • Swift: Apple are o aderență de fier asupra ecosistemului lor, iar Swift este singura limbă disponibilă acolo. Fără îndoială, obiectivul C anterior a fost furia, așa cum este Swift acum. Consider că este înșelătorie și deci refuz să o includ aici. ��

Viitorul este întotdeauna incert, iar o modalitate de a parcurge cariera este să te respecți de ceea ce funcționează deja și să refuzi să te „distragi”. Dacă faceți asta, Java, PHP, Python, Ruby, etc. Cu toate acestea, pentru unii dintre noi, norma nu este suficientă. Vor să iasă și să exploreze și să parieze mare pe viitor. Dacă intrați în tabăra din urmă, una dintre aceste cinci limbi ar trebui să se afle în partea de sus a listei de activități.

În cele din urmă, atunci când încercați să evaluați o limbă, nu lăsați efortul inclus să vă copleșească, deoarece nu este atât de mult. Dacă cunoașteți deja câteva limbaje de programare, puteți învăța oricare dintre acestea în maxim două luni, petrecând 5-6 ore pe săptămână. În timp ce fericirea și rentabilitățile monetare care pot fi generate în viitor vor fi de mai multe ori.

Mi-a fost dor de un limbaj critic aici? Sau poate am greșit ceva în limbile enumerate aici? Dacă da, vă rog, lăsați un comentariu și ajutați-mă să mă îmbunătățesc. ��

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