Alexito's World

A world of coding 💻, by Alejandro Martinez

🔗 Linked post

Check out the linked article.

The community decides what becomes oficial

I was reading the Rust forums when I saw this post talking about an oficial Rust error crate. It reminded me about the discussions in the Swift forums about making a bigger standard library.

All the young language communities grow to a point where people starts asking for a bigger standard library, what the Cocoa community usually calls Foundation.

Words about this started in the Swift community already last year with, what I think are, the wrong things to ask for. Of course a segmented library ecosystem can hurt a community, but the core team is completely right on being careful about what to make official.

That reason behind that is pretty sensible: any oficial piece of code will need to be supported indefinitely.

Imagine that, you App developer, having to maintain all your codebase for many many years, having all the crowds jump on you for every change you want to make. It's not reasonable to ask them to hurry up and grow the standard library.

The solution is to have some libraries done by the community fight to become the standard one. Only when the community has agreed one the best one, then the core team can discuss the adoption of it in an official way.

For example look at the situation in Rust around error crates, which they can build thanks to its great metaprogramming capabilities.

Rust error crates graph

You can easily see how any decision taken early in 2016 about what would be the best is already antiquated. Even if you look at the end of 2018 the error-chain create would have been the winner, but look at how quickly failure is gaining attraction! Now imagine being stuck for ever with quick-error and not being able to evolve it freely.

As I said in my wishes for 2018, Swift community, stop relying on Apple to solve your problems. Even stop relying on the Core Team. Stand up and create a great ecosystem that we all are proud of :D

If you liked this article please consider supporting me