Hacker News new | ask | show | jobs
by JonChesterfield 1037 days ago
I wonder if the optimum is a benevolent dictator controlling the language and committee controlling the associated library. The community is then a sort of third ring of library evolution.

Inconsistency is more expensive the closer to the language definition it arises as the blast radius is wider.

Compromises and redundancy are more valuable in the library layer.

Lisp blurs the lines somewhat but it's usually possible to subdivide a system into a core and stuff built on that core.

1 comments

As someone who works on a combined language/core library team, it's really nice to have them both under the same roof. We can provide a much better overall user experience when we can design features that involve the language and core libraries working in concert with each other.

For example, we recently added tuples as a language feature to Dart, and also added a function in the async library that lets you await a tuple of futures in parallel and returns a future of the tuple of the resulting values.

When we added extension methods to the language, we also rolled out some extension methods in the core library.