|
Florian Weimer wrote:
* Mark Hamburg:So how do other languages manage the process of standardizing library APIs?In short: they don't. For instance, I think no language with a standardization process has ever gained the ability to change file permission bits. All languages which I know and provide this functionality got it when there was no standardization process and one implementation, basically.
Great point! Or Python's deprecated rfc822 module. There's no such thing as no risk. Even languages change and source code cannot maintain compatibility across all versions.
One has to question what we really mean, or want, by "standardization". Do we have really stable interfaces? Many modules tend to be human-designed, if we look at having to distill C APIs down to something more simple. If it's down to human choices, it may be well-crafted but still susceptible to change or deprecation, and it may be impossible to pin down precise standardization specifics except for guidelines and best practices.
So by "standardization", is it something like the default libraries of Perl etc.? Some central authority, redundant developer resources, something you can rely on to be maintained? A one developer project is fragile. Say if there's "standardization" but modules are discrete and many are run by single developers, that is still a lot of fragility there.
Reading into the issue of endorsement (definitely not practical), I think it is really a suggestion that we have some kind of central authority that can anoint modules as "the chosen ones" so there will be stability. I dunno if that's good or bad. But to have a wide-ranging scheme like this in the long run, I think module developers will have to cede some control to a central authority -- like aggregation into a single codebase -- so that end-users get the maximum peace-of-mind.
[snip]
-- Cheers, Kein-Hong Man (esq.) Kuala Lumpur, Malaysia