Pleeeease reconsider this. You may not think it matters but people make terrible language choices every day on such basis.
Pleeeease reconsider this. You may not think it matters but people make terrible language choices every day on such basis.
https://github.com/cell-lang/compiler/blob/master/src/main.c...
There is a opening colon on if/for/while, and a closing semi-colon. This seems the same ergonomically as an open brace and a close brace, and needlessly different.
I can understand leaving off the closing delimiter for a Python-like syntax. But this doesn't seem to be a good compromise.
The language sounds awesome in many other respects, which I have yet to dive into. But yes unfortunately this is the first thing people see.
My philosophy is to have new syntax where there are new semantics, but old syntax for old semantics. And blocks seems like they have no new semantics, so it should just choose C/Java style or Python style.
It reminds me of when Rust was first released, and they used brk for break and cnt for continue. That was just silly, because they mean exactly the same things as they do in every other common language, with a needless syntactic difference. People program in more than one language simultaneously, and all these differences add up.
+1 for this.
I must add that Haskell somehow manages to combine both, so you can use braces if needed, but normally people use indents, and neither leads to syntactic uncertainties.