Comment Re:And replace them with what? (Score 1) 27
For one, get away from C-based syntax, at least the ugly parts. Second, don't overload "+" for both concatenation and math (Js); that was bigly stupid. Third, give us optional named parameters. Anonymous objects are not a good substitute. Fourth, clean up name-space management instead of using a hacked-on "fix".
Example function declaration:
func myFunc(aa, bb:int, cc:num.required, dd:required, ee:int=7) {...}
This example is "semi-typed" as "aa" doesn't require a type (is not validated). "dd" doesn't require a type but can't be white-space-only or null. "ee" is initialized with "7" if not passed in a call or is blank/null.
I've yet to find a newer language that has all the features listed.