
On 09/11/2010 00:13, Ian Lynagh wrote:
I'm not sure what to put this thought in reply to, so I'll just put it here:
One criticism that I feel I've seen a lot, about the standard libraries of many languages, is that they are inconsistent; e.g. this sort of thing, about Java:
It’s also interesting to note that Hashtable, another important standard library class, does not have any final methods. As mentioned elsewhere in this book, it’s quite obvious that some classes were designed by completely different people than others. (Notice the brevity of the method names in Hashtable compared to those in Vector.) This is precisely the sort of thing that should not be obvious to consumers of a class library. When things are inconsistent it just makes more work for the user. Yet another paean to the value of design and code walkthroughs.
Haskell is much better in this regard. We do not need to compare different classes to find inconsistencies; the Monoid class was named by category theorists, but its functions were named by people who consider all data to be lists.