lilypond-devel
[Top][All Lists]
Advanced

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

Re: Substitute for s1*0


From: James
Subject: Re: Substitute for s1*0
Date: Tue, 8 May 2012 21:48:26 +0100

Hello,

On 7 May 2012 22:28, David Kastrup <address@hidden> wrote:
> Pavel Roskin <address@hidden> writes:
>
>> On Sun, 06 May 2012 10:34:24 +0200
>> David Kastrup <address@hidden> wrote:
>>
>>> Quick: tell me what you would expect without too much thinking
>>> (imagine you are a naive user) from the following:
>>>
>>> \new Staff <<
>>>   \relative c'' { c4 d e f s1*0-\markup Oops c d e f g1 } \\
>>
>> A spacer 1 unit wide and 0 units high.
>>
>>>   \relative c' { c4 d e f <>-\markup Wow c d e f g1 }
>>
>> A rhombus.
>>
>> I'm fine with whatever works for now, but please keep in mind that
>> Lilypond it written not just for programmers.
>
> I have not yet seen a proposal that would be more suitable for
> non-programmers.  The counterproposal from the "don't let programmers
> take over" is not to let users know about the ready availability of this
> construct.  I consider that inappropriate.

@David

It is and I don't think anyone has said that; you might have inferred
that - and perhaps that is the strawman that was being bandied about.
However you obviously have taken this much more personally than you
should have. I am sorry for that. That was not my intention.

@Others

It isn't about that s1*0 isn't ugly (it is), but <> is also ugly - to
a casual user - someone like me doesn't look at that and think 'ooo I
can see the internal workings of how that would make sense' like M.
Sceaux et al. All I (and so most other users will see) is some other
cryptic syntax. The justification has so far been this

1. Some programmers like it because it does something inside the code
that I have no idea about and therefore makes some other functions
easy to do and its a wonderful idea. It doesn't appear to me to mean
that suddenly lots of our \markup bugs or \markup limitations will be
fixed (please correct me if I am wrong).

2. If we re-document this ugly-and-cryptic syntax with another
ugly-cryptic symbol things are better and a big light bulb will go on
in my (casual user) head as I see how suddenly my LilyPond coding is
now going go be so much easier.

It feels like it is being forced by developers for no other reason
than it suits those developers only. That is what galls.

This is exactly what I went through with the vertical spacing changes
(I've already mentioned this) because a small group of people
understood what the hell a non-staff-staff-affinity is (for example)
and because us non developers - I'm trying very hard not to use words
like 'lesser' or 'pleb' - cannot say 'hang on a minute I don't
understand this, it makes no sense, what does this mean in English?
and then get bashed down just because we (lesser mortals) cannot then
come up with an alternative solution. That's a silly stance to take
and it annoyed me then and it's annoying me now. Everyone got caught
up with how clever it all was without thinking, how someone who didn't
even know the different between a staff, a system and a line of music
would understand those silly function names.

I used to think things like GOP and GLISS was excessive bureaucracy,
but after the vertical spacing changes and now this, I can see why
they do work and I don't envy Graham stepping up to do that. It gives
more of us a bit of voice.

Of course I want LP to be better and smoother and neater and all those
other .*er positive adjectives, I wouldn't spend the hours of time on
it that I do if I didn't. Unfortunately I don't have the chops to
contribute Scheme or C++, so if that means 'put up or shut up' then
fine, I'm not going to throw my toys out, but have the balls to say
it.

But it isn't about me it's about all those other users that have to
scratch their heads or those new users that look at the syntax and
think WTF? forget that.

You want an example that is better for non-programmers, that is easy

Off the top of my head with no thought:

a\sharp b\flat c\beginSlur\beginCresc d e f\endSlur\forte

@sharp{a} @flat{b} @address@hidden d e address@hidden@forte

and (before) anyone starts about 'well how would you do ....' or start
to explain how you cannot '...parse the lexer up to an alist in the
top-level lambda function blah..' misses the point that that it is
*very easy* to come up with a syntax for non-programmers.

How you program a syntax like that is, I accept a very different beast
and would it really stand the test of time? who knows. Tex hasn't done
too bad has it? I barely know it but can easily understand the syntax
of a non-compiled file. The jokes about Haskel and Perl might be funny
to programmers but there is more than an uncomfortable grain of truth
in the sarcasm.

I'm not of course advocating redesigning the syntax, but what I am
saying is that if you actually give proper justification and
*explanation* why another 'cryptic' syntax better then there is no
problem and you can bring people along with you, even if they still
disagree:

Case in point: The new G Clef redesign last year? I disliked it (still
do), but understood the arguments, we had lots of examples, pngs,
comparative screen shots and I even had personal emails from some of
the devs explaining why it was better and instruction on how to revert
and build my own version if I wanted to use the old clef - I still
disagreed that it looks better but I appreciated the gesture. So I am
more than used to being in the minority.

Here there has been no discussion at all. It's been 'stomp stomp
stomp', right now lets get down and put it in the code.

Now David thinks he is the focus of ire and has lost necessary sleep
over it. That is unfortunate (and wrong).

James



reply via email to

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