vuonna 2019 meillä on kaksi vaihtoehtoa skriptien ajamiseen verkkoselaimessa: JavaScript ja WebAssembly.
mutta kuvitelkaa ohjelmoija, joka tulee Javasta, Haskellista tai jopa Lispistä … missä on puhdas Olioorientoitunut paradigma? Ja missä on toimiva? Entä kuuluisa LISP-syntaksi?
JavaScript tarjoaa tietysti sekä Oliokeskeisiä että toiminnallisia paradigmoja, mutta syntaksin suhteen joillakin kehittäjillä on vain preferenssejä. Staattinen kirjoittaminen, kuvio matching, rajapinnat … JavaScript ei sovi kaikkien tarpeisiin (vielä!).
kuten aiemmin kerroimme, vuonna 2019 saimme vain kaksi vaihtoehtoa skriptien ajamiseen verkkoselaimella. Mutta odota … voimme kohdistaa JavaScript ja koota muita kieliä!
ei puhuta jokaisen JavaScriptiksi kääntyvän kielen historiasta. JS on niin tärkeä kieli, että melko kaikki muut ohjelmointikieli voi kääntää sen.
sen sijaan, tulemme näkemään joitakin todellisia tai elämää muuttavia ohjelmointikieliä, joita voit käyttää juuri nyt tuotannossa, tai joita sinun pitäisi pitää silmällä sen tulevia kehitysvaiheita varten.
niin, aloitetaan!
Kotlin
Kotlin on nuori ja tehokas ohjelmointikieli, joka kohdistuu sekä Java-virtuaalikoneeseen että Javascriptiin natiivisti.
hienointa Kotlinissa on, että pääset käsiksi kaikkiin siellä oleviin upeisiin ja battle testattuihin Java-kirjastoihin!
jos olet Java-kehittäjä, kannattaa ehdottomasti katsoa sitä!
Scala
Yet another awesome JVM language, syntynyt vuonna 2003 Genevessä.
se vie sekä Oliokeskeisten että funktionaalisten ohjelmointiparadigmojen hyvät puolet ja tähtää sekä Java bytecode että JavaScript natiivisti!
Kotlinin tavoin sinulla on pääsy jokaiseen Java-kirjastoon, mutta pystyt myös ilmaisemaan monimutkaisia algoritmeja ottaen funktionaalisen ohjelmointikielen edut!
Clojure
Ok, viimeinen JVM-kieli, josta puhutaan.
Clojure on hämmästyttävä LISP-ohjelmointikieli, joka kääntää Java-bytekoodia.
se voi kääntää JavaScriptille clojurescript!
jos tulet Common Lisp -, Racket -, Scheme-tai millä tahansa muulla LISP-ohjelmointikielellä, se on ehdottomasti ratkaisu sinulle.
konekirjoitus
konekirjoitus ei tarvitse minkäänlaista esitystapaa. Se on ylivoimaisesti eniten käytetty kääntää-JavaScript kieli siellä.
se lisää type signature-ja muita hienoja ominaisuuksia Javascriptiin.
se voidaan kääntää myös Webassemblyyn WebAssemblyScript!
jotta tietäisit, kuinka laajalti sitä käytetään, pidä mielessä, että Kulmikas.js, Vu.js (v3), Rx.JS, Firebase SDK ja VSCode on kirjoitettu Konekirjoituksella!
kannattaa ehdottomasti katsoa!
OCaml
Objective Caml (OCaml) on CAML-ohjelmointikielen kivenkova toteutus, joka tulee ML-perheestä.
sen tiedetään olevan uskomattoman nopea ohjelmointikieli (joidenkin vertailuarvojen mukaan niinkin nopea kuin C).
sitä käytetään nykyään intensiivisesti Facebookilla (just think about Flow, joka on kirjoitettu OCaml: llä) ja se on kuuluisa vahvana ja taistelutestattuna ohjelmointikielenä.
se voidaan kääntää JavaScriptille käyttäen BuckleScript-kääntäjää, joka kääntää OCaml-koodin JavaScriptiksi!
ReasonML
jos OCaml on sinulle liikaa, tässä olet ReasonML!
se on vain uusi syntaksi OCaml-ohjelmointikielelle, joka ottaa vaikutteita JavaScriptistä.
ReasonML: n on kehittänyt Facebook-insinööri, joka on myös sama kaveri, joka keksi Reactin.js!
itse asiassa aluksi reagoimaan.js suunniteltiin kirjoitettavaksi StandardML: llä (ML-ohjelmointikielellä), joten voit kuvitella, kuinka läheisiä nämä kaksi projektia ovat!
ReasonML käyttää bucklescript alla huppu siirtää ReasonML koodi OCaml, sitten JavaScript. Tulevaisuus sekä web ja natiivi kehitys näyttää kulkevan täältä!
F#
F# on hämmästyttävä ohjelmointikieli, joka tulee ML-perheestä, joka kokoaa Microsoft.NET bytecode.
F#: n suurin etu on, että sinulla on pääsy jokaiseen. Net-kirjastoon, C#: stä VB: hen! Eikö olekin ihmeellistä?
voit kääntää F# – koodin JavaScriptille käyttäen satua, ”kääntäjä joka lähettää JavaScriptin josta voit olla ylpeä”!
Elm
Elm on suosittu ohjelmointikieli, joka on saanut paljon vaikutteita Haskellilta.
se on suunniteltu erityisesti suorituskykyisten verkkosovellusten ja erittäin optimoidun JavaScript-koodin rakentamiseen.
se lupaa myös välttää kaikenlaisen runtime-poikkeuksen mahtavan vahvan tyyppisysteemin ansiosta (joka on saanut paljon vaikutteita Haskellilta).
Tiesitkö? Redux on saanut inspiraationsa Elm-arkkitehtuurista, joka sopii erinomaisesti reaktiivisiin verkkosovelluksiin!
PureScript
PureScript on vahva tyypitetty ja puhdas funktionaalinen ohjelmointikieli, joka on saanut paljon vaikutteita Haskellilta.
Purescriptissä voit käyttää uudelleen minkä tahansa olemassa olevan JavaScript-kirjaston, joten pyörää ei tarvitse keksiä joka kerta uudelleen!
jos tulet toiminnallisesta ohjelmointikokemuksesta, PureScript on mahtava tapa rakentaa rock solid ja exception-free web applications!
Dart
Dart on Googlen kehittämä Objet-suuntautunut ohjelmointikieli, joka pyrkii olemaan suurin JavaScript-vaihtoehto web-ja natiivikehitykselle.
Google on hiljattain julkaissut flutterin natiivisovellusten kehittämiseen, joka on kirjoitettu Dart-kielellä.
jos olet kotoisin Javalta, sinun on mukava kirjoittaa Tikka!
C / C++
Ok se on itse asiassa uskomatonta: voit muuntaa olemassa olevan C/C++ – koodin JavaScriptiksi käyttämällä Emscripteniä!
Javascriptillä ei tietenkään koskaan saavuteta C / C++ – esityksiä, mutta on tiettyjä projekteja, joita olisi todella vaikea reimplementoida nollasta. Tesserakti.js on mahtava esimerkki C++ Tesseract OCR-projektista! Olen itse käyttänyt sitä ja et ymmärrä, että lähdekoodi on käännetty C++!
Clio
Clio on puhdas funktionaalinen laiskasti arvioitu ohjelmointikieli, joka kohdistuu hajautettuihin ja hajautettuihin järjestelmiin.
se kokoaa korkealaatuista JavaScript-koodia, joka voidaan suorittaa sekä selaimella että palvelimella (käyttäen solmua.js).
kun Clio on vielä aktiivisen kehityksen alla, se esittelee hienoja ja innovatiivisia ideoita. Löisin vetoa Tämän projektin puolesta!
LiveScript
LiveScript on hämmästyttävä ohjelmointikieli, joka kokoaa JavaScriptin. Sen on luonut Coffeescriptin luoja Jeremy Ashkenas.
LiveScript on itse asiassa CoffeeScript-evoluutio, joka käsittää sekä toiminnalliset että Oliokeskeiset ohjelmointiparadigmat.
jos tulet funktionaalisesta kielestä, kuten Elixir tai OCaml, löydät sen mahtavan ratkaisun laadukkaiden JavaScript-sovellusten kirjoittamiseen!
johtopäätös
tänään on nähty 13 JavaScriptille kääntyvää kieltä.
on selvää, että kehitysonni on tärkeä painopiste kehittäjille nykyään, mutta on myös selvää, että JavaScript on uskomattoman tärkeä kieli, ja yhteisö pyrkii jatkuvasti parantamaan ekosysteemiään.
JavaScript tulevaisuus on kirkkaampi kuin koskaan!