[Lvlug] Re: Lisp (was Re: [Nj-linux-consultants] Musings)
faber at linuxnj.com
Fri Jun 11 13:48:29 EDT 2004
On Fri, Jun 11, 2004 at 10:57:14AM -0400, Ruth A. Kramer wrote:
> Faber Fedor wrote:
> > Same here. I understand that you can "get it" in one day of
> > programming. I just have to find a day to set aside and just program.
> Probably, I meant to do that recently, then found that Lisp was not
> installed on my machine (Knoppix) and went looking for an apt package.
> Couldn't find one, then realized that I should probably look for a
> dialect (like scheme??) but didn't find that either. (I realize I
> should find something usable in Debian unstable, any recommendations on
> the package (or dialect) to look for?)
IIRC, Scheme is the dialect you want. Common List is okay as well.
> > > Anyway, I now at least see that Lisp has many (if not all) of the common
> > > programming language elements (like if then else blocks, etc.)
> > Actually, it's the other way around. Other languages are picking up
> > what Lisp has been doing for years.
> I'm quite sure that Algol (the first language I learned) came before
> Lisp -- over the years I've watched (especially Fortran) pick up the
> features of Algol to create Fortran 2, 4, 5, etc. (Algol had blocks and
> things like if then else (and a caselike thing, iirc) before Fortran and
> is an ancestor of many modern programming languages.)
It's my understanding that computer languages breakdown into two
different families. The starting language of each family was Algol and
Lisp. All of the languages we're familir with (the procedural languages
like C, Fortran, Perl, etc. and extending to the OO languages) are
descended from Algol.
> > I noticed that immediately with
> > python in constructs like
> > x,y = foobar()
> Darn, now I'll have to go figure out what that means.
In the Algol type languages, you can only return one thing, and many
times it's a simple data type. The above example shows how you can
return TWO pieces of data from a function. (Technically, you're passing
back one tuple and putting it into two variables). This first showed up
in Lisp 50 some years ago.
Linux New Jersey: Open Source Solutions for New Jersey
More information about the Lvlug