[prog] Sample implementations of UNIX utilities.

Diggy Bell diggy at dbsoftdev.com
Tue Dec 24 04:41:29 EST 2002


Robert,

Just a gentle nudge, but...

You pretty harshly characterized C/C++ as inherently not cross-platform,
therefore:

"Why are we using C/C++ to squeeze every bit of performance out of our
cycles..."

Another comment was:

"That's why I prefer LISP, Ocaml/SML, Python and Java--they don't make
crossplatform promises, they _are_ crossplatform."

You also pointed out Python as your language of choice because of it's
performance.

"Gives me performance pretty much equal to native code"

I'm not all at familiar with Python, but I'm just a bit aware of PHP and a
few other languages.  Out of curiosity, I downloaded the Python source code
to see what it looked like.  I figured that since it has good performance,
and is cross platform, it would be worthwhile to look at the source.
Surprisingly enough, it's written in C. (as are a few Java VMs)

I'm probably one of the quickest people to fall back on C/C++ because I know
that I can do whatever I need to on any platform.  At the same time, my
favorite language right now is PHP (it's payin' the bills :P.)  Strangely
enough, I'm even looking at an x86 assembly language manual as I type.
Languages are sort of like hammers.  Sometimes you need one of those little
rock hammers like Tim Robbins used to break out of Shawshank [Redemption],
sometimes you need one of those snazzy air hammers.  Being proficient in
several languages makes you all the more effective in all of them because
you are that much more aware of the unique characteristics of each one
(because you generally get bitten by those the most frequently :P)

William D. 'Diggy' Bell
Principal
DB Software Development
http://www.dbsoftdev.com

----- Original Message -----
From: "Robert J. Hansen" <cortana at earthlink.net>
To: "Kathryn Andersen" <kat_lists at katspace.com>
Cc: <programming at linuxchix.org>
Sent: Monday, December 23, 2002 10:51 PM
Subject: Re: [prog] Sample implementations of UNIX utilities.


> > 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.
:)
>
> _______________________________________________
> Programming mailing list
> Programming at linuxchix.org
> http://mailman.linuxchix.org/mailman/listinfo/programming
>




More information about the Programming mailing list