Not really. <> is unusually pointy among the brackets and comparisons / bitshifts are used in different places than generics are so I've never confused them.
<> is hard to parse for compilers
I guess? Does this meaningfully increase compilation times?
It makes the uses of brackets confusing and inconsistent
No. A language that uses () for parameter lists, literals and indexing is much more mentally taxing to parse
Also dropping here the list of contrarian views op listed in the next article:
Language Design: Popular, but Wrong
static members
properties
<> for generics
[] for arrays
Type ident instead of ident: Type
having if-then-else and switch/case and a ternary operator
having both modifiers and annotations
async/await
separate namespaces for methods and fields
method overloading
namespace declarations doubling as imports
special syntax for casting
using cast syntax for things that are not casts
requiring () for methods without parameters
Yea what is wrong with static members?
What do they even mean with "[] for arrays"? Why is that bad?
Method overloding is bad? why??
If you read more than just the headings, you'd find out that your objections have been addressed in the article. ;-)
I have and they are not addressed, that's why I commented as such. How would I know that one of the reasons you think <> are hard to read is because they are used as comparison and bitshift or that you intended () to be indexing syntactic sugar if I hadn't read them? As for the second, I didn't think how different languages managed to parse them matters as long as it doesn't impact compilation times significantly, hence my comment.
nope
It's a bit of a change but certainly the right thing to do.
My only disagreement with the article is the get/set stuff. I still want to keep something like the old container[index] syntax, maybe container.[index] to indicate that it's a form of access. As long as generics go after names, this would not cause ambiguity.
What's a form of access but a function from some index type to some element type?
What's a struct, but a tuple with some names?
What's computation but state and a transition function between states?
What's computation but a set of functions transformed by simple term rewriting?
Let people enjoy their syntax sugar.
Not really. <> is unusually pointy among the brackets and comparisons / bitshifts are used in different places than generics are so I've never confused them.
I guess? Does this meaningfully increase compilation times?
No. A language that uses () for parameter lists, literals and indexing is much more mentally taxing to parse
Also dropping here the list of contrarian views op listed in the next article:
Yea what is wrong with static members? What do they even mean with "[] for arrays"? Why is that bad? Method overloding is bad? why??
If you read more than just the headings, you'd find out that your objections have been addressed in the article. ;-)
I have and they are not addressed, that's why I commented as such. How would I know that one of the reasons you think <> are hard to read is because they are used as comparison and bitshift or that you intended () to be indexing syntactic sugar if I hadn't read them? As for the second, I didn't think how different languages managed to parse them matters as long as it doesn't impact compilation times significantly, hence my comment.