JavaScript a fost primul limbaj de programare pe care l-am preluat. Ei bine, de fapt am început cu HTML și CSS. La fel ca mulți alți dezvoltatori de web, a merge cu JavaScript a fost o nebunie. Acest lucru se întâmplă pur și simplu pentru că se combină atât de bine cu HTML și CSS și, de fapt, vă îmbunătățește abilitățile HTML / CSS. Am dezvoltat aplicații și jocuri în diverse alte limbaje de programare, inclusiv Java, Swift, C ++, Dart. Dar flexibilitatea oferită de JavaScript este de neegalat – chiar dacă ar putea fi considerată rea pentru începători, deoarece oferă mai multe opțiuni decât cele necesare pentru a face o sarcină simplă.
Astăzi, JavaScript este unul dintre cele mai puternice limbaje de pe planetă datorită performanței și omniprezenței sale.
Personal, simt că JavaScript are potențialul de a intra în atâtea industrii populare, cum ar fi Machine Learning și Analiza datelor, unde Python încă stăpânește jocul. Se întâmplă chiar acum cu instrumente precum Tensorflow.js!
Cu toate acestea, acest lucru nu a fost cu siguranță cazul pentru JavaScript înainte. Mai devreme, era un limbaj slab, neperformant și era încruntat. JavaScript a fost pentru „învinși”.
Dar nu mai. Să vedem cum JavaScript a întors tabelele în ultimii 10 ani, de ce a devenit mai puternic ca niciodată și de ce este aici să rămână.
V8: Fiara care alimentează JavaScript
V8 este de fapt un motor JavaScript. Ce este un motor JavaScript, ați putea întreba? Un motor JavaScript este un interpret care execută codul JavaScript. Un motor JavaScript poate fi implementat ca un interpret standard sau un compilator JIT (just-in-time) care compilează JavaScript pentru a codifica byt într-o anumită formă.
V8 este motorul JIT JavaScript și WebAssembly JIT de înaltă performanță open source, scris în C ++. Este folosit în Chrome și în Node.js, printre altele. V8 poate rula independent sau poate fi încorporat în orice aplicație C ++.
Acesta este pachetul de software care vă optimizează foarte mult codul JS și îl convertește în cod de mașină pentru a fi executat de CPU. Unele dintre sarcinile care se ocupă de V8 sunt:
- Colectarea gunoiului
- Compilație la codul mașinii
- Memorarea în cache a liniei
- Compresia indicatorului
- și mult mai multă optimizare
De fapt, compresia indicatorului este o tehnică foarte nouă în V8 pentru a spori optimizarea memoriei fără a avea niciun efect asupra performanței. Dacă sunteți un geek, puteți citi mai multe despre modul în care este implementat pe blogul oficial V8.
Rezolvarea este că puteți scrie JavaScript și dormi bine noaptea, deoarece codul dvs. JS este pe mâini foarte bune.
Ecosistem și comunitate maturi
JavaScript are unul dintre cele mai mature – dacă nu chiar cele mai mature – ecosisteme pe care le-ar putea avea vreodată un limbaj de programare. Comunitatea pentru JavaScript este vastă, iar bariera de intrare este extrem de scăzută.
Puteți porni un browser (găsit pe 100% din computerele personale), puteți deschide consola și veți găsi un motor JS care vă așteaptă să rulați codul! Nu a fost niciodată cazul cu alte limbaje de programare de o asemenea complexitate.
De parcă vasta comunitate nu ar fi suficientă, avem npm
și yarn
sisteme de pachete. O numiți și există un pachet pentru asta pe npm
registry – totul, de la crearea de șiruri aleatorii până la gestionarea fluxurilor și bufferelor în JavaScript. Există o zicală foarte faimoasă printre dezvoltatorii JavaScript:
Ce se poate face în JavaScript, s-ar face în cele din urmă în JavaScript
Este amuzant, dar lowkey, cred asta.
Dacă intrați ca începător, există foarte puține șanse să întâlniți o problemă pe care nimeni nu a mai întâlnit-o înainte. Acest lucru se datorează faptului că toate greșelile posibile pentru probleme simple JavaScript au fost probabil deja întrebat și arhivat pe site-uri precum Stack Overflow.
Cadrele și bibliotecile precum React, Angular și Vue deschid calea către modul în care ar trebui construite aplicațiile viitoare. Ei schimbă perspectiva către programarea declarativă în loc de cea imperativă, ceea ce în loc de cum. Acest lucru le permite dezvoltatorilor să dezvolte aplicații de calitate fără să se îngrijoreze de codul performant de bază.
Omniprezenta
JavaScript este prezent pe:
- Front end (Browsere)
- Capătul din spate (Nod, Deno)
- Android / iOS (React Native, NativeScript etc.)
- Desktop (electron)
- Hibrid (ionic)
Ce face acest lucru posibil? Motoarele JS precum V8 sunt scrise în C / C ++ și pot fi chiar compilate pe sisteme încorporate! Pentru alte platforme, deoarece browserele sunt întotdeauna prezente (cum ar fi pe Andorid / iOS), acestea sunt livrate cu un motor JS care poate fi apoi utilizat pentru a rula orice cod JS, chiar și pentru aplicațiile native în cazul React Native.
Caracteristici și avansare de margine de sângerare
Standardele JavaScript sunt conduse de comunitatea ECMA-262 TC39 și wow sunt acești oameni repezi! ECMAScript lansează un nou standard de JavaScript în fiecare an (consultați noile caracteristici ECMAScript2020!). În calitate de dezvoltator, puteți solicita chiar adăugarea de noi funcții în limbă.
De exemplu, iată câteva caracteristici în așteptare, care s-ar putea transforma în JavaScript în viitorul apropiat:

Puteți găsi toate propunerile aici: TC39 Propuneri.
JavaScript este RAPID și SCALABIL
Desigur, nimic nu depășește cu adevărat C / C ++ / Rust, dar JavaScript este rapid – în sensul că V8 poate genera cod extrem de optimizat prin monitorizarea modului în care se execută codul dvs., întârzierea biților de execuție care nu sunt utilizați și optimizarea segmentelor de cod care se folosesc iar și iar. Mai ales în comparație cu cei mai apropiați concurenți, cum ar fi Python. Odată cu progresele în V8, devine și mai performant și mai eficient din punct de vedere al memoriei.
JavaScript (Node) este foarte scalabil (cu superseturi precum TypeScript). Funcționând pe o singură arhitectură cu fire, oamenii critică adesea Node pentru lipsa de mediu de threading, dar realitatea este că nu contează prea mult.
Modul în care scalați aplicațiile Node nu este similar cu modul în care ați scala o aplicație cu mai multe fire. Nod înseamnă literalmente „nod” – un singur nod într-un arbore al proceselor. Nodul este scalat executând mai multe instanțe ale acestuia și gestionând clusterul.
JavaScript conduce modelul de programare asincron al industriei și nu are nevoie de fire pentru a se scala. În schimb, procesele individuale ale nodului ar putea fi generate pentru a gestiona și utiliza nucleul CPU complet. Mai multe despre scalarea nodului mai târziu!
Concluzie
Îmi place JavaScript și, folosindu-l, am creat o platformă pentru dezvoltatori pentru dezvoltatori ca tine. Acolo puteți învăța nu numai JavaScript, ci și alte limbi precum C, C ++, Java, Node, Python și multe altele! Alătură-te aici gratuit și învață cu alți dezvoltatori direct din browser!
JavaScript este aici pentru a rămâne și pentru a conduce industria în acest deceniu. Ești de acord? Spune-mi pe stare de nervozitate și Instagram mânere – să ne conectăm!