4 ms·
Extremely weird take! While there are a variety of static type systems (enough that it might even form a kind of cluster concept) they all share a pretty recogn
by nathan_compton 4y ago
Extremely weird take! While there are a variety of static type systems (enough that it might even form a kind of cluster concept) they all share a pretty recognizable character: a statically typed language has a phase _before_ execution which enforces certain invariants (beyond syntax) on the behavior of the code related to what operations can be performed on what objects. Unquestionably this involves some trade offs, but to suggest that its purely a marketing term is truly bizarre.
- Joker_vD 4y agoThere is even an established term for that, "phase distinction".
- zozbot234 4y agoStatic typing need not involve a phase distinction. It does not in dependently-typed languages, though you can always reintroduce one via some kind of program extraction.
- c-cube 4y agoMoreover, static typing means that every expression has a well defined type (checked or inferred statically, as the name suggests). Dynamic typing means that only values, ie the result of evaluating expressions, have types in any meaningful way. It's as far as a marketing gimmick as it comes, and there's literally a whole academic field in CS dedicated to it.