I looked into CoffeeScript 2. It smooths over JS syntax (like Elixir does for Erlang) but doesn’t quite take the same “build upon” design of Elixir. In other words, it disallows certain JS syntax, meaning if I put JS in a
.coffee file, I don’t get the guarantee that the code will compile (as I do in Elixir).
Additionally, the compilers’ errors are not at Elixir’s level either.
I like JSX because ultimately programming languages amount to DSLs, which then can be extended. ElixirScript, to me, looks too much like backend code and is harder to read. When I see JSX, it makes clear to me that this code will appear on the page.
By removing this conceptual friction, I think it will speed up frontend development. (I am thinking of
react-native-web, which is finally delivering on the promise of “Write once, use anywhere.”)