Newsgroups: comp.lang.lisp
From: cyber_surfer@wildcard.demon.co.uk (Cyber Surfer)
Path: cantaloupe.srv.cs.cmu.edu!bb3.andrew.cmu.edu!news.sei.cmu.edu!cis.ohio-state.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!howland.reston.ans.net!news.sprintlink.net!demon!wildcard.demon.co.uk!cyber_surfer
Subject: Re: Why do people like C? (Was: Comparison: Beta - Lisp)
References: <LYNBECH.94Sep15223604@xenon.daimi.aau.dk> <os2Psc1w165w@sytex.com> <35dcf9$jao@news.aero.org> <35kbl8$8ni@relay.tor.hookup.net> <780075970snz@wildcard.demon.co.uk> <36p6hf$6gd@relay.tor.hookup.net>
Organization: The Wildcard Killer Butterfly Breeding Ground
Reply-To: cyber_surfer@wildcard.demon.co.uk
X-Newsreader: Demon Internet Simple News v1.27
Lines: 121
Date: Fri, 7 Oct 1994 14:16:20 +0000
Message-ID: <781539380snz@wildcard.demon.co.uk>
Sender: usenet@demon.co.uk

In article <36p6hf$6gd@relay.tor.hookup.net>
           hutch@RedRock.com "Bob Hutchison" writes:

> When was Brown's book written?

The copyright says 1979. That must have been about the time that
a more experienced programmer leant it to me.

> Forth is an interesting language, but by the time Forth became an option
> for me, C had already won.  The first papers I remember about threaded
> interpreters was around '83-'84, though certainly the technique was not
> new then (I had used it myself in a UI definition language I wrote).  These
> papers are what brought forth into my conciousness.

Well, I was fortunate enough to get my hands on a fig-forth for my
first machine. I had to pay for my first C compiler, and even then,
it could only just run on the machine, it was so big. 48K is not a
lot of RAM, even for an enhanced Small C. Curiously, the first time
I read about symbolic math was in a Byte article that used a Lisp
running on the unexpanded 16K version of the machine I was using.
I'm still amazed at how much could be done in so little RAM!

> I cannot remember what the version of C was that I ported but
> small C is familiar... This compiler was in fact quite portable for
> the time.  Step 1, change the assembler output from the host machines
> to the target's; Step 2, recompile the compiler on the host machine
> using the new assembler output; Step 3, take the assembler to the
> target machine and assemble it, and... ported (there were a few iterations
> of course :-)

Yes. You can see a similar approach used by a BCPL compiler, with
its intcode assembler/interpreter, and I have a book on the P4
Pascal compiler that uses a technique, but with an early p-code.

I wonder if my model of how C works was based on the assembler
code from the compiler? My 2nd C compiler (for CP/M-68K) also
generated assembly language. I'm often tempted to write a Lisp
compiler (perhaps for a subset of Scheme) that generates an asm
file as its output. The point would simply be to demonstrate that
it can be done, and done as well as for Small C, and to show the
programmer what the code does at the machine level.

> The experienced programmers become the ones who place the ads for new
> programmers.

Yes, we can only answer the ads that we find. Very few of us seem
able to solicit work from employers, rather than the other way
around. We can also say that we can only buy the machines that
vendors sell, program with the language systems that are available,
etc. As far as the apps are concerned, if we're self employed,
then we're free to write what we want to, but ensuring that anyone
will buy our software is another matter.

At least that way we can choose the tools we use to develop the
software with. I do sometimes suspect that if I were to write
an app in Lisp, then I should perhaps not tell anyone that it's
_not_ written in C++. Let them guess, if they can!

It could be better than telling them, which might just give them
a reason to say, "Well, of course it's slow, it's written in Lisp",
which would be ignoring all the apps written in C++ that are big
and slow. I know people who see things like that, and it saddens
me. They value machine time more than human time, but which is
more expensive these days?

Oops. Now this is exactly the kind of comment that I always dread
in discussions like this, probably coz it's just what I'm thinking,
and I'd like to find that it isn't true! ;-) Well, regardless of
how we'd like it to be, or how some of us find it is, that's the
way many others find it.

Perhaps when someone asks, "Why isn't Lisp used as much as C?",
they're asking, "Why are there more jobs for C programmers than
Lisp programmers?" If that's true, how do we answer that? One way
has been to look at the languages, as we have been doing, but
another way would be to look at the people offering the jobs
themselves. As you said, they're likely to be experienced
programmers, and probably old enough to remember a time when
"Lisp" wasn't as fast as it can be today.

Software development is changing fast, as it always has been,
and new technologies appear. GUIs, OOPLs, visual graphs, dataflow,
etc. It's hard to keep up with these things, even if you have
the time. Also, many programmers are just "9 to 5"ers who don't
particularly care about new ways of doing things. It's all the
same, as long as they get paid the same. I get the feeling from
reading comp.lang.lisp (and some other language newsgroups) that
not many of us here are that kind of programmer. It's only natural
that we wonder why there are people who laugh or sneer at us, or
just ignore us.

On the other hand, those might not be typical experiences of most
Lisp programmers. I don't know, as most programmers I have contact
with either use C/C++ or Basic. I don't expect them to have a
positive attitude to a language they don't use. Some of them enjoy
a very negative attitude towards certain languages. I _hope_ that's
not typical.

> I've been following Dylan pretty closely for what seems like years
> now.  We'll see.  I think it will have to provide some pretty fancy
> tools and be used to implement some pretty significant applications
> before it gets taken seriously by the software development
> community (this has to include developers, managers, marketing,
> sales, press, educators).

Agreed. It'll be a few years before I'll be able to use it,
never mind commit to using it. Who knows when the Windows
version will be available, and for how much? I'll very keen
to see how it goes, tho.

> >So C/C++ will be around for a few decades after we all "know" that
> >it's dead? ;-)
> 
> How can you think otherwise?  :-)

Well, I'm already starting to use it as the output of other
compilers. That could be a good sign that I'm ready to stop
using a language. ;-)
-- 
"Internet? What's that?" -- Simon "CompuServe" Bates
http://cyber.sfgate.com/examiner/people/surfer.html
