Among other points is the trailing semicolon. If this is so good, then the authors of Go and Swift must be wrong.
Among other points is the trailing semicolon. If this is so good, then the authors of Go and Swift must be wrong.
In functional languages there are some reasonable needs that make not requiring a separator useful. But, it does make the code harder to parse and harder to read. Go, for instance, is not a functional language. Making separators optional (sometimes) seems capricious. But, then, Go is rife with capricious choices.
Yes, for me it does. A large amount of symbols on screen makes my mind drift away and it gets harder to concentrate on the flow and meaning of code. Semicolons or lisp parens are good examples of such visual noise. While productivity decrease is not drastic, it's noticeable. The mind adjusts and this problem diminishes with time and practice of the particular syntax but it's still present.
{} [] () , ; get the same colors as whitespaces (I enable their visibility but make them just a bit brighter as the background)
It may if you have to switch between languages. Getting syntax errors because of dummy separators can be quite frustrating at times. So the choice is mandatory separator or optional separators. I designed a language once in which most punctuation characters where treated as blanks.
https://golang.org/ref/spec#Semicolons
Go uses semicolons, they can be dropped in place of a newline (NB: So instead of a semicolon, a newline becomes the redundancy he speaks of) under specific conditions.
a + b *c - d
is it one or two expressions?
http://www.lua.org/manual/5.3/manual.html#3.3.6
This gets rids of almost all the syntactic ambiguities. The only big one that is left is statements that start with parenthesis.