On 16 February 2009, a GitHub commit was made. By a person who would later turn out to be the creator of two of the most successful, impactful, and standard tech platforms the world has ever seen.
It's the story of Ryan Dahl, the person behind Node.js and Deno. The mastermind behind the non-blocking asynchronous I/O model of Node.js - a radical approach at that time to process thousands of requests per second. A runtime that made JavaScript successful and gave it legs (i.e. through file system access) to pave the path for modern frontend development frameworks e.g. React from Facebook and Angular from Google.
The struggle, however, was real. First, he had to give up his addiction towards Abstract Mathematics - some people apparently loved doing maths, a rare breed! Second, he had to find a company which will be willing to fund this research and development for the first few years. With these two figured out after much efforts, came the big third one. Fork!
Forks in opensource are often good things, but not so much for an emerging technology that attempts to be a standard in handling web requests and developing server-side applications. Difference of opinions in certain aspects may cause a project to be forked and have the dedicated pool of contributors be divided into forks, competing against each other with a more limited and divided group of people. This isn't good news for Ryan.
With much negotiations, he was able to bring teams back together to focus on the main project. The remnants, however, of the fork still is found in some historical corners of GitHub. Its name was io.js.
nodejs / node-convergence-archive
Archive for node/io.js convergence work pre-3.0.0
Node.js Foundation - Node.js
This repository is the working repository for the proposed convergence of the http://github.com/iojs/io.js and http://github.com/joyent/node projects under the Node.js Foundation.
Contributions, releases, and contributorship are under the proposed Governance and Developer Policy for the soon-to-be-launched Node.js Foundation:
- https://github.com/joyent/nodejs-advisory-board/tree/master/governance-proposal
- http://github.com/jasnell/dev-policy
This project is operating with the oversight of the joint Node.js and io.js core technical teams.
Note: The original io.js README.md is temporarily renamed to iojs_README.md.
The days were going swift with Node.js and Ryan, until... one day. Golang from Google came across Ryan, and its newer concurrency model to process web requests through goroutines and channels. It made a realization for Ryan:
Node.js is not the most effective approach to handling HTTP requests.
For more distributed applications or DNS servers, Node.js is no match for Golang. Despite having garbage collection built-in, the performance of Golang is unmatched and it compiles code into a easily-distributable single binary executable file.
Soon after this realization, Ryan left the Node.js opensource project 😕
Since then, Node.js is being governed by the OpenJS Foundation. Now, the project is in good hands having people like James Snell from Snyk, Michael Dawson from Red Hat, and Matteo Collina formerly from NearForm in its Technical Steering Committee - tirelessly driving success, assessing latest developments in the field, and keeping the legend of Ryan alive!
Top comments (13)
This is insightful, what a nice way to tell the story of the most used backend language.
Thanks @ryan
Thanks @scofieldidehen!
I am glad you loved it 😀
Awesome.
I learnt the other day day that it is a runtime environment not a language...I was like :"Say What ???"
I tried downloading it but i got too old a computer.
I suffer here lol
So sorry mate.
It’s cool I’ll break through !!!!
I do other languages I’ll focus more on JS and get better.. cos it’s also one hell of a rabbit hole itself
Great post!
When the inventor of Node himself says It's no match for Golang. Go must be really something. damn
Yup, @vishalsh! Particularly for building microservices and scalable backends.
Thank you for this one .Bravo and More Please!!!!
Sure thing! I got you covered, more incoming 🚀
I'm truly grateful for this one! Bravo, and I'm eager for more of your unique contributions. Please keep them coming!
It's always great to hear @lylawa 🎉
Let me know if there's anything specific you'd like me to write about!