[Courses] [C Programming] Anyone still here?

Julie jockgrrl at austin.rr.com
Mon May 27 21:57:31 EST 2002


Dave North wrote:
> 
> Julie:
> 
> > ...they taught "theory".  Which, I
> > suspect, means they didn't know how to program.
> 
> My guess was a little different: I think at least one of my instructors
> simply wasn't up on the latest language, and didn't want to be forced to
> admit his competence was in Urdu, basically.
>         And this was back when people actually spoke it.

It has NOTHING to do with languages, tho.  That's what people
just don't get.  I've used the same approach -- "design by
successive refinement" -- since 1979 when I wrote engineering
applications to run on programmable calculators.  Since then
I've programmed in PDP-11, VAX, 80x86, S/370, RS/6000 and M68000
assembler, FORTRAN, COBOL, C, C++, Pascal, FORTH, LISP, and a
few other languages I've forgotten.  Like SNOBOL.  I once went
so far as to write a compiler for a language I made up -- which
I called "espres" because it was designed to write numerical
integration software -- and I designed software the exact same
way for that language as I did for all the others.

> > How do you know when Dave has finally shut up?
> 
> You're not the first to ask that question.

It really is an important question if Dave shutting up is part
of the functional specification.

> > Designing software is a dying skill.  Most of the
> > programmers I work with today code first and never design.
> 
> It's surprising (and maybe a little scary) how often I hear that. The time
> pressures on just about everyone (and the disposability of most code) seem
> to be encouraging this situation.

The thing is that my experience bears out the importance, from
a "time utilization" standpoint (or "coding efficiency" or
whatever other metric you want to use ...) that =designing= code
before you actually =type= code is a huge win.

For example, I've spent a month or so rattling an idea around
in the back of my mind.  It's just kinda bounce around with a
lot of other things.  Two weeks ago that idea finally made it to
the top of the heap and I began writing a design.  The design
took a few days to put to paper (meaning, it took a week, but I
didn't work on it full-time).  Then I took my design, and using
the steps I outlined earlier, I wrote the code.  The net result
was ~4,000 lines of code which do some rather neat things and
seem to do them quite correctly.  The people I know who just
sling code don't seem nearly that productive.  Instead, they
seem to spend a lot of time debugging algorithms and struggling
with "the design".  When I become "Goddess of All Programmers
In My Realm" I will inflict design-before-code on all of my
loyal subjects.  Should they refuse to conform I'll banish them
to the nether regions of some ungodly part of the planet.  Like,
make them debug Java or something equally horrid.

>         Interesting that it's happening at the same time reusable code is
> the watchword in language design. Just another little conundrum.

It's always been the watchword.  I've been programming for 23 years
and there has never been a time in my life when people really
believed code should just be thrown away.  This doesn't mean
people weren't into throwing code away, tho ...
-- 
Julianne Frances Haugh             Life is either a daring adventure
jockgrrl at austin.rr.com                 or nothing at all.
					    -- Helen Keller



More information about the Courses mailing list