Alternative JavaScript!

Nel 2019, abbiamo due opzioni per l’esecuzione di script in un browser Web: JavaScript e WebAssembly.
Ma immagina un programmatore proveniente da Java, Haskell o anche LISP where dov’è il paradigma orientato agli oggetti puro? E dov’è quello Funzionale? E che dire della famosa sintassi LISP?
Naturalmente, JavaScript fornisce sia paradigmi orientati agli oggetti che funzionali, ma quando si tratta di sintassi, alcuni sviluppatori hanno solo preferenze. Tipizzazione statica, pattern matching, interfacce JavaScript JavaScript non si adatta alle esigenze di tutti (ancora!).

Come abbiamo detto prima, nel 2019 abbiamo ottenuto solo due alternative per l’esecuzione di script su un browser Web. Ma aspetta can possiamo indirizzare JavaScript durante la compilazione di altre lingue!

Non parleremo della storia di ogni lingua che compila in JavaScript. JS è un linguaggio così importante che ogni altro linguaggio di programmazione può compilarlo.
Invece, vedremo alcuni linguaggi di programmazione reali o che cambiano la vita che puoi usare in questo momento in produzione, o che dovresti tenere d’occhio per le sue future evoluzioni.

Quindi, cominciamo!

Kotlin

Kotlin è un linguaggio di programmazione giovane e potente che si rivolge sia alla macchina virtuale Java che a JavaScript in modo nativo.
La cosa più bella di Kotlin, è che avrai accesso a tutte le grandi e testate librerie Java là fuori!
Se sei uno sviluppatore Java, dovresti assolutamente dare un’occhiata!

Scala

Ancora un altro fantastico JVM lingua, nata nel 2003 a Ginevra.
Prende le parti buone di entrambi i paradigmi di programmazione orientati agli oggetti e funzionali e si rivolge sia a Java bytecode che a JavaScript in modo nativo!
Come Kotlin, avrai accesso a tutte le librerie Java, ma sarai anche in grado di esprimere algoritmi complessi sfruttando i vantaggi di un linguaggio di programmazione funzionale!

Clojure

Ok, l’ultima versione di JVM lingua parleremo.
Clojure è un fantastico linguaggio di programmazione LISP che compila il bytecode Java.
Può compilare in JavaScript usando ClojureScript!
Se vieni da Common Lisp, Racket, Scheme o qualsiasi altro linguaggio di programmazione LISP, questa è sicuramente la soluzione per te.

Dattiloscritto

Macchina non necessita di alcun tipo di presentazione. È di gran lunga il linguaggio compile-to-JavaScript più utilizzato là fuori.
Aggiunge la firma del tipo e altre fantastiche funzionalità a JavaScript.
Può anche essere compilato su WebAssembly usando WebAssemblyScript!
Solo per farti sapere quanto è ampiamente usato, tieni presente che Angular.js, Vue.js (v3), Rx.js, Firebase SDK e VSCode sono scritti in TypeScript!
Si dovrebbe assolutamente dare un’occhiata a questo!

OCaml

Objective Caml (OCaml) è una roccia solida attuazione del Caml linguaggio di programmazione, proveniente dalla famiglia ML.
È noto per essere un incredibile linguaggio di programmazione veloce (alcuni benchmark dicono veloce come C).
È intensamente utilizzato su Facebook in questi giorni (basti pensare a Flow, che è scritto in OCaml) ed è famoso come linguaggio di programmazione forte e testato in battaglia.
Può essere compilato in JavaScript utilizzando BuckleScript, un compilatore che traduce il codice OCaml in JavaScript!

ReasonML

Se OCaml è troppo per voi, qui sono ReasonML!
È solo una nuova sintassi per il linguaggio di programmazione OCaml, che prende ispirazione da JavaScript.
ReasonML è stato sviluppato da un ingegnere di Facebook che è anche lo stesso ragazzo che ha inventato React.js!
Infatti, in un primo momento Reagire.js è stato progettato per essere scritto in StandardML (un linguaggio di programmazione ML), quindi puoi immaginare quanto siano vicini questi due progetti!
ReasonML utilizza BuckleScript sotto il cofano per traspilare il codice ReasonML in OCaml, quindi in JavaScript. Il futuro sia del web che dello sviluppo nativo sembra passare da qui!

F#

F# è un fantastico linguaggio di programmazione provenienti da ML famiglia, che compila Microsoft .NET bytecode.
Il più grande vantaggio di F#, è che si può avere accesso a tutte le librerie. NET, da C# a VB! Non e ‘ fantastico?
Puoi compilare il codice F # in JavaScript usando Fable, “il compilatore che emette JavaScript di cui puoi essere orgoglioso”!

Olmo

Elm è un popolare linguaggio di programmazione fortemente ispirati da Haskell.
È stato specificamente progettato per la creazione di applicazioni web ad alte prestazioni e codice JavaScript altamente ottimizzato.
Promette anche di evitare qualsiasi tipo di eccezione di runtime grazie a un fantastico sistema di tipo forte (altamente ispirato da Haskell).
Lo sapevate? Redux è stato ispirato dall’architettura Elm, che è estremamente grande per le applicazioni web reattive!

PureScript

PureScript è un forte digitato e puro linguaggio di programmazione funzionale altamente ispirato da Haskell.
In PureScript, puoi riutilizzare qualsiasi libreria JavaScript esistente, in modo da non dover reinventare la ruota ogni volta!
Se vieni da un’esperienza di programmazione funzionale, PureScript è un modo fantastico per costruire applicazioni web solide e senza eccezioni!

Dart

Dart è un Objet Oriented linguaggio di programmazione sviluppato da Google, che mira ad essere il più grande JavaScript alternativa per il web e lo sviluppo nativo.
Google ha recentemente rilasciato Flutter per lo sviluppo di app native, che è scritto in Dart.
Se vieni da Java, troverai comodo scrivere in Dart!

C/C++

Ok che in realtà è incredibile: è possibile convertire il vostro C/C++ esistente codice in JavaScript utilizzando Emscripten!
Naturalmente, non raggiungerai mai le prestazioni C/C++ con JavaScript, ma ci sono alcuni progetti che sarebbero davvero difficili da reimplementare da zero. Tesseract.js è un fantastico esempio del progetto C++ Tesseract OCR! L’ho usato personalmente e non capirai che il codice sorgente è stato compilato da C++!

Clio

Clio è un puro funzionale pigro valutato il linguaggio di programmazione di targeting decentrata e di sistemi distribuiti.
Compila codice JavaScript di alta qualità che può essere eseguito sia su un browser che su un server (usando il nodo.js).
Mentre Clio è ancora in fase di sviluppo attivo, introduce alcune idee grandi e innovative. Scommetterei totalmente su questo progetto!

LiveScript

LiveScript è un fantastico linguaggio di programmazione compilato in JavaScript. È stato creato da Jeremy Ashkenas, il creatore di CoffeeScript.
LiveScript è in realtà un’evoluzione CoffeeScript che abbraccia sia il paradigma di programmazione Funzionale che quello orientato agli oggetti.
Se si proviene da un linguaggio funzionale come Elixir o OCaml, troverete una soluzione impressionante per la scrittura di applicazioni JavaScript di alta qualità!

Conclusione

Oggi abbiamo visto 13 lingue che compila in JavaScript.
È chiaro che la felicità dello sviluppo è un punto di riferimento importante per gli sviluppatori in questi giorni, ma è anche chiaro che JavaScript è un linguaggio incredibilmente importante e la comunità sta costantemente lavorando per migliorare il suo ecosistema.
JavaScript il futuro è più luminoso che mai!

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.