Re: interesting discovery

From: chefren <chefren_at_nospam.org>
Date: Mon May 03 1999 - 16:27:17 PDT

On 28 Apr 99, at 9:43, Andy Valencia wrote:

> [Mirian Crzig Lennox <lennox@alcita.com> writes:]
>
> >I made an interesting discovery today... I happened to be reading
> >through the Lions book on 6th edition UNIX (which is happily now
> >available for purchase at fine computer bookstores everywhere), and
> >came across the assertion, in the introduction, that 10,000 lines
> >represents the upper bound for a body of to be understood and
> >maintained by one person.
> >
> >If you do a wc -l on /vsta/src/os/kern/* you'll see that VSTa is just
> >about that much (10590 to be exact, on my system). The entire
> >/vsta/src/os/ tree tops out at just over 20,000.
>
> Of course, you have to contrast what v6 got in 10,000 lines (scheduler,
> memory management, processes, pipes, filesystem, drivers) versus VSTa
> (scheduler, memory management, processes). But VSTa permits preemption of
> the kernel, threads, inter-process IPC (rather than pipes), and also
> supports true VM (rather than swapping). So I guess I did OK!

I'm not a programmer but I have directed good ones of them
for years, here is a description of my real life
experiences with this:

As far as I know really good programmers up to 28 years old
oversee software totally until about 10.000 lines. After
about that limit both amount and time due have risen above
a "certain" level and they only really know the big
picture. They do start writing simple routines twice. Until
about 30.000 lines or 2-3 years they can find out details
pretty fast because they have an accurate "big picture" in
their heads. After a longer time big changes are really
difficult and even simple repairs take a lot of time.

If complexity has risen above a certain level in
combination with enough time that has exceeded the overview
needed for a good product is lost. If a project started
with a good programmer it's almost impossible to bring in a
new guy who can continue development since the new one has
to be so much better that you just cannot find them at that
level. It's better to start again with the new guy and use
more external technology that didn't exist when the first
programmer started. (Instead of assembly use C, instead of
writing own databases use external ones, instead of own
communication use the Internet et cetera.)

+++chefren
Received on Mon May 3 15:22:34 1999

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:56 PDT