David Brown wrote: > On Wed, Jan 02, 2008 at 08:27:13PM -0800, SJS wrote: > >> Indeed. And that's not the expectation. Day-to-day, the problem with IAS >> is that I can't comfortably read it. The ability to comfortably and >> unambiguously READ code is important to me. > > Perhaps that is just because you're not used to it? It is a different way > of visualizing things, but humans seem pretty good at learning. > >> What's amusing is that when I do read python or IAS psuedocode in a book >> (or printed out), I annotate it with vertical lines from the initial >> keyword to the closing block. That is, >> >> while expression1 while expression1 >> if expression2 | if expression2 >> do something ===> | | do something >> else | else >> do something else | |__do something else >> |_____ > > I find the code on the right significantly more difficult to read. The > lines are just noise that make the code harder to find. > > I guess one question is: are these differences between us "hardwired" or > are they learned. > > I guess I don't understand what is so important about the "end" part of the > block. I've always thought of 'end' or '}' as noise that I needed to put > in to keep the compiler happy. It never helped _me_ to understand the > code. That's what the indentation was for. I can see vertical alignment > fairly easily. I can't tell matching braces worth beans.
Long multiple nested blocks are more difficult to visually align. Especially, of course, if they are multi-page as well. For me, this is true whether there are block-end delimiters or not, but having that delimiter is a mechanical convenience (to vim and even manual counting). Such long structures are, IMO almost always indicators of code that can be made easier to understand and maintain by pulling out functions. Although folding could help I suppose. Does (eg, vim) folding work with Python? Does anyone here use folding a lot? Regards, ..jim -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
