Re:Interview with Go’s Russ Cox and Sameer Ajmani
by Jweb_Guru on Thursday March 26, 2015 @02:07PM
(#9271816)
I don't think Go's developers are aware of "most" research in PL design. But that's true of most languages, really, there are a billion papers to read. I think people are frustrated by what research they chose to ignore, though... anyway, saying that OCaml and C++ are the only major languages to support structural typing is a bit silly, since a lot of other languages that are probably more popular than OCaml have it (like F# and Scala). And Go's variant of structural typing is pretty limited.
Since this is Hacker News, it's very likely that you are typing this on a machine running either an OS that is directly based on 60/70ies OS design (Linux) or a dead-end in 80ies microkernel research (Mach). Still, Unix powers a large number of devices and is popular among hackers. Unices may be less principled than their later peers, but people appreciate the trade-off between architectural principles (composability, everything is a file) and pragmatism in the form of 'worse is better'.
Go's developers are probably aware of most research in PL design. Go supports structural typing after all (OCaml and C++ via templates being the only other major languages to support it), and has CSP (yes, I know that's 78-85 research). But besides that, in line with its UNIX/C/Plan 9 heritage, Go is relentlessly pragmatic, choosing simplicity over abstraction power.
Evidently, Go has hit a sweet spot for many people, because Go already has big success stories (from Docker to Juju), which is impressive given it's short lifespan.