4 ms·
- Too many statements instead of expressions. - Lacks structural pattern-matching. - Lacks first-class sum-types (although they can be clumsily encoded as obj
by frou_dh 3y ago
- Too many statements instead of expressions.
- Lacks structural pattern-matching.
- Lacks first-class sum-types (although they can be clumsily encoded as objects with "kind" properties).
- Static type-checking not directly (or at all) contributing to the execution performance of the code. This is particularly egregious with e.g. CPython.
Presence of the first three are the sort of things that people appreciate in Good static languages (as opposed to the status quo static languages you alluded to that Python/Ruby/JS/etc were rebelling against in the 2000s).
The last is the dead giveaway of not utopia but rather a bizarre compromised situation.
- wtetzner 3y agoDepending on who you ask, the fact that the type system is unsound could be considered a form of brokenness.