I expect an increasingly larger C/C++ codebase to be ported with emscripten and asm.js with decent enough performance (especially dev tools). Currently C++ code compiled with emscripten runs in Firefox only 1.5x slower than natively compiled code [1]. Notable ports can be found at emscripten wiki page [2].
[1] https://hacks.mozilla.org/2013/12/gap-between-asm-js-and-nat...
I was going to make snarky comment about writing JavaScript in JavaScript until I saw the language extensions section, very useful!
Can’t believe how long this list is. Would be great to have some kind of maturity rating system for each item.
This seems to be a "gave up on website, replaced with GitHub" version of altjs.org (which now rediects here). (This website used to have Cycript listed, but now doesn't.)
How is async.js a language extension? If it's a "language extension", then isn't it arguable that every library is a "language extension"?
At the very least I'm unsatisfied with the rationale provided in the page. Other items generally explain what makes them worthy of this list, but async.js is just, "Async utilities for node and the browser" which is, while immensely useful, doesn't change JavaScript in a way that is shared by other items on the list.
I'm torn between CoffeeScript and TypeScript. If there was a language that had the syntax sugar of CoffeeScript plus static typing, I would be in heaven.
I think the reason so many languages compile to JS, is that you essentially get to play with and learn a new language, and it's guilt free. Usually you need to choose between technologies - JVM or .NET, Python or Ruby, HTML5/Canvas or Flash, etc... With compile to JS languages, you're never forced to make that choice, if you ever get bored of a language you just compile it into JS and continue with your life.
Right now I'm having a lot of fun playing with Haxe and OpenFL/Lime (formerly NME). Being able to create an app with the Flash-like API and compile it, without modifications for HTML5/Flash/Windows/Linux/Mac/Android/iOS/Tizen natively (!!) feels like some sort of unholy hack. Not to mention it's other abilities (compile to everything from JS to Java, C# and C++).
I've had this discussion in other threads; but, how wise it is to use these instead of vanilla JS in a project you want contributed to?
I personally find CoffeeScript very useful, and believe it's sufficiently widespread and mature as to be viable. All of these others though, I can only see it as increasing the learning curve on a project. I want to use IcedCoffeeScript (Oh, am I tired of Promises) and some of the JS extensions but I can't justify it. It's like a cake that I know I can't eat.
JS + lodash is good enough for me.
Nice. I am currently working on providing primitives in JavaScript for writing async code without callbacks or chained functions. Added a link (http://jspipe.org) to that page.
And I expect most of these can be compiled via a Grunt task. JavaScript is the Borg.
A rare instance where compiled code is actually slower than before "compilation".
I want to say that JavaScript is the "Assembly Language" of the web.
Wow thats a never ending list.
if you're interested in the topic, altjs.reddit.com could use some love
I wonder if Holy C will become popular. Maybe, only in God's temple can Holy C be used.
God says... epic_fail stuff hard_working Angel I_donno happy happy_happy_joy_joy freak cracks_me_up fool look_buddy I_didn't_do_it prosperity scorning try_again do_not_disturb You_can_count_on_that commanded once_upon_a_time Moses Zap I'm_done look_out BRB relax
----
Dance, nigger angel, entertain me. I have expensive tastes -- only the best angels get to dance for me.
This shows us how useful JS really is.
Boy am I glad I added LuvvieScript (Erlang dialect) to it last week. Its sits a bit lonely, the last transpile-to-javascript language to come in. Robert Virding of Lisp-Flavoured-Erlang pointed out that once I get it working all the other compile-to-Erlang languages (Elixir, LFE, Joxa) will also run in the browser (so no pressure then).