[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Our Most Precious Resource: Programmer Time (was Re: long term goals)



According to Glenn McGrath:
> Chip Salzenberg wrote:
> > According to Glenn McGrath:
> > > So is one better than average person more valuable than 10 or 100 less
> > > skilled people ?
> > 
> > Yes [...]  Last I heard, studies had suggested that the best
> > programmers were ten to 100 times more productive than the
> > mediocre-to-bad programmers.
>
> What about the saying "given enough eyes all bugs are shallow"....

I've never believed that.  Debugging is a deep skill, often requiring
a great deal of specialized knowledge to make quick progress.

> If what your saying is true then why is open source software a success.

There are a lot of good programmers.  But that resource -- *us* -- is
close to exhaustion.  The Free Software and/or Open Source movements
are being spread very, very thin by user demands and our own
ambitions.  Therefore, programmer productivity -- i.e. striving not to
waste a moment of programmers' time -- is vitally important to the
future of Open Source.

Coordination effort is a huge time sink.  The less of it we can get by
with, the better off we are.  So smaller groups are better than larger
ones, all things being equal.  But a much greater potential for
productivity lay in a direction that few seem to have considered:

=> Chasing C back to the systems programming niche from whence it came. <=

C is a great systems language, time-tested and reliable.  I don't
argue with its use in the kernel, for example, or as an implementation
language for higher-level languages.  But C demands of us that we
spend much time and effort managing a multitude of details like word
size and memory management ... details that, in applications, could
(and therefore should) be hidden and/or automated.  And need I even
mention stack overflows?  We *must* stop using a systems programming
language -- even a good one like C -- to write our apps.

You may wonder: What should be used for applications instead of C?
Well, frankly, almost anything except Intercal would be an
improvement.  My app languages of choice are Perl and ANSI C++.
(Note the "ANSI" there; modern C++ is much more flexible than what you
may have learned.  But if you hate C++, just forget I mentioned it.)
Python, Eiffel, and the Lisp/Scheme family also beat C for app work.
Even Ada is better.

I can only hope that the OS community will finally wake up to the
hidden costs of C before too much more time is lost.
-- 
Chip Salzenberg            - a.k.a. -            <chip@valinux.com>
   "Give me immortality, or give me death!"  // Firesign Theatre



Reply to: