# What's your favourite tools/languages that compile into JS?

**URL:** <https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870>\
**Category:** Frontend Chat/Discussions\
**Tags:** js, opinions, transpilers\
**Created:** [19 June 2020 11:20 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870 "2020-06-19T11:20:37Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.devtalk.com/user_avatar/forum.devtalk.com/astonj/32/7_2.png) [@AstonJ](https://forum.devtalk.com/u/AstonJ)\
**Post date:** [19 June 2020 11:20 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/1 "2020-06-19T11:20:37Z")

</div>

Here’s a pretty good list of them: [https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS](https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS)

What’s your favourite… and why?

---

<div class="post-metadata">

**Author:** ![DevotionGeo](https://forum.devtalk.com/user_avatar/forum.devtalk.com/devotiongeo/32/1140_2.png) [@DevotionGeo](https://forum.devtalk.com/u/DevotionGeo)\
**Post date:** [19 June 2020 13:32 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/2 "2020-06-19T13:32:53Z")

</div>

Currently Svelte.

---

<div class="post-metadata">

**Author:** ![AstonJ](https://forum.devtalk.com/user_avatar/forum.devtalk.com/astonj/32/7_2.png) [@AstonJ](https://forum.devtalk.com/u/AstonJ)\
**Post date:** [19 June 2020 13:49 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/3 "2020-06-19T13:49:48Z")

</div>

What do you like about it @DevotionGeo ?

There’s also a thread about it here: [Svelte - what do you think about it?](https://forum.devtalk.com/t/svelte-what-do-you-think-about-it/808) 😃

---

<div class="post-metadata">

**Author:** ![DevotionGeo](https://forum.devtalk.com/user_avatar/forum.devtalk.com/devotiongeo/32/1140_2.png) [@DevotionGeo](https://forum.devtalk.com/u/DevotionGeo)\
**Post date:** [19 June 2020 13:57 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/4 "2020-06-19T13:57:56Z")

</div>

It’s fast, light-weight (because of the lack of virtualDOM), and simpler.

---

<div class="post-metadata">

**Author:** ![OvermindDL1](https://forum.devtalk.com/user_avatar/forum.devtalk.com/overminddl1/32/52_2.png) [@OvermindDL1](https://forum.devtalk.com/u/OvermindDL1)\
**Post date:** [19 June 2020 15:07 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/5 "2020-06-19T15:07:23Z")

</div>

OCaml translates to javascript very well. It has two ways too, bucklescript, which converts the AST to javascript and thus makes much more idiomatic and readable javascript, or js\_of\_ocaml (jsoo), which converts the bytecode to javascript, can often be a little bit faster than bucklescript in some cases but mostly on par, however it doesn’t require the source where bucklescript does require the source, so jsoo is more ‘generically’ useful, though it does output very very low level unreadable javascript. ^.^;

Emscripten has been my main thing that’s converted to javascript to date, but nothing ‘in production’ with it, wasm is better now anyway for those kinds of things.

Purescript sounds interesting too though, but not tried it yet.

---

<div class="post-metadata">

**Author:** ![mafinar](https://forum.devtalk.com/user_avatar/forum.devtalk.com/mafinar/32/723_2.png) [@mafinar](https://forum.devtalk.com/u/mafinar)\
**Post date:** [19 June 2020 17:09 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/6 "2020-06-19T17:09:19Z")

</div>

ClojureScript. Clojure is one of my favorite languages and my first non-trivial exposure to tools that compiled to JS happened with it (other than CoffeeScript - not a fan), so maybe I’m biased. I just can reason about things with Clojure(Script) better, it has decent interop, great React wrapper, an amazing framework and shadow-cljs \<3 . YMM totally V.

---

<div class="post-metadata">

**Author:** ![dimitarvp](https://forum.devtalk.com/user_avatar/forum.devtalk.com/dimitarvp/32/5599_2.png) [@dimitarvp](https://forum.devtalk.com/u/dimitarvp)\
**Post date:** [20 June 2020 10:13 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/7 "2020-06-20T10:13:21Z")

</div>

What about ReasonML?

---

<div class="post-metadata">

**Author:** ![OvermindDL1](https://forum.devtalk.com/user_avatar/forum.devtalk.com/overminddl1/32/52_2.png) [@OvermindDL1](https://forum.devtalk.com/u/OvermindDL1)\
**Post date:** [22 June 2020 18:09 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/8 "2020-06-22T18:09:58Z")

</div>

I don’t see a point of ReasonML over OCaml. ReasonML is just a string translator that translates to OCaml, it has no features that OCaml doesn’t have, and it’s syntax is longer, more wordy, and has some annoying ambiguous cases that they had to fix by making it even worse in some areas… Plus I am not at all a fan of the syntax over OCaml… \>.\>

ReasonML can be used with a bucklescript, jsoo, or native backends though, since it is just string translation.

Great ecosystem though.

---

<div class="post-metadata">

**Author:** ![fzngagan](https://forum.devtalk.com/user_avatar/forum.devtalk.com/fzngagan/32/759_2.png) [@fzngagan](https://forum.devtalk.com/u/fzngagan)\
**Post date:** [23 June 2020 06:07 UTC](https://forum.devtalk.com/t/whats-your-favourite-tools-languages-that-compile-into-js/870/9 "2020-06-23T06:07:35Z")

</div>

`Ember.js`. Why? Coz `discourse` is built with that.
