Live data from Hacker News

New case studies about Google’s use of Go

opensource.googleblog.com

41–50 of 269 posts

Re: New case studies about Google’s use of Go

#41

Earlier quoted context omitted.

> And its only version 1.XX. Are there plans for a new version that is radically different, or is it going to be like Java or macOS where updates continue to change what is usually considered the minor version?

No idea, but I think it is impressive that a language that is still on "version 1.XX" has been so successful so far.

Version numbers are fairly arbitrary. I use a lot of 0.x software that is basically run as a production release.

Re: New case studies about Google’s use of Go

#42

I see why go is clearly superior to C++. I see why it's simplicity is great for bringing new people up to speed. I see why it's concurrency model is better than many other languages. And I really like their software engineering philosophy. Go seems clearly one of the if not the best systems language around. But how is Go in the line of business web application space? The space that's historically been dominated by yo…

I think you might have bad information. Go is not a systems programming language. You may be thinking of Rust? Go and C++ serve very different needs.

Re: New case studies about Google’s use of Go

#43

Earlier quoted context omitted.

> I see why go is clearly superior to C++. You shouldn't. If anything you should be looking into where C++ does better than Go and see if Go is improving there–and understanding that there will always be places where Go is not the best choice or even appropriate.

I'm sure Go is not better for every single use case. But it seems to be there were a lot of high performance systems that would have been written in C++, like InfluxDb for example that are clearly more reliable and easier to develop because it was written in Go. Where do you think C++ outshines Go?

I think that's an example of a system where the performance demands weren't high enough to justify using C++. There are lots and lots of applications where the overall architecture can't take advantage of the speed of C++, but I think there's no question that the peak performance of C++ far outshines the abilities of Go.

Taking an example from the article, parts of Google's indexing pipeline are now in Go, but nobody is suggesting that the search engine would be.

Re: New case studies about Google’s use of Go

#44

Earlier quoted context omitted.

> And its only version 1.XX. Are there plans for a new version that is radically different, or is it going to be like Java or macOS where updates continue to change what is usually considered the minor version?

No idea, but I think it is impressive that a language that is still on "version 1.XX" has been so successful so far.

It's success is in part because of that, not despite it. Contrast with Python3, which alienated masses of users by making breaking language changes.

Re: New case studies about Google’s use of Go

#45

Important point: this is Google's use of Go, not your use of Go. Take note to check whether their results are applicable to you before adding it to your repertoire of "reasons we should use Go at our company".

https://go.dev/solutions#case-studies

Link from the article

Honestly, it's not breaking news that Go is used heavily outside Google.

Re: New case studies about Google’s use of Go

#46
post #29

Earlier quoted context omitted.

Are you looking at the right page? The first three companies I see there are American Express, Capital One and Cloudflare on the list they link to: https://go.dev/solutions/#case-studies

I’m looking at the pages linked from https://opensource.googleblog.com/2020/08/new-case-studies-a... , which seems to be about Google’s use of Go.

> In the past year, we’ve posted sixteen case studies from end users around the world talking about how they use Go to build fast, reliable, and efficient software at scale.

Click on the link about the "sixteen case studies" and you'll see the rest.

Re: New case studies about Google’s use of Go

#47

Earlier quoted context omitted.

It's funny, if you'd asked me almost a decade ago which language would compete with Go, I would not have answered "JavaScript"! Yet, these days I find that's the trade-off: build something "quick" in TypeScript that's easy to modify but perhaps a bit brittle and slow(er) to run in production, vs build something very considerate and optimized in Go but perhaps not something you can easily change without hiring folks s…

I mean, it's hard to see Go as "very considerate and optimized" given the existence of modern, highly-efficient programming languages like Rust, D, perhaps Swift etc. It's obviously better optimized than JavaScript and its derivatives, or even Java/C#, but that's not saying much.

Go is pretty well optimized, for a garbage collected language, though of course it doesn't match up to a language without garbage collection. But much investment has been made in fast compile time and runtime simplicity, at the expense of some remaining potential performance gains.

While Java is generally slow, that's more the fault of Java developers and their FooDangleProviderModuleBuilderBuilderFactories. Due to runtime optimization Java can be nearly as performant as non-GC languages. In principle there are even scenarios where it can exceed the performance of any ahead of time compiled language.

Re: New case studies about Google’s use of Go

#48
post #5

> Looking back from 2020, Go has succeeded in both ways: it is widely used both inside and outside Google, and its approaches to network concurrency and software engineering have had a noticeable effect on other languages and their tools. Don’t know much about go myself, but I’m interested in examples of this.

Green threads without explicit language syntax for yielding - called goroutines influenced similar features in Kotlin. Unfortunately Kotlin is bound to working inside JVM and had to introduce “suspend” keyword.

This is a friendlier world to work in than explicit green threads using keywords like async/await in other languages (Dart, Rust, JS)

Re: New case studies about Google’s use of Go

#49

Earlier quoted context omitted.

> And its only version 1.XX. Are there plans for a new version that is radically different, or is it going to be like Java or macOS where updates continue to change what is usually considered the minor version?

No idea, but I think it is impressive that a language that is still on "version 1.XX" has been so successful so far.

A project can use version numbers 1 ... 9999999 or version numbers 1.0 ... 1.9999999. The amount of work that goes into it is the same.

Re: New case studies about Google’s use of Go

#50
I absolutely love using Go. The logical flows for my programs are always so clean and easy to follow thanks to the language. Contrast to C++ in which spaghetti and magic is basically idiomatic. The only downside I can think of is that error/crash recovery is pretty tricky, but it's only really a concern if you're careless with your goroutines.

Whenever I work in Go, I have a lot more confidence in the efficiency of resource usage, and sense of stability that I just don't get from something like Node.js, where I'm constantly wondering... are any of these 1000s of dependencies going to suddenly do something weird like hijack my .env file? How is my program managing memory and overhead when it needs to interface with the kernel via a C++ wrapper? Are these machine resources even being capitalized on by Node.js properly? etc.

I've heard a lot of great things about Rust, and I've touched on it a bit, but Go is just awesome for its abstractions, ease-of-use, and of course insanely fast compile times.

Post reply on HN