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

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



On Sun, 3 Dec 2000, Chip Salzenberg wrote:

> > 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.

I always assumed that it referred to either simple bugs, or the presence
of experts beyond the original author - particularly for complex
interaction bugs. 

The more people who see it the more likely it is one of them will have the
specialized knowledge to fix the bug. Of course that only applies to a
certian class of bug..
 
> 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

Aye.. I think the `barrier to entry` is also rising, all the cheezy little
apps seem to have been done to death and then some. It is rarer and rarer
that you can sit down and write something worthwhile and be done in a
month.

There also seems to be an increase in lower skilled people - this is
important becauase you just can't expect stunning efficiency out of
inexperiancied people. I personally think there is one hell of a
difference between someone who has written hundreds of thousands of lines
in any language compared to people who have not. 

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

Yes, well, this isn't all so cut and dry.

I strongly suspect that a novice programmer is less likely to make a huge
mess of a project in C than in a more complex language like C++ or Perl.
(Python and others seem to make this hard, but I wonder how much that is
lack of usage..) 

How many worthwhile projects sit on the shelf because the code for the
current version is good enough to solve the problem, but so horrible that
changing it in generally infeasable (the cost of making changes is on the
order of rewriting it time wise) due to poor implementation?

If you accept that the barrier to entry is higher it makes sense that
there will be more people working on any given project for a longer time.
Maintainability in this environment goes hand in hand with programmer
efficiency. Writing something that only you can understand is no longer a
strategy that will yield even stort term success.

So really, is it better for a novice programmer to start out on C, or
should they be trying their hand on a language that is way more
subtle (C++, Java, Perl, etc)

I know here at school I always have to correct people doing C - they make
alot of errors (And these are people that TEACH C here). Having them do
C++ scares the willies out of me (and them too, they won't touch it). I
don't really know what their Perl/Python would be like, but I can't see
them suddenly doing better than a brain dump.

I think it is a tricky matter - and I really doubt there is a single clear
answer. I don't expect to wake up tomrrow and find that people are moving
away from C - GNOME/GTK seems to be the banner example of this kind of
thinking :<

A very real OSS competitor for C is C++ - it has exactly the same
efficiency characteristics as C, has a similar syntax - etc. People Will
Not Use It, often because they tried once (usually in school..)
and became totally lost in the available complexity. Soured for life,
sadly :<

> (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.)

Heh, I have never met someone who learned more than a fraction of ANSI C++
in a school setting - it is just too huge a topic :<

Jason



Reply to: