A seed of truth.• Developer needs evolve, the language does not.• Some folks are tackling complexity with compilers. • Async, strong types, tier-less, language translators, etc.• Precedent: C++ originally compiled to C.• https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that- compile-to-JS
Too cute sometimes?• Proliferation of boolean symbols and operators • true/false, yes/no, on/off • true == isnt false• Parenthesis invocation rules are inconsistent (but ﬁne) • Reference: func • Invocation: func(), func(‘aa’), func ‘aa’
Everything is an expression.• Everything is an expression, conditionals and loops included.• Functions return last statements by default.• Becareful to not return the value of loops/conditionals used for side effects. Might incur performance hit.• Ultimately, easy to remember.
In the wild.• Still a fraction of the JS world.• Notable Users • Rails 3.1, Github, 37 Signals, Shopify• Bootstrapped compiler.• Popular in Node & the browser.• Plenty of repos, followers, watchers on Github.