>>25
I definitely don't use languages that don't read like pseudo-code. That is to say, I'd rather the language fit my needs than have to contort myself to a draconic syntax. Axiomatic simplicity is the name of the game, and there are only two, maybe three languages for me, in this order: Io (
http://www.iolanguage.com), Lisp, and Smalltalk (
http://www.squeak.org).
As for a programming methodology(which is basically what this talk turned to), I like Extreme Programming(
http://www.c2.com/cgi/wiki), as it mirrors the behaviors of programmers in the wild. And it seems to work.
As for UML, it's a blight and the bane of my existence. Index cards > *; CRC cards(
http://www.c2.com/cgi/wiki?CrcCard) are the best modeling tool if you need something more than a paper napkin. Usually, the napkin is sufficient.
Anyone who wants to tell you more than that is probably trying to sell you something.
As for boolean expressions, if they're complicated, factor them out. Turn
( b & c ) | ( (~ b) & d )
into
isHungry | needsToSleep .
There is never any substitute for useful identifiers.