okay, i really feel bad becaue this post is kind of snarky, but there are good reasons for a lot of the things discussed here.
on calling it "scripting":
it's called scripting because it's an interpreted language, not a language that compiles to machine code. technically, it compiles to intermediary bytecode which is JIT compiled by a virtual machine, but essentially this explains the nonclemature. the term "coding" to refer to programming is actually quite new, even newer than referring to programming using scripting languages as "scripting"
on comment syntax:
uhh... double slash would be the industry standard. you know, like in C and Java. using a single apostrophe for comments isn't the standard, it's just a feature of microsoft dialects of BASIC.
but as i read through the rest of this i get a sinking feeling when i come to the next part.
on special characters:
there's a very very good reason for all the brackets and punctuation marks and so forth: they allow whitespace to mean nothing.
say what?
well, let's look at the example of the semicolon.
this block of imaginary code:
doCommand1(parameter, otherParameter);
doCommand2;
doCommand3;
does EXACTLY the same thing as this block of code:
doCommand1(parameter, otherParameter);doCommand2;doCommand3;
so does this block:
doCommand1(
parameter,
otherParameter
);
doCommand2;
doCommand3;
this in itself solves your problem of nicely formatted lists of parameters. looking at the example given of llSetColor, it could just as easily be written as such:
llSetColor(
<r,g,b>,
ALL_SIDES);
or any other arrangement desired.
why does this work? because the compiler ignores spaces, line breaks, tabs, all forms of whitespace and just looks for the special symbols to find where each statement ends.
as for brackets, braces and the lowly parenthesis, it really doesn't matter how many bytes you save as none of them actually make it into the final script running on the server. they're there for human readability and flow control.
and for the record, in most languages that use them, braces are only necessary if you have more than a single conditionally executed statement. i havn't tested it in lsl, but in java for instance you can do the following:
if(variable == value)
{
doSomething();
}
but if you only have a single command to execute, you can just do
if(variable == value)
doSomething();
or even
if(variable==value)doSomething();
in accordance to the whitespace rules. and yes, else still is supported.
as for the vector marks, tell me, without them can you tell me which of these triplets is a vector (which is a single unit with three subcomponents) and which is three seperate values?
a,b,c
d,e,f
no you can't, and neither can a compiler. hence the marks. you could specify in every command that used vectors the precise order of parameters to resolve that ambeguity, but that actually means making the language MORE rule bound and restrictive.
as for ALL_SIDES, you do realize that what you're referencing is a constant with it's own value, right?\
As for rotation commands, the euler commands are simply there so you don't have to learn to use quaternions, the mathematical concept that actually underpins the engine.
i'm sorry, i don't know how to say this, but "smart code" is really stupid. and yes, you can beat basic for simplicity AND ease of use. example: LOGO. example: G (the entirely visual language in LabVIEW) hell, brain____ only has 8 commands and the entire compiler fits in 256 bytes. that's about the simplest language imaginable. the problem? the simpler a language is, the harder it is to actually use to do something useful with it (hence the name brain____)
what i'm seeing here is somebody who's grown up with qbasic and visual basic and has gotten used to them. and don't get me wrong, they're great languages, especially when learning the fundamentals of programming, but they're not necessarily the greatest languages architecturally. overall, LSL is remarkably well designed from both a technical and ease of use perspective. that's not to say that they're perfect, but anyone who's even done first year comp sci can tell you that most of sharpedges suggestions would be huge steps backwards from what we have now.