Hvorfor JavaScript er fremtidens programmeringssprog

JavaScript var det første programmeringssprog, jeg valgte. Nå, jeg startede faktisk med HTML og CSS. Ligesom mange andre webudviklere var det ikke en god idé at gå med JavaScript. Dette er simpelthen fordi det passer så godt sammen med HTML og CSS og faktisk også forbedrer dine HTML / CSS-færdigheder. Jeg har udviklet applikationer og spil på forskellige andre programmeringssprog, herunder Java, Swift, C ++, Dart. Men den fleksibilitet, som JavaScript giver, er umatchelig - selvom det kan betragtes som dårligt for begyndere, da det giver flere muligheder end krævet for at udføre en simpel opgave.

I dag er JavaScript et af de mest magtfulde sprog på planeten på grund af dets ydeevne og allestedsnærværende.

Personligt føler jeg, at JavaScript har potentialet til at udnytte så mange populære industrier som Machine Learning og Data Analysis, hvor Python stadig styrer spillet. Det sker endda nu med værktøjer som Tensorflow.js!

Dette var dog bestemt ikke tilfældet for JavaScript før. Tidligere var det et svagt, ikke-performant sprog og blev forkert. JavaScript var til "tabere".

Men ikke længere. Lad os se, hvordan JavaScript drejede bordene i de sidste 10 år, hvorfor det er blevet stærkere end nogensinde, og hvorfor det er kommet for at blive.

V8: Dyret, der driver JavaScript

V8 er faktisk en JavaScript-motor. Hvad er en JavaScript-motor, kan du spørge? En JavaScript-motor er en tolk, der udfører JavaScript-kode. En JavaScript-motor kan implementeres som en standardtolk eller just-in-time (JIT) -kompilator, der kompilerer JavaScript til bytekode i en eller anden form.

V8 er Googles open source højtydende JavaScript og WebAssembly JIT-motor, skrevet i C ++. Det bruges blandt andet i Chrome og i Node.js. V8 kan køre enkeltstående eller kan integreres i ethvert C ++ - program.

Dette er det stykke software, der meget optimerer din JS-kode og konverterer den til maskinkode, som CPU'en kan udføre. Nogle af de opgaver, V8-håndtagene er:

  1. Dagrenovation
  2. Kompilering til maskinkode
  3. Integreret caching
  4. Markørkomprimering
  5. og meget meget mere optimering

Som en kendsgerning er markørkompression en meget ny teknik i V8 til at øge hukommelsesoptimering uden at have nogen effekt på ydeevnen. Hvis du er en nørd, kan du læse mere om, hvordan den implementeres på den officielle V8-blog.

Takeaway fra dette er, at du kan skrive JavaScript og sove tæt om natten, fordi din JS-kode er i meget gode hænder.

Modent økosystem og samfund

JavaScript har et af de mest modne - hvis ikke de mest modne - økosystemer, som et programmeringssprog nogensinde kunne have. Samfundet for JavaScript er stort, og adgangsbarrieren er ekstremt lav.

Du kan fyre en browser op (findes på 100% af personlige computere), åbne konsollen, og du finder en JS-motor, der venter på, at du kører kode! Dette var aldrig tilfældet med andre programmeringssprog med så kompleksitet.

Som om det store samfund ikke var nok, har vi systemerne npmog yarnpakkerne. Du navngiver det, og der er en pakke til det i npmregistreringsdatabasen - alt fra oprettelse af tilfældige strenge til håndtering af streams og buffere i JavaScript. Der er et meget berømt ordsprog blandt JavaScript-udviklere:

Hvad der kan gøres i JavaScript, vil i sidste ende ske i JavaScript

Det er sjovt, men lowkey, jeg tror det.

Hvis du går ind som nybegynder, er der meget lidt chance for, at du støder på et problem, som ingen har stødt på før. Dette skyldes, at alle mulige fejl til enkle JavaScript-problemer sandsynligvis allerede er blevet spurgt om og arkiveret på websteder som Stack Overflow.

Rammer og biblioteker som React, Angular og Vue baner vejen for, hvordan fremtidige applikationer skal bygges. De skifter perspektivet mod erklærende i stedet for bydende programmering, hvad i stedet for hvordan. Dette lader udviklere udvikle kvalitetsapplikationer uden at bekymre sig om underliggende højtydende kode.

Allestedsnærværende

JavaScript er til stede på:

  1. Frontend (browsere)
  2. Bagside (Node, Deno)
  3. Android / iOS (React Native, NativeScript osv.)
  4. Desktop (elektron)
  5. Hybrid (ionisk)

Hvad gør dette muligt? JS-motorer som V8 er skrevet i C / C ++ og kan endda kompileres på indlejrede systemer! For andre platforme, fordi browsere altid er til stede (som på Andorid / iOS), leveres de med en JS-motor, som derefter kan bruges til at køre en hvilken som helst JS-kode, selv for native apps i tilfælde af React Native.

Blødende egenskaber og fremskridt

JavaScript-standarder ledes af ECMA-262 TC39-samfundet, og wow er disse mennesker hurtige! ECMAScript frigiver en ny JavaScript-standard hvert eneste år (se de nye ECMAScript2020-funktioner!). Du som udvikler kan endda anmode om at tilføje nye funktioner til sproget.

For eksempel er her nogle afventende blødende funktioner, der kan gøre det til JavaScript i den nærmeste fremtid:

Du kan finde alle forslagene her: TC39-forslag.

JavaScript er Hurtigt og skalerbart

Naturligvis slår intet virkelig C / C ++ / Rust, men JavaScript er en hurtig - i den forstand at V8 kan generere meget optimeret kode ved at overvåge, hvordan din kode udføres, forsinke de udførelsesbit, der ikke bruges, og optimere kodesegmenterne som bruges igen og igen. Især sammenlignet med sine nærmeste konkurrenter som Python. Med fremskridtene i V8 bliver den endnu mere effektiv og hukommelseseffektiv.

JavaScript (Node) er meget skalerbart (med supersæt som TypeScript). Kører på en enkelt gevindarkitektur, kritiserer folk ofte Node for sin mangel på trådmiljø, men virkeligheden er, at det ikke betyder noget.

Den måde, du skalerer applikationer på, svarer ikke til, hvordan du skalerer en applikation med flere tråde. Knude betyder bogstaveligt "knude" - en enkelt knude i et træ af processer. Node skaleres ved at køre flere forekomster af den og administrere klyngen.

JavaScript fører den asynkrone hændelsesdrevne programmeringsmodel i branchen og har ikke brug for tråde til at skalere. I stedet for kunne individuelle node-processer skabes for at håndtere og udnytte den komplette CPU-kerne. Mere om skalering af Node senere!

Konklusion

Jeg elsker JavaScript, og ved hjælp af det har jeg oprettet en udviklerplatform til udviklere som dig. Der kan du ikke kun lære JavaScript, men også forskellige andre sprog som C, C ++, Java, Node, Python og meget mere! Deltag her gratis og lær med andre udviklere lige ud af din browser!

JavaScript er kommet for at blive og regere i branchen i dette årti. Er du enig? Fortæl mig på mine twitter- og Instagram-håndtag - lad os oprette forbindelse!