A Tour of Alt-JS languages

References:

What makes a programming language good or bad?

There's many measures of what make a programing language good or bad. I'm going to attempt to take an approach that's very realistic for a business and it's customers. What really matters to them.

About popularity...

Why Alt-JS? What's wrong with JS?

1995: Created as the result of a 10 day prototype with odd corporate mandates, such as “make it look like java” and fateful requirements to mimic poorly designed Java APIs4.

1996: Quickly adopted as the standard for client-side browser scripting.

1999: AJAX! Microsoft releases a non-standard javascript feature that would fundamentally change what browsers are capable of. Its usefulness can’t be denied and other browser vendors quickly adopt it.

2000-2008: Politics and disagreement stagnate the language. ES41, a perhaps overly-ambitious attempt to modernize javascript is abandoned. Javascript’s dynamic and interpreted nature are a detriment to performance, and a technical ceiling is hit.

2008: The release of Chrome and the V8 virtual machine, along with Mozilla’s TraceMonkey JIT, breathes new life into Javascript and client-side web development, improving the performance of javascript code by several factors.

2009: NodeJS is released, an isolated version of the V8 virtual machine with a standard library for running javascript outside of the browser. An entire ecosystem is born.

2010-Present: An explosion in javascript development. Communities create and evolve solutions to javascript’s many shortcomings. Javascript performance is such that other languages are now able to start transpiling to javascript. Nearly all javascript written over the past 23 years still works in all modern browsers.

reference: How we talk about other languages - Request Feedback - Elm Discourse

Let's be clear, JavaScript is not a "Garbage Fire" 🗑🔥

Many people, including myself in the past have ragged on JS for being a terrible language. I think this is absolutely wrong. JavaScript is the most popular programming language in world. It's become wildly popular among everyone, in many cases much of the hate has gone away. JS has improved to a huge degree.

JavaScript runs on more computers today than any other language

Let's come down to earth a little...

  1. It's literally the only language allowed to run the the browser, so maybe popularity is somewhat compulsory
  2. It's often hard to read other people's code that write in a different style or programing paradigm than you
  3. Rewrites seem very common (raise of handsâś‹)
  4. While it runs everywhere it tends to not be implemented ubiquitously. There's often missing features, or incompatibility.

Babel

History

maintained by Henry Zhu now, who works full time on it.

Good

Bad

Ugly

It's 2020, Babel is the new CoffeeScript, you're left with a large codebase of non-standard JavaScript code that takes forever to compile. It's really hard to refactor your code now and you rewrite in a new language.

Typescript

History

Good

Bad

Ugly

Flow

Elm

Purescript

ClojureScript

ReasonML

The BuckleScript author estimates that the build system should scale to a few hundred thousands files in the current condition.

${YourBackendLanguage}Script

Talks that do a similar thing: (mostly by Jared)