lilypond-devel
[Top][All Lists]
Advanced

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

Re: Naming _another_ lacking puzzle piece


From: David Kastrup
Subject: Re: Naming _another_ lacking puzzle piece
Date: Sun, 14 Oct 2012 08:55:40 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.2.50 (gnu/linux)

Reinhold Kainhofer <address@hidden> writes:

> On 2012-10-13 23:29, David Kastrup wrote:
>>> >If you are referring to Werner's and Reinhold's comments, I think you
>>> >may not be reading them as the authors intended. In particular, I
>>> >believe that Reinhold was merely objecting to the names "push" and
>>> >"pop" as being opaque to non-programmers,
>>      To me it is not only this inconsitency, but rather that the names
>>      push/pop come from programming languages and concepts.
>>      Lately, I have seen many suggestions that would turn lilypond more
>>                                                                   ^^^^^
>>      into a programming language and away from being a description of
>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>>      music. Now, while lilypond really is a programming language, in the
>>      past we have tried to hide the concepts (e.g. queue theory) from the
>>      user, with more or less success.
>>
>>      David's attempts to get rid of the #' in propery names is a great step
>>      in this direction, but using push/pop would be a huge step in the
>>      wrong direction, IMO.
>
>
> Sorry, maybe I wasn't clear enough in that last sentence. It would
> have been clearer if I wrote
>  ... but using the names "push" and "pop" ...

Well, that is the kind of distinction that just flies over my head
without me even noticing: I read code in C, assembly language, Scheme or
whatever, and what I read is the story happening in storage and
registers, not the names used to express them.

The idea that calling commands differently will magically make the
underlying concepts disappear is completely alien to me.

I don't see "programmers will know what this means" as an inherent
disadvantage: at least somebody gets a headstart.  However, "programmers
will think they know what this means" _might_ be a disadvantage.

The push/pop naming suffers from the problem that the most basic use of
\push does not actually combine it with \pop, but rather with \revert,
similar to how \once is much more commonly employed on single explicit
\override s rather than on more complex things like \voiceOne.

> The thing about programming languages was intended to give a larger
> picture why I don't like pure programming concepts introduced to
> lilypond users, and using the names "push" and "pop" introduces stack
> concepts to the users, rather than providing a user-friendly
> (i.e. musician-friendly, not programmer-friendly) high-level API to
> the users.

I am rather skeptical that the naming scheme will be the saving grace
here.  One will rather need to structure the documentation so that the
distinction between advanced concepts (and how to deal with them) and
those concepts that are required for even basic use is packaged well.

-- 
David Kastrup




reply via email to

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