On Sun, 27 Nov 2005, Hans-Christoph Steiner wrote:
Ultimately, the question is not about how much time you spend scrolling, but how much time you spend till you have completed and debugged code.
Right. But then you have to explain to me how writing longer words on more lines really help on the debuggability. It seems to me that debuggability is about keeping the code modularised so that not too many things are in the same context at the same time, so that programmers are less confused, so that they create less bugs in the first place, or find bugs more quickly.
The time it takes to write code is trivial compared to the time spent debugging and maintaining it.
It depends. There's more to writing code than just writing it.
Do you count the amount of time that the code matures in the mind before being dumped into the computer?
What about writing less bugs in the first place?
What counts as maintenance depends on when the original project is considered as having ended. Software engineering is the only kind of engineering in which completely new developments are considered as "maintenance". ;-)
That's why you have such practices as extreme programming, which actually slows down the process of getting the code written, but overall is much more efficient.
And you can bet it doesn't achieve its goal by requiring longer identifiers!!!
XP and PP practitioners don't swear by particularly long identifiers and spacious formatting (even if they often tend in that direction). Instead they swear by concepts like OnceAndOnlyOnce (DontRepeatYourself) and TestDrivenDevelopment and PairProgramming and making very small methods and RefactoringMercilessly and developing incrementally.
I've even heard them saying that code should not be commented: the opposite of Knuth's CWEB!. I think this is not incompatible with your citation of Knuth, just that it requires a completely different interpretation of that quote, as in, the code has to be its own documentation, instead of interleaving English with some programming language.
Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju Freelance Digital Arts Engineer, Montréal QC Canada