As well as the gazillion languages that compile to and interoperate well with C, such as Nim and several Scheme dialects (Chez and Chicken, probably others I'm forgetting). Oh and Haxe, which apparently can compile to like 10 different languages and I don't understand why it isn't more popular.
I like all of these languages because they don't require the user to switch to a different library ecosystem in order to use a programming language that they find more comfortable/enjoyable/powerful/expressive. I consider this extremely important because of how complicated some low-level protocols and systems can be, and reimplementing everything again for every new language is a waste of effort in my opinion.
Also, the proliferation of things that specifically compile to JS enforces a only-half-joking saying I heard a long time ago: JavaScript is a better compiler target than programming language. I think I've heard the same said about C as well.
* Clojure (JVM): https://clojure.org/
* ClojureScript (JavaScript): https://clojurescript.org/
* Fennel (Lua): https://fennel-lang.org/
* Hy (Python): https://docs.hylang.org/
* Lisp-Flavored Erlang (BEAM): https://lfe.io/
And there's a similar growing trend of "strongly-typed functional language that compiles to X":
* Elm (ML inspired -> JavaScript): https://elm-lang.org/
* Elixir (Its own thing -> BEAM): https://elixir-lang.org/
* Fable (F# inspired -> JavaScript): https://fable.io/
* PureScript (Haskell inspired -> JavaScript): https://www.purescript.org/
* ReasonML (ML inspired -> JavaScript): https://reasonml.github.io/
* Teal (Lua with strict type annotations -> Lua): https://github.com/teal-language/tl
As well as the gazillion languages that compile to and interoperate well with C, such as Nim and several Scheme dialects (Chez and Chicken, probably others I'm forgetting). Oh and Haxe, which apparently can compile to like 10 different languages and I don't understand why it isn't more popular.
I like all of these languages because they don't require the user to switch to a different library ecosystem in order to use a programming language that they find more comfortable/enjoyable/powerful/expressive. I consider this extremely important because of how complicated some low-level protocols and systems can be, and reimplementing everything again for every new language is a waste of effort in my opinion.
Also, the proliferation of things that specifically compile to JS enforces a only-half-joking saying I heard a long time ago: JavaScript is a better compiler target than programming language. I think I've heard the same said about C as well.