Reinhold Kainhofer <reinh...@fam.tuwien.ac.at> 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 _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel