Im Jahr 2019 haben wir zwei Möglichkeiten, Skripte in einem Webbrowser auszuführen: JavaScript und WebAssembly.
Aber stellen Sie sich einen Programmierer vor, der aus Java, Haskell oder sogar LISP kommt … wo ist das reine objektorientierte Paradigma? Und wo ist das Funktionale? Und was ist mit der berühmten LISP-Syntax?
Natürlich bietet JavaScript sowohl objektorientierte als auch funktionale Paradigmen, aber wenn es um Syntax geht, haben einige Entwickler nur Vorlieben. Static typing, Pattern Matching, Interfaces… JavaScript passt (noch!).
Wie bereits erwähnt, haben wir 2019 nur zwei Alternativen zum Ausführen von Skripten in einem Webbrowser erhalten. Aber warte … wir können JavaScript ansprechen, während wir andere Sprachen kompilieren!
Wir werden nicht über die Geschichte jeder Sprache sprechen, die zu JavaScript kompiliert wird. JS ist eine so wichtige Sprache, dass so ziemlich jede andere Programmiersprache darauf kompilieren kann.
Stattdessen werden wir einige echte oder lebensverändernde Programmiersprachen sehen, die Sie jetzt in der Produktion verwenden können oder die Sie für ihre zukünftigen Entwicklungen im Auge behalten sollten.
Also, fangen wir an!
Kotlin
Kotlin ist eine junge und leistungsstarke Programmiersprache, die sowohl auf die Java Virtual Machine als auch auf JavaScript abzielt.
Das Beste an Kotlin ist, dass Sie Zugriff auf alle großartigen und kampferprobten Java-Bibliotheken haben!
Wenn Sie ein Java-Entwickler sind, sollten Sie unbedingt einen Blick darauf werfen!
Scala
Eine weitere großartige JVM-Sprache, die 2003 in Genf geboren wurde.
Es nutzt die guten Teile der objektorientierten und funktionalen Programmierparadigmen und zielt sowohl auf Java-Bytecode als auch auf JavaScript ab!
Wie Kotlin haben Sie Zugriff auf jede Java-Bibliothek, aber Sie können auch komplexe Algorithmen ausdrücken, die die Vorteile einer funktionalen Programmiersprache nutzen!
Clojure
Ok, die letzte JVM-Sprache, über die wir sprechen werden.
Clojure ist eine erstaunliche LISP-Programmiersprache, die Java-Bytecode kompiliert.
Es kann mit ClojureScript zu JavaScript kompiliert werden!
Wenn Sie aus Common Lisp, Racket, Scheme oder einer anderen LISP-Programmiersprache kommen, ist dies definitiv die Lösung für Sie.
TypeScript
TypeScript benötigt keine Präsentation. Es ist bei weitem die am weitesten verbreitete Compile-to-JavaScript-Sprache da draußen.
Es fügt Typensignatur und andere großartige Funktionen zu JavaScript hinzu.
Es kann auch mit WebAssemblyScript zu WebAssembly kompiliert werden!
Nur um Sie wissen zu lassen, wie weit verbreitet ist, denken Sie daran, dass Angular.js, Vue.js (v3), Rx.js, Firebase SDK und VSCode sind in TypeScript geschrieben!
Sie sollten es sich unbedingt ansehen!
OCaml
Objective Caml (OCaml) ist eine grundsolide Implementierung der Programmiersprache Caml aus der ML-Familie.
Es ist bekannt, dass es eine unglaublich schnelle Programmiersprache ist (einige Benchmarks sagen so schnell wie C).
Es wird heutzutage bei Facebook intensiv verwendet (denken Sie nur an Flow, das in OCaml geschrieben ist) und es ist berühmt als starke und kampferprobte Programmiersprache.
Es kann mit BuckleScript, einem Compiler, der OCaml-Code in JavaScript übersetzt, zu JavaScript kompiliert werden!
ReasonML
Wenn OCaml zu viel für Sie ist, hier sind Sie ReasonML!
Es ist nur eine neue Syntax für die OCaml-Programmiersprache, die von JavaScript inspiriert ist.
ReasonML wurde von einem Facebook-Ingenieur entwickelt, der auch React erfunden hat.js!
In der Tat, auf den ersten reagieren.js wurde entwickelt, um in StandardML (einer ML-Programmiersprache) geschrieben zu werden, so dass Sie sich vorstellen können, wie nah diese beiden Projekte sind!
ReasonML verwendet BuckleScript unter der Haube, um ReasonML-Code in OCaml und dann in JavaScript zu transpilieren. Die Zukunft der Web- und nativen Entwicklung scheint von hier aus zu vergehen!
F #
F # ist eine erstaunliche Programmiersprache aus der ML-Familie, die Microsoft .NET Bytecode kompiliert.
Der größte Vorteil von F # ist, dass Sie auf jede .NET-Bibliothek zugreifen können, von C # bis VB! Ist das nicht erstaunlich?
Sie können F # -Code mit Fable in JavaScript kompilieren, „dem Compiler, der JavaScript ausgibt, auf das Sie stolz sein können“!
Elm
Elm ist eine beliebte Programmiersprache, die stark von Haskell inspiriert ist.
Es wurde speziell für die Erstellung von Hochleistungs-Web-Apps und hochoptimiertem JavaScript-Code entwickelt.
Es verspricht auch, jede Art von Laufzeitausnahme zu vermeiden, dank eines fantastischen starken Typsystems (stark inspiriert von Haskell).
Wussten Sie schon? Redux wurde von der Elm-Architektur inspiriert, die sich hervorragend für reaktive Web-Apps eignet!
PureScript
PureScript ist eine stark typisierte und rein funktionale Programmiersprache, die stark von Haskell inspiriert ist.
In PureScript können Sie jede vorhandene JavaScript-Bibliothek wiederverwenden, sodass Sie das Rad nicht jedes Mal neu erfinden müssen!
Wenn Sie aus einer funktionalen Programmiererfahrung kommen, ist PureScript eine großartige Möglichkeit, solide und ausnahmefreie Webanwendungen zu erstellen!
Dart
Dart ist eine von Google entwickelte objektorientierte Programmiersprache, die darauf abzielt, die beste JavaScript-Alternative für die Web- und native Entwicklung zu sein.
Google hat kürzlich Flutter für die native App-Entwicklung veröffentlicht, die in Dart geschrieben ist.
Wenn Sie aus Java kommen, werden Sie es angenehm finden, in Dart zu schreiben!
C / C ++
Ok, das ist eigentlich unglaublich: Sie können Ihren vorhandenen C / C ++ – Code mit Emscripten in JavaScript konvertieren!
Natürlich werden Sie mit JavaScript niemals C / C ++ – Performances erreichen, aber es gibt bestimmte Projekte, die wirklich schwer von Null aus neu zu implementieren wären. Tesserakt.js ist ein großartiges Beispiel für das C ++ Tesseract OCR-Projekt! Ich persönlich habe es benutzt und Sie werden nicht herausfinden, dass der Quellcode aus C ++ kompiliert wurde!
Clio
Clio ist eine rein funktionale, lazy-evaluierte Programmiersprache für dezentrale und verteilte Systeme.
Es kompiliert hochwertigen JavaScript-Code, der sowohl auf einem Browser als auch auf einem Server (mit Node.js).
Während Clio ist noch in der aktiven Entwicklung, stellt einige große und innovative Ideen. Ich würde total auf dieses Projekt wetten!
LiveScript
LiveScript ist eine erstaunliche Programmiersprache, die zu JavaScript kompiliert. Es wurde von Jeremy Ashkenas, dem Schöpfer von CoffeeScript, erstellt.
LiveScript ist eigentlich eine CoffeeScript-Entwicklung, die sowohl das funktionale als auch das objektorientierte Programmierparadigma umfasst.
Wenn Sie aus einer funktionalen Sprache wie Elixir oder OCaml kommen, werden Sie eine großartige Lösung für das Schreiben hochwertiger JavaScript-Apps finden!
Fazit
Heute haben wir 13 Sprachen gesehen, die zu JavaScript kompiliert werden.
Es ist klar, dass die Entwicklungsumgebung heutzutage ein wichtiger Schwerpunkt für Entwickler ist, aber es ist auch klar, dass JavaScript eine unglaublich wichtige Sprache ist und die Community ständig daran arbeitet, ihr Ökosystem zu verbessern.
Die Zukunft ist heller denn je!