5 ms·
"vastly friendlier type systems"? The type systems of all of these languages are more "bondage & discipline" than Go's. Stricter, more complex.
by mseepgood 10y ago
"vastly friendlier type systems"? The type systems of all of these languages are more "bondage & discipline" than Go's. Stricter, more complex.
- wyager 10y agoIf they're stricter, it's only because they rule out more kinds of incorrect behavior. Go's type system is actually strict in a useless way, because it doesn't allow you to write correct parametric code (for example, sorting generic slices).
- stcredzero 10y agoIf they're stricter, it's only because they rule out more kinds of incorrect behavior. Sounds pretty bondage & discipline to me.
- wyager 10y agoWell then bust out the gimp suit, because I want my program to run correctly.
- stcredzero 10y agoI think that could also improve morale in your office. Might be worth your while giving it a try!
- 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.