Abstract Blob Store is a fantastic standard, one that I try to use whenever possible.
Make Node.js Core Bigger

Remember how many revisions the Streams API had? I think I remember three major changes over the last 5–6 years. It was confusing for developers that aren’t primarily focused on Node, like JavaScript front-end programmers who just occasionally dip into server-side programming to keep their servers running safely.

If something like Abstract Blob Store was in Core it would have some benefits, but the eventual revisions might create a lot of incompatible discarded packages strewn all over npm. Then you get the Big Web Framework issue of upgrading to a new version of Node and obscure things breaking in your app that you can’t easily mitigate without replacing dependencies. Granted you can get this anyway, but it’s not usually caused by Node itself.

Another thing is, I’m finding it hard to imagine what other “standard” abstract APIs might be included in Core.

Does JavaScript even have the necessary features to make abstract APIs, or interfaces, or contracts sensible and clear? Languages with static typing or C#-style interfaces and generics improve the code ergonomics for extending APIs because you get detailed help in your IDE and from the compiler, but for newcomers even trying to figure out how to build on top of stream.Readable isn’t entirely straightforward. The amount of times I’ve helped someone figure out exactly which stream class to extend, and how to do it, and help them work through api/stream.html has been frequent in the last few years of working with Node.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.