On Wed, 23 Jan 2019 14:37:30 +0000, Bienlein wrote: > This is all true, but you need to keep in mind that Go had no real > package manager for a long time. There was the "go get" command which > loaded the code from some github repo in the state it was at the time > when being loaded. There was no version control. Nobody really cared > (the vendor stuff in Go was added with Go 1.10 or 1.11). Goroutines were > the killer feature of the language that paved the way, because this was > badly needed for writing server-side software.
Go has several killer features: * It's got a GC and yet is endorsed by one of the major people behind C. This helps people get over their fear of garbage collection and into appreciating the benefits. * It's also got "pointers". They're actually references with pointer-ish syntax, but that makes people coming from C/C++ more comfortable. * It's not Java, and it's not slower than Java. * There was a team in Google that would rewrite old, crufty C++ code in Go. Was Go a benefit? Maybe in some ways, but the major benefit was a rewrite that the owning team didn't have to do. That earned goodwill among thousands of developers attached to Go as a language. * It's backed by Google (in large part because of that goodwill). I don't think fibers are all that important for Go's success. Maybe for people who would have looked at node.js but didn't want to use javascript?