lilypond-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Roadmap to lily code


From: Trevor Bača
Subject: Re: Roadmap to lily code
Date: Sun, 1 Jan 2006 14:16:43 -0600

On 1/1/06, Paul Scott <address@hidden> wrote:
> Han-Wen Nienhuys wrote:
>
> > Art Hixson wrote:
> >
> >> Over the years I've written hundreds of thousands of lines of
> >> Fortran, Cobol, assembly for a variety of machines, Forth, Rexx,
> >> Modula, Python.  While Modula is syntactically perfect and Python, as
> >> its descendant, is pretty nearly so, they still have a rather old
> >> fashioned feel and while useful aren't particularly interesting.
> >
> >
> > That's an interesting observation, given that LISP is probably older
> > than all of the languages you mention :)
>
> Fortran was invented in 1954.  The implementation of LISP began in Fall
> 1958.

I'm sure this will send this thread way off topic, but what a better
way to ring in the new year, right? ...

I programmed in C professionally for years before I realized what a
hideous the language was for anything I really wanted to do at home
(compose, mostly). I just never questioned the choice; in high school
we were taught first Pascal, then C, and then later Java. In fact, I
distinctly remember being told as a 15 year-old kid that,
essentially, "interpreted languages are too slow (or even too
simple-minded) to be of any use to anyone other than academics; *real*
code gets written in a *real* language, which means there's a compiler
back there somewhere."

I'm not making any of this up; I'm repeating from high school computer
sciences almost verbatim ... and since I frankly wasn't very
interested in my computer science classes at the time (and certainly
didn't see myself working in tech later in life) I accepted blindly.
And so did almost everybody else.

Well time passes, and eventually I started slowly making the switch to
interpreted, *functional* langauges ... python first, then
Mathematica's core language, and Scheme (partially because of Lily, of
course). And I've never been more productive in front of a computer.
For loops suck; counter variables suck; temporary variable suck; none
of those things are necessary ... at least for me in the way that I
like to think about symbolic expressions and symbolic transformations.
That's what mappings and some version of lambda are for. I know not
everyone agrees, of course, (which is why python has list
comprehensions, map ( ) *and* for loops), but the switch to an
interpreted-functional paradigm has been a major enabler for me, and I
wish more programmers in the humanities out there --- even beginning
programmers -- knew this.

All of which brings up the following point: if, as Han-Wen (and
others) have pointed out a number of times on the list, LISP was
around almost from the beginning, then why was it that so much of the
world's computing infrastructure got built in Fortran, Cobol and C and
that, later, sitting in computer science classrooms in the 1990s I
(and probably a whole generation of other American high school
students ... dunno about Europe or Canada or Japan) was lead directly
away from the functional-interpreted paradigm and directly towards the
compiled, C paradigm?

One answer must have to do with our teachers: they knew Pascal and C
but they didn't know Scheme, Haskell or ML as anything other than an
academic curiosity. And another answer is probably the reputation that
interpreted languages had (still have?) for being slow.And almost
certainly, still another answer is the fact that UNIX "won" at a very
early ... and C was most definitely more "the language of UNIX" than
was any LISP variant.

But whatever the reasons, I'm genuinely disappointed that compiled
languages have held the position they've held in at least my
experience with the teaching of languages in high school and
undergrad. It seems like somewhere along the line someone might try
saying to our students "if you're planning on doing anything symbolic,
might I suggest that you look towards LISP.".

</off topic>

;-)




--
Trevor Bača
address@hidden

reply via email to

[Prev in Thread] Current Thread [Next in Thread]