Programming langauges and such (was: F/OS & the blind)
Ben Scott
dragonhawk at gmail.com
Thu Dec 8 10:54:00 EST 2005
On 12/8/05, Jeff Kinz <jkinz at kinz.org> wrote:
> Humor, nothing more. (And what's funnier than emacs? )
vi!
(Sorry, couldn't resist. ;-) )
>> It's not a "scripting" language, it's a full-fledged programming
>
> Ahem. It was a joke!
It's a rather silly argument in any event, since the set of
programming languages includes the set of scripting languages. I
suspect Paul was really thinking of the age-old "compiled vs
interpreted" distinction.
Of course, said distinction has become rather confused in modern
times, anyway. Consider that modern CPUs almost always do run-time
interpretation to "micro ops", and one could argue that *everything*
is "interpreted" these days.
Perl gets "compiled" into an intermediate form, and that then gets
interpreted. You can also dump said intermediate to a file to skip
that step. Then there's Java, which "compiles" into machine code, but
usually for a machine that originally didn't even exist (although I
understand some have been built!). What makes the Java VM different
from a hardware emulator like Bochs? Does the existence of Bochs make
all i386 programs interpreted? And that brings us back to micro-ops
again.
It isn't 1985 anymore. The old school of dividing everything into
either "source is compiled into native machine code" vs "source is
interpreted at run-time" doesn't really apply. And it wasn't very
interesting even back then. :)
> I felt no need to start lecturing people about first year Computer
> Science nomenclature.
Don't worry, on the Internet, *somebody* always feels like lecturing
on nomenclature! ;-)
> Some things don't need to be examined in detail.
That's crazy talk! ;-)
> What was the machine that the lisp programming model was based on?
> (NO GOOGLE FOR THIS ONE, YOU SHOULD KNOW THIS.)
It was a fairly early IBM with a 3- or 4- digit model number, IIRC.
I think there was a "4" in it. (I ain't a LISP guy.) I do remember
that CAR = Contents of Address Register and CDR = Contents of
Decrement Register. The fundamental concept was to make everything a
linked list (hence the name). The fundamental data structure was a
pair. The first element of every pair (CAR) was a data value. The
second element (CDR) was a pointer to the next element, if any.
Everything (including LISP programs themselves) built from that.
That's about all I know about LISP (other (then (the (parenthesis)))).
> First correct answer posted gets a valuable virtual no-prize.
Useful for Java programmers. ;)
-- Ben
More information about the gnhlug-discuss
mailing list