3 ms·
> All else being equal, it's better to implement things in libraries rather than bake them into a language. I was in the extensible languages camp for so long.
by cousin_it 8y ago
> All else being equal, it's better to implement things in libraries rather than bake them into a language.
I was in the extensible languages camp for so long. Now I believe that widely used stuff should be part of the language. The reason is that people love to write libraries to scratch their own itch, but it takes a whip to make them write libraries that work together: use consistent naming, accept and return the same types, avoid overlaps in functionality, etc. It's just nobody's job. Except if you call your collection of libraries a "language" and try your best to harmonize them. That's what a language should be. Being minimal is no virtue.
My favorite example is Unicode: the best languages are those that bake it in and force everyone to use it. Or exception handling: you could give people the tools to build their own error handling mechanism, or you could build one good mechanism (with deep language integration, stacktraces etc) and force everyone to use it. When everything uses the same kind of strings and the same kind of errors, programmers can focus on what matters.
- kiriakasis 8y agoYou can sort of get the best of both world by having a set of "blessed" libraries that are publicized as supported by the language. This allow for users to experiment and for the maintainer to select well built solutions