Andrew Lentvorski([EMAIL PROTECTED])@Thu, Oct 30, 2008 at 01:17:22PM -0700: > Darren New wrote: > >James G. Sack (jim) wrote: > >><heh> Maybe they're not all above everyone else. I only met one > >>MIT CS grad, and he was a good programmer but had one > >>particularly annoying desire to write one-big-thing, instead of > >>modularizing. > > > >Remember that how big a "thing" is depends on how smart you are > >and how much you can remember. The main good reason to > >modularize is to reduce complexity - if you can keep it all in > >your head at once, you don't have to modularize. Or pick good > >variable names. Or not reuse the same name to mean something > >completely different later. > > > >(I've known a few people who are *way* too smart to write good > >code. The stuff works great, but it's utterly incomprehensible > >unless you can remember 1000 lines of code and what its doing.) > > *Everybody* has a limit that they hit where they need to abstract > the system heavily. Mine is about 10000 lines of code. > > The problem with extremely smart programmers is that they are > used to programming below that limit. Once they cross that > limit, they break. > > I actually blame this for much of the failure of Lisp. Lisp lets > smart people program below their limit for much longer than other > languages. > > The problem is that they never learn how to do the grunt work > necessary to program *above* that limit. >
I don't deal with large projects, but I still modularize stuff. I do it because it's easier to re-use, but also for others to see what I'm doing a little easier (I hope). I'm not sure though what "grunt work" you are thinking of that wouldn't be there regardless of modularization. What do you mean by that? Or, maybe I should ask, what do you have to learn in order to program above your limit? Wade Curry syntaxman -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
