i 2019 har vi to muligheder for at køre scripts i en Netsøgemaskine: JavaScript og samling.
men forestil dig en programmør, der kommer fra Java, Haskell eller endda LISP … hvor er det rene objektorienterede paradigme? Hvor er den funktionelle? Og hvad med den berømte Lisp-syntaks?
selvfølgelig giver JavaScript både objektorienterede og funktionelle paradigmer, men når det kommer til syntaks, har nogle udviklere bare præferencer. Statisk indtastning, mønstertilpasning, grænseflader … JavaScript passer ikke til alles behov (endnu!).
som vi sagde før, fik vi i 2019 kun to alternativer til at køre scripts på en internetsøgemaskine. Men vent … vi kan målrette JavaScript, mens vi kompilerer andre sprog!
vi vil ikke tale om historien om hvert sprog, der kompilerer til JavaScript. JS er et så vigtigt sprog, at stort set alle andre programmeringssprog kan kompilere til det.
i stedet vil vi se nogle virkelige eller livsændrende programmeringssprog, som du kan bruge lige nu i produktionen, eller som du bør holde øje med for dens fremtidige udviklinger.
så lad os begynde!
Kotlin
Kotlin er et ungt og kraftfuldt programmeringssprog, der er målrettet mod både Java Virtual Machine og JavaScript indbygget.
det største ved Kotlin er, at du har adgang til alle de store og kamptestede Java-biblioteker derude!
hvis du er en Java udvikler, bør du absolut tage et kig på det!
Scala
endnu et fantastisk JVM-sprog, født i 2003 i Geneve.
det tager de gode dele af både objektorienterede og funktionelle programmeringsparadigmer og målretter både Java bytecode og JavaScript indbygget!
ligesom Kotlin har du adgang til hvert Java-bibliotek, men du kan også udtrykke komplekse algoritmer, der tager fordelene ved et funktionelt programmeringssprog!
Clojure
Ok, det sidste JVM-sprog, vi vil tale om.
Clojure er et fantastisk Lisp programmeringssprog, der kompilerer Java bytecode.
det kan kompilere til JavaScript ved hjælp af ClojureScript!
hvis du kommer fra Common Lisp, Racket, Scheme eller et andet Lisp programmeringssprog, er det helt sikkert løsningen for dig.
TypeScript
TypeScript behøver ikke nogen form for præsentation. Det er langt det mest anvendte compile-to-JavaScript-sprog derude.
det tilføjer type signatur og andre fantastiske funktioner til JavaScript.
det kan også kompileres til samling ved hjælp af Internetmontering!
bare for at fortælle dig, hvor meget brugt er, skal du huske den vinkel.js, Vue.js (v3).js, Firebase SDK og VSCode er skrevet i TypeScript!
du bør helt sikkert tage et kig på det!
OCaml
Objective Caml (OCaml) er en bundsolid implementering af Caml programmeringssprog, der kommer fra ML-familien.
det er kendt for at være et utroligt hurtigt programmeringssprog (nogle benchmarks siger så hurtigt som C).
det bruges intensivt på Facebook i disse dage (tænk bare på strømmen, som er skrevet i OCaml), og det er berømt som stærkt og kamptestet programmeringssprog.
det kan kompileres til JavaScript ved hjælp af BuckleScript, en compiler, der oversætter OCaml-kode til JavaScript!
ReasonML
hvis OCaml er for meget for dig, her er du ReasonML!
det er bare en ny syntaks for OCaml programmeringssprog, som tager inspiration fra JavaScript.
ReasonML er udviklet af en Facebook-ingeniør, som også er den samme fyr, der opfandt React.js!
faktisk reagerer først.js blev designet til at blive skrevet i StandardML (et ML programmeringssprog), så du kan forestille dig, hvor tæt disse to projekter er!
ReasonML bruger BuckleScript under hætten til at transpilere ReasonML-kode til OCaml og derefter til JavaScript. Fremtiden for både Internet og indfødte udvikling synes at passere herfra!
F#
F# er et fantastisk programmeringssprog, der kommer fra ML-familien, som samler Microsoft.NET bytecode.
den største fordel ved F#, er, at du kan få adgang til alle. NET bibliotek, fra C# til VB! Er det ikke fantastisk?
du kan kompilere f# kode til JavaScript ved hjælp af Fable,”kompilatoren, der udsender JavaScript, du kan være stolt af”!
Elm
Elm er et populært programmeringssprog stærkt inspireret fra Haskell.
det er specielt designet til at opbygge højtydende internet apps og meget optimeret JavaScript-kode.
det lover også at undgå enhver form for runtime undtagelse takket være et fantastisk stærkt type system (stærkt inspireret fra Haskell).
vidste du det? Det er inspireret af Elm-arkitekturen, som er fantastisk til reaktive apps!
PureScript
PureScript er et stærkt maskinskrevet og rent funktionelt programmeringssprog, der er stærkt inspireret af Haskell.
i PureScript kan du genbruge ethvert eksisterende JavaScript-bibliotek, så du ikke behøver at genopfinde hjulet hver gang!
hvis du kommer fra en funktionel programmeringsoplevelse, er PureScript en fantastisk måde at opbygge rock solid og undtagelsesfri applikationer!
Dart
Dart er et Objet orienteret programmeringssprog udviklet af Google, som har til formål at være den største JavaScript alternativ til internettet og indfødte udvikling.
Google har for nylig udgivet Flutter til native app udvikling, som er skrevet i Dart.
hvis du kommer fra Java, vil du finde det behageligt at skrive i Dart!
C / C++
Ok det er faktisk utroligt: du kan konvertere din eksisterende C/C++ kode til JavaScript ved hjælp af Emscripten!
selvfølgelig vil du aldrig nå C / C++ forestillinger med JavaScript, men der er visse projekter, som ville være virkelig svært at blive genimplementeret fra nul. Tesseract.js er et fantastisk eksempel på C++ Tesseract OCR-projektet! Jeg brugte det personligt, og du vil ikke finde ud af, at kildekoden er udarbejdet fra C++!
Clio
Clio er en ren funktionel doven-evalueret programmeringssprog rettet mod decentrale og distribuerede systemer.
den samler JavaScript-kode af høj kvalitet, som kan udføres både på en bro.ser og en server (ved hjælp af Node.js).
mens Clio stadig er under aktiv udvikling, introducerer nogle gode og innovative ideer. Jeg ville helt satse på dette projekt!
LiveScript
LiveScript er et fantastisk programmeringssprog, der kompilerer til JavaScript. Det er skabt af Jeremy Ashkenas, skaberen af CoffeeScript.
LiveScript er faktisk en CoffeeScript evolution, der omfatter både de funktionelle og objektorienterede programmeringsparadigmer.
hvis du kommer fra et funktionelt sprog som eliksir eller OCaml, finder du det en fantastisk løsning til at skrive JavaScript-apps af høj kvalitet!
konklusion
i dag har vi set 13 sprog, der kompilerer til JavaScript.
det er klart, at udviklingsglæde er et vigtigt fokuspunkt for udviklere i disse dage, men det er også klart, at JavaScript er et utroligt vigtigt sprog, og samfundet arbejder konstant på at forbedre sit økosystem.
JavaScript fremtiden er lysere end nogensinde!