BTW -- speaking as someone who first learned to program in a dynamically typed language and only later saw the beauty of static typing, I would strongly debate the idea that type inference everywhere is a good thing. The benefit of strict static typing is not so much that it allows a compiler to produce fast code -- there are lots of ways to achieve that. The benefit is that by forcing the programmer to type out the type signatures of functions in advance, you force a level of thought clarity and appreciation for the way that different pieces of code have to pass off data or state to other parts. I find it leads to better software not because of the compiler (although a compiler catching your mistakes is great for productivity), but because it makes you think much more clearly.
It's sort of like the habit of writing down your moves in chess. The benefit is that it creates a ritual of thought and reflection, and potentially makes you more careful.
These days, I see code with enforced type declarations and typed signatures as so much more elegant than similar code that, while having fewer characters, conveys significantly less about the programming intention. Those extra characters for type info are not clutter, not by a long shot.
I will keep an eye on it and wish it the best, but I feel like Nim is still my go to (pun not intended) for "C speeds but not C level"
> Ritchie is whitespace sensitive
As I thought. No thanks.
+ Python + Haskell + Javascript + Go + Ruby + Bash
Anything else I'm missing? Whitespace is useful. Figure out how to view it in your editor and move on already. This is so far beyond bike-shedding it's just a depressing comment on how much programmers obsess on syntax.
Language design decisions do matter. "Figure out how to view it in your editor" doesn't do one lick to address the problems of semantic indentation.
Have you never looked at a diff? Massive whitespace changes hide real changes. Next someone will say "Git has a -w option". To which I say "A diff without whitespace changes in those languages would be useless". I can't test it, apply it, or otherwise use it without re-indenting the source myself.
Also C++, C99, and Java if you count // comments.
Put me in the "if that makes a difference in your code, you're doing it wrong" camp (and yes, I recognize that not everyone agrees, and that argument has already been had too many times).
The beauty of Python meets the power of C.
I do hope this project lives long and is not abandoned beyond the students final years at college.