Newsgroups: alt.lang.design,comp.lang.c++,comp.lang.lisp
Path: cantaloupe.srv.cs.cmu.edu!das-news2.harvard.edu!news2.near.net!howland.reston.ans.net!pipex!uunet!mole-end!mat
From: mat@mole-end.matawan.nj.us
Subject: Re: Comparing productivity: LisP against C++ (was Re: Reference Counting)
Message-ID: <1994Dec31.081843.1549@mole-end.matawan.nj.us>
Summary: How about a little FLAME, strawman!
Organization: :
References: <19941203T221402Z.enag@naggum.no> <3danhm$fqi@xmission.xmission.com> <D1FpDD.4A7@rheged.dircon.co.uk>
Date: Sat, 31 Dec 1994 08:18:43 GMT
Lines: 51
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:105384 comp.lang.lisp:16217

In article <D1FpDD.4A7@rheged.dircon.co.uk>, simon@rheged.dircon.co.uk (Simon Brooke) writes:
> In article <3dd145$gnl@xmission.xmission.com>,
> Michael Callahan <callahan@xmission.com> wrote:
> >Robert J. Brown (rj@wariat.org) wrote:
 ...
> >: : : >    while (!feof(in)){
> >: : : >       fread(buffer, 1, 1, in);
> >: : : >       buffer = 255 - buffer;
> >:                      ^^^^^^ ---------->>>  this should be ~buffer
> >:                                            since you do not know what the
> >:                                            implementation of arithmetic is
> >:                                            in general.  ...
 ...
> >That's not true.  You can do arithmetic on unsigned chars in C, it works
> >fine. 
> 
> Ohhh... at this point us poor lispers listening in don't know whether
> to laugh, cry, or call in the men with the plain white ambulance. 'You
> can do arithmetic on unsigned chars'. Someone tell me, what is
> 'A' + 'A'? Is it 'A'? Is it 'B'? Guys, they program in this. Did they
> let these folk loose on the Airbus flight control system... Oh G*d.
> Ohh G*d, don't let me fly in an Airbus!

Awright, wiseacre, lissenup!

The definition of C's character types allows them to be used as small
integers.  If this is too `machiney' for a LISPer's taste, so be it.
(But at it's core, doesn't LISP use a very specific abstract machine
model?)

As to arithmetic on 'A' -- you never wrote a hash function, smarty?

Fred Brooks wrote that representation is the essence of programming.  So
it is.  And the _art_ of choosing how things will be represented in
your program and how those representations will be implemented by the
languae at hand will _never_ be free of ambiguities and `punning.'
The best we can hope is that the low-level details can be localized
and encapsulated so that it is easy to verify their consistancy and
to ensure that they remain consistent across releases.

The Airbus problems, BTW, have nothing to do with coding.  They are
problems buried deep in the specifications ... like primary flight
controls whose `meaning' changes automatically depending upon what the
airplane is doing at the moment.  (At one moment, the stick commands
angle of attack ... at the next it commands rate-of-descent ... at the
next ...)
-- 
 (This man's opinions are his own.)
 From mole-end				Mark Terribile
 mat@mole-end.matawan.nj.us, Somewhere in Matawan, NJ
	(Training and consulting in C, C++, UNIX, etc.)
