Nu Cardboard:
I’ve been writing code that uses java.io.File, for the first time in ages. It’s been like meeting up with an old friend and being reminded just how ugly he really is.
I’ve always thought that File
had an odd interface and an odd mix of functionality. Then again, at least Java has an abstraction for files. (Cough.)
Bill Bumgarner links to a post describing Yahoo’s Python coding guidelines. As he points out, they suggest an Objective-C–inspired naming convention for methods. It looks a little funny, since the selector and arguments aren’t intermixed, but it has the advantage of better interaction with dumb auto-completion.
I really like the Objective-C messaging syntax, especially when combined with Apple’s naming conventions. When you have an NSMutableArray
, there is absolutely no ambiguity between -addObject:
and -addObjectsFromArray:
. In Python, I still confuse append()
and extend()
, perhaps because in Lisp append
is for appending the elements of a list, whereas in Python it’s for appending an object.
All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairly godmothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists. But however the selection press works, the result is indisputable: This time it will surely run,
or I just found the last bug.
—Frederick P. Brooks, The Mythical Man-Month