[prog] Sample implementations of UNIX utilities.

Diggy Bell diggy at dbsoftdev.com
Fri Dec 27 16:05:03 EST 2002


Meredydd,

Very well said!

Diggy

----- Original Message -----
From: "Meredydd Luff" <meredydd at everybuddy.com>
To: "Robert J. Hansen" <rjhansen at inav.net>; "Mary"
<mary-linuxchix at puzzling.org>
Cc: <programming at linuxchix.org>
Sent: Friday, December 27, 2002 12:24 PM
Subject: Re: [prog] Sample implementations of UNIX utilities.


> Although I'll state straight-out that I'm not an academic computer
scientist,
> and that I have a natural bias in favour of C, some of which may well be
> masochistic, I do think C is very relevant indeed to modern programming.
For
> one, a "portable assembly language" is a very good way of teaching how
> computers actually *work*.
>
> Hmm...having read that link, I'm interested in why you call it a "rant,"
> really - I think it's quite a nice summing-up in as far as it covers stuff
I
> know about (I don't know much in the way of what (s)he calls "theoretical
> languages," and so can't comment on those specifics), and it's certainly
not
> biased - bits of it are quite poetic descriptions of the sheer fun you can
> have in C... :-) It must be something in me, really - I *enjoy* the
sensation
> of being able to tell my machine *exactly* what to do, and no messing. Why
> play with string objects and a good couple of kilobytes of memory when I
can
> chop up a string in situ by plonking a null zero in each space and
> initialising an array of char *s? Of course it's not always the right tool
> for the job, but it teaches you how things work. At this point, you really
> *appreciate* going to, say, Java, and not having to worry about freeing up
> memory. It also lends an understanding, as I have mentioned earlier, about
> what's actually going on - also explains why you feel that performance hit
> when you use a GC'ed and memory protected language like Java (you're right
in
> saying that the memory latency and bandwidth are one of today's biggest
> throttles, which is precisely why Java's heap-happy attitude slows it down
so
> much. Performance problems ain't dead).
>
> Also, the performance thing *does* matter. Why does Zeus sell? Because it
can
> beat Apache on raw speed. What do Oracle crow about more than anything
else
> in their print ads? The sheer performance advantage over competitors. Even
if
> you go on to write non-performance-critical applications in a "sensible"
> high-level language for the rest of your career, I'm pretty sure that the
> *ability* to do raw speed and efficiency, and the understanding of how it
all
> works under the surface, are pretty valuable. And this does not apply
solely
> to the "low-level drivers and VM code" shoebox that you seem to believe is
> all C is good for ;-)
>
> Oh yes, and while I'm at it - about that list of write vs run times for
the
> mathematical algorithm whose name I can't remember (d'oh): that's a tad on
> the misleading side. Of *course* the C++ one is going to take bloody
*ages*
> to do, if you're doing weird things with constructors so as to do most of
the
> compilation at compile-time. I call unfair test! :-P
>
> Right, I've just spewed a whole load of stuff, and I'm not quite sure how
> comprehensible it is to people here, and whether anyone will agree.
Thoughts?
> Responses? Grammar corrections?
>
> Meredydd
>
> On Monday 23 December 2002 16:08, Robert J. Hansen wrote:
> > > The GNU implementations of most utilities is much too complex for my
> > > purposes (teaching C).
> >
> > First--no, I don't know of any simple implementations.  I imagine you'll
> > have a very hard time finding them.  Most production code is infamously
> > hairy, to handle infamously hairy problems that only exist in production
> > environments.
> >
> > That said--if you have any discretion in what language you're teaching,
> > have you considered Python, Java or LISP?  C has its place, usually for
> > hard realtime systems or kernel hacking, but other than that... the
> > bottleneck in most systems nowadays is in memory/network latencies and
> > bandwidth; we stopped being primarily processor-bound some time ago.
Given
> > that, it seems only rational to move away from portable assembler
language
> > as our systems language.  :)
> >
> > A rant on C and its relevance:
> > http://home.earthlink.net/~cortana/c_relevance.html .  Feel free to read
it
> > and flame me into oblivion.  :)
> >
> > _______________________________________________
> > Programming mailing list
> > Programming at linuxchix.org
> > http://mailman.linuxchix.org/mailman/listinfo/programming
>
> --
>
> MSN Developer, Everybuddy project
> http://www.everybuddy.com/
>
> MSN:     blip109 at hotmail.com
> AIM:     blip109
> Yahoo:   modula7
>
> _______________________________________________
> Programming mailing list
> Programming at linuxchix.org
> http://mailman.linuxchix.org/mailman/listinfo/programming
>




More information about the Programming mailing list