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

Reply via email to