Live data from Hacker News

New case studies about Google’s use of Go

opensource.googleblog.com

51–60 of 269 posts

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

#51

Sure they made Go. But where are the innovations in search and information retrieval? Where are new data products? Sure, they innovated on word embeddings. But If they are going to monopolize and control access to information, why are they doing such a poor job at it? I say this with some anger. This company affects all of us, and they are completely mediocre from a product perspective. I welcome the day when NLP get…

Whatever your opinion of the user-facing features of Google, it is true that you would not have access to most of them if Google didn't have deep skills in large-scale systems programming which allows them to whip up products that nobody else could afford to offer. How do you think they are able to offer infinite jpeg storage to every human, for free?

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

#53
post #4

I tried very hard to bring go into my previous employers environment, but it was all for naught. They are too bought into the JavaScript stack. Case studies like this would have been super helpful in trying to make my claims.

I don't have the details of how you tried to push this, but often cherry-picking evidence to push your choice of language to your team is not a very good way to run your business. I actually generally dislike case studies like these, not because they aren't interesting, but because people use them as things that they can point to whenever they want to push their personal language agenda (I'm looking for a better word…

You are making correct point. Most case studies are kind of lobbying effort to change opinion of decision makers. Sometimes it is done via developers instead of reaching to CIOs directly which Gartner quadrant does.

And I think this is all fine as long as people understand it is just opinion sometime of people who are more accomplished. Arguments occur when someone comes in and tell, how they language/Framework/technology is "objectively" superior other people's working solutions.

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

#54

Earlier quoted context omitted.

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.

See for example Java, which basically dropped the 1. from 1.5 .

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

#55

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?

Go 2 will have generics, https://blog.golang.org/generics-next-step

They will probably be introduced in a 1.x release and the design does not break backward compatibility. "Go 2" is an umbrella term for a couple of bigger features, some already released (e.g. Go modules and error wrapping), not a version number.

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

#56
post #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 r…

I have a love/hate relationship with Rust. I love the type system as enthusiast, but as project lead I can't justify relying on so many (partly immature) third party dependencies for business critical stuff.

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

#57
post #24

Sure they made Go. But where are the innovations in search and information retrieval? Where are new data products? Sure, they innovated on word embeddings. But If they are going to monopolize and control access to information, why are they doing such a poor job at it? I say this with some anger. This company affects all of us, and they are completely mediocre from a product perspective. I welcome the day when NLP get…

Google Translate, for example, is amazing.

Eh. I enjoy the variety of languages of GT, but the quality is (imo) better with DeepL[1], and Yandex Translate[2] has some minor languages of Russia and ex-USSR which either aren't supported by Google or aren't supported on the same level. E.g. Bashkir and Mari. GT is still very impressive, don't get me wrong. But it has some strong competitors.

[1] https://www.deepl.com/translator

[2] https://translate.yandex.com/

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

#58
post #11

Earlier quoted context omitted.

Arguably opinionated formatters like prettier and black are a response to gofmt.

Definitely but what about the impact of go's approach to network concurrency?

asynchrony without async/await

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

#59
post #43

Earlier quoted context omitted.

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…

Go is basically almost as fast as C++.

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

#60
post #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)

Clojure has goroutines on the JVM with core.async, no yield needed :)
Post reply on HN