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