What's new

Welcome to Greenbrave Forum

Join us now to get access to all our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, and so, so much more. It's also quick and totally free, so what are you waiting for?

Ask question

Ask Questions and Get Answers from Our Community

Answer

Answer Questions and Become an Expert on Your Topic

Contact Staff

Our Experts are Ready to Answer your Questions

  • You must register first to gain full permissions Our resources on Greenbrave Forum are CLEAN and SAFE. So you can use them for development and testing purposes. Enjoy

The Third Age of JavaScript

Greenbrave

Greenbrave

Administrator
Administrator
Green
Joined
Mar 29, 2022
Messages
120
Reaction score
51
Points
53
Location
DarkWeb
Website
greenbrave.com
Every 10 years there is a changing of the guard in JavaScript. I think we have just started a period of accelerated change that could in future be regarded as the Third Age of JavaScript.



You do not have permission to view link Log in or register now.

The first age of JS, from 1997-2007, started with a bang and ended with a whimper. You all know Brendan Eich’s story, and perhaps it is less known how the ES4 effort faltered amidst strong competition from closed ecosystems like Flash/Actionscript. The full origin story of JS is better told by its principal authors, Brendan Eich and Allen Wirfs-Brock, in
You do not have permission to view link Log in or register now.
.



The second age of JS, from 2009-2019, started with the annus mirabilis of 2009, where npm, Node.js, and ES5 were born. With Doug Crockford showing us
You do not have permission to view link Log in or register now.
, users built a whole host of
You do not have permission to view link Log in or register now.
and libraries, and extended JS’ reach to both desktop and new fangled smart phones. Towards 2019 we even saw the emergence of specialized runtimes for JS on phones like
You do not have permission to view link Log in or register now.
as well as compiler first frontend frameworks like
You do not have permission to view link Log in or register now.
.

You do not have permission to view link Log in or register now.

2020 feels like the start of a new Age. If the First Age was about building out a language, and the Second Age was about users exploring and expanding the language, the Third Age is about clearing away legacy assumptions and collapsing layers of tooling.

Note: I have pitched the
You do not have permission to view link Log in or register now.
thesis before!
The main legacy assumption being cleared away is the JS ecosystem’s reliance on CommonJS, which evolved as a series of compromises. Its replacement, ES Modules, has been waiting in the wings for a while, but lacked the momentum to truly take a leap because existing tooling was slow but “good enough”. On the frontend, modern browsers are equipped to handle these in small amounts too, but
You do not have permission to view link Log in or register now.
. The
You do not have permission to view link Log in or register now.
project is positioned to accelerate this future by providing a facade that can disappear as ES Modules get worked out. As a final bonus, IE11 will begin its slow march to
You do not have permission to view link Log in or register now.
.

The other assumption going away is that JavaScript tools must be built in JavaScript. The potential for type safety and
You do not have permission to view link Log in or register now.
in hot paths is too great to ignore. The “for JS in JS” ideal was chipped away with the
You do not have permission to view link Log in or register now.
and now Deno, Relay,
You do not have permission to view link Log in or register now.
and
You do not have permission to view link Log in or register now.
are proving that people will learn Rust to contribute to core JS tools.
You do not have permission to view link Log in or register now.
this conversion will be done by 2023. We will continue to write JavaScript and TypeScript for the majority of surrounding tooling where approachability outweighs performance. Where we used to think about ”
You do not have permission to view link Log in or register now.
”, we are now moving to ”Systems Core, Scripting Shell“.

Note -
You do not have permission to view link Log in or register now.
, and
You do not have permission to view link Log in or register now.
.
Layers are also collapsing in interesting ways. Deno (
You do not have permission to view link Log in or register now.
) takes a radical approach of writing a whole new runtime, collapsing a bunch of common tools doing tasks like testing, formatting, linting and bundling into one binary, speaking TypeScript, and even including a
You do not have permission to view link Log in or register now.
. Rome (
You do not have permission to view link Log in or register now.
,
You do not have permission to view link Log in or register now.
) takes a different tack, collapsing all those layers atop of Node.js (as far as I know, I’m not too close to it).

Something that didn’t exist 10 years ago and now is a fact of life is public clouds (AWS, Azure, GCP, et al). JavaScript has an interesting relationship with the cloud that I cannot quite articulate - Cloud platform devs wouldn’t touch JS with a 10 foot pole, but yet JS is their biggest consumer. AWS Lambda launched with JS first. There’s also a clear move to collapse layers between your IDE and your cloud and remove the pesky laptop in between. Glitch, Repl.it, Codesandbox,
You do not have permission to view link Log in or register now.
, Stackblitz and more are all
You do not have permission to view link Log in or register now.
leveraging JS to explore this space. Meanwhile,
You do not have permission to view link Log in or register now.
providers like Netlify and Vercel tackle it from the PoV of collapsing layers between your CI/CD and your CDN, and removing the pesky running server in between.

Even in frontend frameworks, the activity going on is fascinating. Svelte
You do not have permission to view link Log in or register now.
. React is exploring
You do not have permission to view link Log in or register now.
and
You do not have permission to view link Log in or register now.
. And Vue is
You do not have permission to view link Log in or register now.
.

In summary: Third Age JS tools will be

  • Faster
  • ESM first
  • Collapsed Layers (One thing doing many things well instead of many things doing one thing well)
  • Typesafe-er (built with a strongly typed language at core, and supporting TS in user code with zero config)
  • Secure-er (from dependency attacks, or lax permissions)
  • Polyglot
  • Neo-Isomorphic (recognizing that much, if not most, JS should run first at buildtime or on server-side before ever reaching the client)
The result of all of this work is both a better developer experience (faster builds, industry standard tooling) and user experience (smaller bundles, faster feature delivery). It is the final metamorphosis of JavaScript from site scripting toy language to full application platform.

You do not have permission to view link Log in or register now.

If
You do not have permission to view link Log in or register now.
, the Third Age may be JavaScript’s last (his timeline gives JS until 2035). There is always the looming specter of Web Assembly - even Brendan Eich has pivoted his famous saying to “Always Bet on JS - and WASM”. He originally thought JS could be “the universal virtual machine”, but
You do not have permission to view link Log in or register now.
WASM now is the ultimate fulfillment of that idea.

If so - we’re in the Endgame now.
 
symplychima

symplychima

Moderator
Staff member
Green Mod
Green
Joined
Jun 11, 2022
Messages
8
Reaction score
8
Points
3
Once the age changes does it require you to re-learn the language?
 

Forum Statistics

Threads
1,148
Messages
1,168
Members
126
Latest member
jorbbey
shape1
shape2
shape3
shape4
shape7
shape8
Top