« Difficult v Hard as opposed to Java v C | Main | Cut-and-Paste Year »

LaundryList APIs

In recent years the most difficult software abstractions I've dealt with are APIs that evolved from a laundry list of convenience calls- I'm talking about getThis, getThat getThisByThat, getThatByThis ("how do I get other?", "there's an other?" "Yuh", "No problem, I'll add getOther just here"). You can't compose or say anything new with this kind of API - it's nonsense instead of language. They are especially problematic in languages that have a compile/package/deploy cycle or on in runtime containers where versioning is not well thought out (which means most containers).

What LaundryList APIs achieve, possibly unintentionally is an almost total abstraction not just from things like 'this', 'that' and the 'other', but also from the verbs like 'get' which you need to talk about the things in question. Which is encapsulating exactly the wrong stuff. All that needs encpsulation is how this that and the other were made, not how to speak to them.

January 1, 2006 09:06 PM


Post a comment

(you may use HTML tags for style)

Remember Me?

Trackback Pings

TrackBack URL for this entry: