Alternatives JavaScript !

En 2019, nous avons deux options pour exécuter des scripts dans un navigateur Web: JavaScript et WebAssembly.
Mais imaginez un programmeur venant de Java, Haskell ou même LISP where où est le paradigme orienté Objet pur ? Et où est le fonctionnel? Et qu’en est-il de la fameuse syntaxe LISP ?
Bien sûr, JavaScript fournit à la fois des paradigmes Orientés Objet et fonctionnels, mais en ce qui concerne la syntaxe, certains développeurs ont juste des préférences. Typage statique, pattern matching, interfaces JavaScript JavaScript ne correspond pas (encore !).

Comme nous l’avons déjà dit, en 2019, nous n’avons eu que deux alternatives pour exécuter des scripts sur un navigateur Web. Mais attendez… nous pouvons cibler JavaScript tout en compilant d’autres langages !

Nous ne parlerons pas de l’histoire de chaque langage qui se compile en JavaScript. JS est un langage si important que tous les autres langages de programmation peuvent le compiler.
Au lieu de cela, nous allons voir des langages de programmation réels ou qui changent la vie que vous pouvez utiliser dès maintenant en production, ou que vous devriez surveiller pour ses évolutions futures.

Alors, commençons!

Kotlin

Kotlin est un langage de programmation jeune et puissant qui cible à la fois la machine virtuelle Java et JavaScript en mode natif.
La meilleure chose à propos de Kotlin, c’est que vous aurez accès à toutes les grandes bibliothèques Java testées au combat !
Si vous êtes un développeur Java, vous devriez absolument y jeter un œil!

Scala

Encore un autre langage JVM génial, né en 2003 à Genève.
Il prend les bonnes parties des paradigmes de programmation orientée Objet et fonctionnelle et cible à la fois le bytecode Java et JavaScript en mode natif!
Comme Kotlin, vous aurez accès à toutes les bibliothèques Java, mais vous pourrez également exprimer des algorithmes complexes en profitant des avantages d’un langage de programmation fonctionnel !

Clojure

Ok, le dernier langage JVM dont nous parlerons.
Clojure est un langage de programmation LISP étonnant qui compile le bytecode Java.
Il peut compiler en JavaScript en utilisant ClojureScript!
Si vous venez de Common Lisp, Racket, Scheme ou de tout autre langage de programmation LISP, c’est certainement la solution pour vous.

TypeScript

TypeScript n’a besoin d’aucun type de présentation. C’est de loin le langage de compilation en JavaScript le plus utilisé sur le marché.
Il ajoute une signature de type et d’autres fonctionnalités intéressantes à JavaScript.
Il peut également être compilé en WebAssembly en utilisant WebAssemblyScript!
Juste pour vous faire savoir à quel point il est largement utilisé, gardez à l’esprit qu’Angular.js, Vue.js (v3), Rx.js, Firebase SDK et VSCode sont écrits en TypeScript !
Vous devriez absolument y jeter un œil!

OCaml

Objective Caml (OCaml) est une implémentation solide du langage de programmation Caml, issu de la famille ML.
Il est connu pour être un langage de programmation incroyablement rapide (certains benchmarks disent aussi vite que C).
Il est intensivement utilisé sur Facebook ces jours-ci (pensez simplement à Flow, qui est écrit en OCaml) et il est célèbre comme langage de programmation puissant et testé au combat.
Il peut être compilé en JavaScript en utilisant BuckleScript, un compilateur qui traduit le code OCaml en JavaScript!

ReasonML

Si OCaml est trop pour vous, vous voilà ReasonML!
C’est juste une nouvelle syntaxe pour le langage de programmation OCaml, qui s’inspire de JavaScript.
ReasonML a été développé par un ingénieur de Facebook qui est également le même qui a inventé React.js!
En fait, réagissez d’abord.js a été conçu pour être écrit en StandardML (un langage de programmation ML), vous pouvez donc imaginer à quel point ces deux projets sont proches!
ReasonML utilise BuckleScript sous le capot pour transpiler le code ReasonML en OCaml, puis en JavaScript. L’avenir du développement web et natif semble passer d’ici !

F #

F # est un langage de programmation étonnant issu de la famille ML, qui compile le bytecode Microsoft .NET.
Le plus grand avantage de F#, c’est que vous pouvez avoir accès à toutes les bibliothèques .NET, du C# au VB ! N’est-ce pas incroyable?
Vous pouvez compiler du code F# en JavaScript en utilisant Fable, « le compilateur qui émet du JavaScript dont vous pouvez être fier »!

Elm

Elm est un langage de programmation populaire très inspiré de Haskell.
Il a été spécialement conçu pour créer des applications Web hautes performances et du code JavaScript hautement optimisé.
Il promet également d’éviter tout type d’exception d’exécution grâce à un système de type puissant impressionnant (fortement inspiré de Haskell).
Le saviez-vous ? Redux s’est inspiré de l’architecture Elm, qui est extrêmement idéale pour les applications web réactives!

PureScript

PureScript est un langage de programmation fonctionnel puissant et pur fortement inspiré de Haskell.
Dans PureScript, vous pouvez réutiliser n’importe quelle bibliothèque JavaScript existante, vous n’avez donc pas à réinventer la roue à chaque fois !
Si vous venez d’une expérience de programmation fonctionnelle, PureScript est un moyen génial de créer des applications Web solides et sans exception !

Dart

Dart est un langage de programmation orienté Objet développé par Google qui vise à être la plus grande alternative JavaScript pour le développement web et natif.
Google a récemment publié Flutter pour le développement d’applications natives, qui est écrit en Dart.
Si vous venez de Java, vous trouverez qu’il est confortable d’écrire en fléchettes!

C / C++

Ok c’est vraiment incroyable: vous pouvez convertir votre code C / C ++ existant en JavaScript en utilisant Emscripten!
Bien sûr, vous n’atteindrez jamais les performances C / C++ avec JavaScript, mais il y a certains projets qui seraient vraiment difficiles à réimplémenter à partir de zéro. Tesseract.js est un exemple impressionnant du projet OCR C++ Tesseract ! Je l’ai personnellement utilisé et vous ne comprendrez pas que le code source a été compilé à partir de C ++!

Clio

Clio est un langage de programmation purement fonctionnel à évaluation paresseuse ciblant les systèmes décentralisés et distribués.
Il compile du code JavaScript de haute qualité qui peut être exécuté à la fois sur un navigateur et un serveur (en utilisant Node.js).
Alors que Clio est encore en développement actif, introduit des idées géniales et innovantes. Je parierais totalement sur ce projet !

LiveScript

LiveScript est un langage de programmation incroyable qui se compile en JavaScript. Il a été créé par Jeremy Ashkenas, le créateur de CoffeeScript.
LiveScript est en fait une évolution CoffeeScript qui embrasse à la fois les paradigmes de programmation Fonctionnelle et Orientée Objet.
Si vous venez d’un langage fonctionnel comme Elixir ou OCaml, vous y trouverez une solution géniale pour écrire des applications JavaScript de haute qualité !

Conclusion

Aujourd’hui, nous avons vu 13 langages qui se compilent en JavaScript.
Il est clair que le bonheur du développement est un point d’attention majeur pour les développeurs de nos jours, mais il est également clair que JavaScript est un langage extrêmement important et que la communauté travaille constamment à améliorer son écosystème.
L’avenir de JavaScript est plus brillant que jamais !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.