I feel badly about my tone in my original message, and I apologize. I
will do better.
I feel strongly about this, but I realize that other people will hold
opposing opinions equally strongly.
I also realize that a lot of thought has gone into the design of the
Dart language and that this issue has already probably been discussed
at length by people smarter than me.
I realize that JS is flavor of the decade, but as a programmer there
are a lot of things I dislike about it and I think it needs to be
replaced. So when Google came up with something they want to replace
JS but they kept what I consider to be some of JS' mistakes in order
to keep JS programmers happy, it made me frustrated. I had the same
reaction when Go was released - joy and then horror.
Regarding semicolons - the majority case is single lines of code and
the minority case is line continuations. So it seems logical to me to
use less syntax for the majority case: no syntax for normal line
endings and instead syntax for line continuation. As much as I hate
to hold up VB as an example of something being done right, I think it
has this the right way around.
As for curly brackets, what I mostly object to is having to use them
when my intention is obvious without them. For example in an "if"
statement it's obvious that everything following is inside the "if"
until an "else" or "endif" is encountered. The same thing applies to
loops and other control structures.
So maybe curly brackets could be limited to situations where you can't
do without them, like lambdas, although I'm not certain they're
necessary even there. I hate to hold it up as an example again, but
VB.NET does multi-line lambdas without curly brackets.
In general I consider "it's always been this way" to be a bad reason
to do things. If Dart has its syntax because of JS which has its
syntax because of C, then I worry that when I retire we'll still be
using syntax chosen because of the limitations of compilers written
before I was born.
What I'm trying to express is that it's not impossible if you want to
do it, but if I'm the only one that has an objection then that's fine.
Since there was no great outcry when Go used JS/C-like syntax and
there hasn't been one about Dart, I suppose I don't actually expect it
to change.