[prog] Sample implementations of UNIX utilities.

Robert J. Hansen cortana at earthlink.net
Tue Dec 24 01:51:10 EST 2002


> My favourite acronym for LISP is

That one's an old and hoary joke--still somewhat accurate, though.

> which lets you know what I think of *that* language.

Suggests to me you haven't programmed in it long enough to see the beauty of
functional programming.  :)  After a while, the parens make sense to
you--especially if you've got a background in set theory.

> If you want something that is fast and portable across a lot of
> different architectures, use C/C++.

I've seen too much Real Code which was ridiculously unportable using C/C++.
For instance, look at how much C/C++ code assumes Intel endianness, 32-bit
pointers and 32-bit integers.  For every one programmer who painstakingly
writes code to handle crossplatform issues well, there are a dozen who
genuinely don't care.  That's why I prefer LISP, Ocaml/SML, Python and
Java--they don't make crossplatform promises, they _are_ crossplatform.

Besides, as I pointed out a couple of messages ago--apps are rarely
processor bound anymore.  Why are we using C/C++ to squeeze every last bit
of performance out of our cycles, when our problem is lack of _programmer_
time, not lack of _processor_ time?

I program in Python, and if the code's slow I profile it and write the
bottlenecks in C/C++.  Gives me performance pretty much equal to native code
and a considerably faster dev cycle.  I would use ANSI Common LISP for
everything, but LISP lacks good POSIX facilities.  Still--I think it's very
much worth learning, if only for the insight it gives into programming.  :)




More information about the Programming mailing list