5 ms·
I don't think the backing of Go is even comparable to Java. Also Dart is a counterexample. I think the biggest reason for Go's success is that is it incredibl
by dgb23 7y ago
I don't think the backing of Go is even comparable to Java.
Also Dart is a counterexample.
I think the biggest reason for Go's success is that is it incredibly accessible. Everything around and in Go is ergonomic, well documented, easy to understand and clean. It is a language that cares about the tooling and social aspects as first class concepts.
- Quekid5 7y ago> Also Dart is a counterexample. I think OP might have meant that big backing is a necessary condition, not necessarily a sufficient one.
- jes5199 7y agoif it cares so much about the tooling and social aspects, why doesn't it have a proper package manager?
- blablabla123 7y agoWith Go 1 there was of course go get. With this it became a no-brainer to install code from arbitrary Github repositories. At least the social barrier is really high to properly put in a package at npm or PyPi. But they kind of democratized that. Also when Go was quite new, many projects had no dependencies or at best a handful. I think that was a learning from other languages with large package repositories, namely Rubygems. People would create gems put them on Github and Rubygems with useful functionalities but abandon them after a few months. So many larger code bases were sometimes rendered unusable because the package became incompatible with new language releases or did even get removed from Rubygems. Nowadays, since Go has risen so much in popularity and adopted habits from other Programming ecosystems, there are now Go modules which are on par or even better than solutions from other languages.
- majewsky 7y ago> why doesn't it have a proper package manager? You should have a look at the release notes of the last three Go releases.
- jes5199 7y agoI'm not going to do that because I don't think Go is a good language and I have no interest in its ecosystem. I'm just here to give people a hard time.
- pmoriarty 7y ago"I think the biggest reason for Go's success is that is it incredibly accessible. Everything around and in Go is ergonomic, well documented, easy to understand and clean. It is a language that cares about the tooling and social aspects as first class concepts." And most programmers probably wouldn't even know about it having any of those features if it didn't have a famous backer like Google and a famous name like Rob Pike attached to it. Marketing definitely makes a difference. Whether it made a critical difference in this case is certainly debatable, however, as some languages (like Python) succeeded even before they had buy-in and support from big names. Though, there again, Python had a lot of help from marketing.. it was just that it was marketing of a different kind, from its users rather from any company backing it.
- bch 7y ago> Python had a lot of help from marketing.. it was just that it was marketing of a different kind, from its users [...] Perl, Tcl, Python (all scripting, I know) are (iiuc) examples that came to be without a juggernaut behind them, but then to say they had a different kind of marketing behind them is sort of tautological, no? People liked those languages and talked about it. That’s just human nature.
- pmoriarty 7y agoWhen mention the effect of marketing by users, I mean to distinguish that from choosing a language based on its technical merits. There's a certain amount of buzz and bandwagon effect that plays in to the success of popular languages, and, yes, languages like Perl, Tcl, and Python had it too. That's a different sort of marketing, though, from the buzz created by having famous/respected names attached to the languges, like Go had in Google and Rob Pike.
- deleted 7y ago[deleted]
- pjmlp 7y ago- Perl, Active State and was a standard language in most UNIXes - Tcl, was backed by Active State and Sun for a long time - Python, all the renowned companies Guido worked for
- skohan 7y agoI think there are a number of factors, but my personal recollection was that Google had a bit more of a magical air about them when Go was released. As an outsider, at the time it seemed like Google could do no wrong, and of course we should all pay attention to this programming language they invented.
- jacques_chester 7y agoPlus it was described as a language to solve Google problems. And we all wanted to be like Google. In fairness there is a category of systems for which it was about the least-worst fit at the time: distributed concurrent systems where a JVM was unwelcome. Pascal and its progeny were seen as passé, C/C++'s deficiencies well-known by this point, the scripting languages woefully underperformant, the JVM was the punchline of many jokes despite being a phenomenal engineering achievement, D still mired in some kind of civil war over standard libraries and I imagine thousands of other contenders for an undiscovered throne. But without Google? Pike? There's no chance any of this would've mattered enough.
- Quekid5 7y agoI think you're exactly right about the "category of systems" thing. If you're "just"[0] moving protobufs across networks, then Go seems like a perfect langauge, esp. if you can just codegen the protobuf code. There's obviously more to it, but that seems to have to been the spark. To be fair, Go does does seem to work quite well for infrastructure code, but in those use cases you're usually just working with very concrete things and are not super-worried about abstracting over "effects" and that sort of thing... because it's all effects and everything is extremely concrete if you're interacting with e.g. the Linux 'container' infrastructure. [0] Of course, it's never "just".
- jacques_chester 7y ago> Also Dart is a counterexample. Or Self at Microsystems. Or Dylan at Apple. Every sufficiently large and profitable technology company eventually sprouts compiler projects. It's as if they hire from an academic pipeline where compilers are a capstone project. There are now thousands of artificial languages. The sample size for "languages that succeeded and originally came out of Google" may be tiny, but the effect size is pretty bloody spectacular. Considering that the null hypothesis for all programming languages is be swallowed up by a memoryless void, I'm prepared to wager heavily that without the Google halo, Golang would've been no more influential than Newsqueak, Alef or Limbo were.
- coldtea 7y ago>I don't think the backing of Go is even comparable to Java. No, but it's larger than most independent contender languages (D, Crystal, Pony, Ziq, Nim, and tons of others).
- pjmlp 7y agoDart is not really a counterexample. Dart was abandoned by Chrome and Angular teams, it almost closed down if it wasn't for AdWords team being so heavily invested into Dart that they kind of rescued the project. Many Google projects that could benefit from Dart ended up migrating to TypeScript instead, oh and all original Dart designers ended up leaving Google. Naturally in such scenario there is hardly any external confidence to believe in Dart. Then Flutter came along, decided to pick up Dart from its burning ashes, reboot the type system and add AOT compilation to native code, but the damage to its public image is already done. However it managed to annoy the Android team enough that now JetPack Compose is a thing.