HomeLog InSource


[View] [Short] [Hash] [Raw]


Farewell Node.js (medium.com)

Streams are broken, callbacks are not great to work with, errors are vague, tooling is not great, community convention is sort of there, but lacking compared to Go. […] Without separate stacks error handling & reporting will be mediocre at best. I also don’t want to wait 3 years for the community to defragment, when we have solutions that work now, and work well.

This was a timely and relevant post for me. I agree with pretty much all of it, and in fact I haven’t seen many other people acknowledge how bad Node’s streams are. The only difference is I’m going to C plus libco instead of Golang.

Hopefully I can prove the power of my approach. Although I admit that C doesn’t really seem like a credible next gen programming language at this point, even with the added feature of coroutines and async I/O. But I’ve lost a lot of excitement for Rust, and Go honestly seems pretty horrible.


Node has always had a problem with favoring performance over robustness, coupled with an overly zealous, polarized community that exists in a bubble. This resulted in synchronous libraries like fibers being shot down without proper consideration.

I used and liked the fibers library, but it just isn’t a good fit for JavaScript. It’ll always be non-standard and won’t work in the browser.


The big issue with generators is making sense of stack traces while debugging.

Although not having to preallocate stacks is nice too…


He’s bored, and moving on. That’s it. He’s trying to justify what must be a painful decision by making a bunch of abstract claims about how Node isn’t a production-ready language. The elephant in the room: how is it that TJ was able to build so many things, over so many years, that are used – in production – in so many places, in a language that is “difficult to debug, refactor and develop.”? Is he a masochist?

Normally I attribute everything to boredom, but this time I don’t think it is. You could make a parallel argument saying that if this guy were just bored of Node, he would’ve gotten bored a lot sooner given how much time he’s spent with it.

Then again, he should’ve noticed the problems sooner too, right?

TJ Holowaychuk: How is TJ Holowaychuk so insanely productive?

AFAIK I haven’t used any of his libraries directly. I have contributed to another project that used Mocha and so I wrote some tests under it, and I looked briefly at Express and whatever else. He’s prolific but in the Stephen King “diarrhea of the typewriter” sense.

To be fair, I’m certainly guilty of that with my notetaking as well.

Keywords: creative process, learning