4 ms·
> Stricter, That's exactly what a helpful language does: (0) Define a region in the design space that contains the program you want. (1) Conveniently tell yo
by catnaroek 10y ago
> Stricter,
That's exactly what a helpful language does:
(0) Define a region in the design space that contains the program you want.
(1) Conveniently tell you when you have accidentally stepped outside of this region.
> more complex.
How are you measuring this? I know of two good measures, and neither favors Go:
(0) The size of a formal semantics. Go's particular feature set suggests looking at Featherweight Java (a subset of pre-generics Java specifically designed to be amenable to formalization), and, well, FJ's ratio of static guarantees to language size is very low compared to most typed lambda calculi (on which ML and Haskell are based).
(1) The number of special cases in the language's design. Here Go fails miserably, due to the sheer number of built-in types and functions that require hardcoded support.