lilypond-user
[Top][All Lists]
Advanced

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

Re: Scheme syntax vs. other languages [was: Re: Appreciation / Financial


From: David Kastrup
Subject: Re: Scheme syntax vs. other languages [was: Re: Appreciation / Financial support]
Date: Sun, 10 Jun 2012 11:58:01 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.1.50 (gnu/linux)

Henning Hraban Ramm <address@hidden> writes:

> Please. Stop.
>
> This discussion is going nowhere.
> And David can use his badly-paid time better for enhancing LilyPond
> than for discussing ideal worlds that never will happen.

Actually, I am not as much discussing ideal worlds rather than the
misconception that switching languages is all that it takes to arrive at
them.  Instead, we need a good system architecture.  If you take a look
at "real" architecture, it is obvious that you can't build skyscrapers
like sandcastles.  If you talk with hut builders, you'll find that straw
and loam make for much better building material than sand.

And yet you'll find a conspicuous absence of straw in skyscrapers, while
sizeable amounts of sand can be found in their concrete.

The architecture of LilyPond needs work to become more user-accessible.
No question about that.  But switching languages will not do wonders for
that.  Like sand, I consider Scheme as "solid enough" and "flexible
enough" when used right.

> Whoever believes to know better than our currently most active
> programmer should come up with some useful code.

If I were to rewrite LilyPond from scratch, I don't know what I would
pick.  Scheme and in particular Guile have advantages and disadvantages.
I am currently looking at Goops, an object-oriented layer on top of
Scheme.  It introduces a different style of data structures and thinking
about them, but yet is very much in the Scheme spirit.

One of the problem of Scheme (and also Goops) is that it offers a lot of
raw power, but that there is not really much like a "standard coding
style" when going to more complex tasks.  And "you can invent anything
you like" is much more strenuous for people than "you have established
idioms for about anything you like".  I am still working on figuring out
a lot of "how do you do X if you are a genius" questions since answering
them is a prerequisite to creating answers to the question "how can you
hope to do X if you are not a genius".

There are pieces written not for, but against the violin.  I admire the
Bach violin partitas and sonatas because they are the opposite: they are
really hard stuff, but the toughness is not self-serving.  You have
large passages where it is not necessary to insert any fingering
instructions, because there is just one fingering that actually makes
sense.  I have little doubt that Bach would have been a good programmer.
The stuff he wrote makes sense, and actually a lot of it still makes
sense when played on a different instrument.  It's astonishing how well
some of the violin solo pieces transfer to lute or guitar.

In some manner, the discussion about the optimal programming language is
comparable to a discussion about the optimal music instrument.

-- 
David Kastrup




reply via email to

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