|
On Feb 12, 2013, at 8:37 AM, Michael Richter <ttmrichter@gmail.com> wrote:
Unlike you, I'm not perfect, and neither are my users! Lua's utility as a configuration language makes syntax an end-user feature. I have to consider the demographics of who will be scripting my application: hobbyists who will at most have experience with C-like syntax and behavior. This doesn't necessarily mean "Yet Another Curly Brace Language" (doesn't Lua count?). Python and Ruby use C's inequality operator. Some syntax has become a convention across a spectrum of programming languages that otherwise aren't C-like. Another example of syntax affecting users would be the comma used to separate elements in table declaration syntax. Tables are used for data description in my application. If the comma separator between elements was optional, it would make for a simpler data description language. See this contrived example: local thing = { name = "Thing" description = "This sure is a thing" height = 7 attributes = { hitPoints = 200 magicPoints = 50 armor = 15 } } The point of all this is that if users are annoyed with a particular aspect of the language, they're annoyed with my application, so I have an incentive to address it, perhaps by editing Lua's source or considering alternative languages. In other words, because the language is exposed to users, its syntax is a part of my application's user interface. This isn't to say that the inequality operator is a high priority issue. I just wanted to respond to the general idea that Lua's syntax is a solved problem and that it's not important. I think it's even more important because the language is exposed to users. There is always a degree to which such discussion can be taken too far, but I don't think it's a convincing argument to dismiss all discussion because Lua has always done things a certain way. As a matter of fact, Lua's syntax is one of the most common complaints about it. Preston |