Live data from Hacker News

Rob Pike interview

evrone.com

241–250 of 273 posts

Re: Rob Pike interview

#241
post #162
post #45

Earlier quoted context omitted.

How hard are you looking? Facebook, Dropbox, Uber, Apple and literally thousands of other companies, big and small, use Go.

And those companies generally use C++, Java, etc. in a much larger capacity.

This not true for new companies, for example, Dropbox and Uber.

Re: Rob Pike interview

#242
post #187
post #185

Earlier quoted context omitted.

Uber has primarily been a Go shop for over 2 years now.

Sounds like they are driven by what's fashionable. They were very aggressive about node.js to the point that they refused anything that was't in node.js) before that.

until they used Go.

Re: Rob Pike interview

#243
post #228

Earlier quoted context omitted.

DropBox: https://news.ycombinator.com/item?id=11284051 Their switch from Python to Go was pretty well documented on their engineering blog, but I can't find it, other than comments on HN like the one above.

They are also using Rust nowadays. Just like they use JavaScript, Swift, Java and Kotlin for mobile development.

Go is the main language in Uber.

Re: Rob Pike interview

#244
post #229
post #27

Earlier quoted context omitted.

I disagree. I've noticed that a lot of infra tools that would have been written in Python 5 years ago are now in Go. I know Docker is written in Go, and I believe the Kubernetes ecosystem uses it heavily, so those are compelling evidence for Pike's argument by themselves.

Kubernetes was prototyped in Java and it isn't as if the Go rewrite was without pain. "The clusterfuck hidden in the Kubernetes code base" https://archive.fosdem.org/2019/schedule/event/kubernetesclu... Also they are quite heavy users of //go:generate.

It is true that the k8s project uses many Java patterns, and this really hurts the readability, but there are also many leaf great packages in Go style in the code base.

At least, I think, k8s proves the ability of Go runtime.

Re: Rob Pike interview

#245

Earlier quoted context omitted.

I write Go daily, and I don't think CSP really panned out. For most applications, I find it's much easier to use a mutex and standard threading tooling than channels/CSP. That might be an artifact of how channels are implemented and their many hidden error cases--perhaps a better channel implementation could change the calculus. There are lots of reasons to prefer Go to Rust IMO, but I don't think CSP is among them.

> For most applications, I find it's much easier to use a mutex and standard threading tooling than channels/CSP It's easier to write code with standard threading tooling but I think CSP is much, much easier to debug and avoid deadlocks.

> I think CSP is much, much easier to debug and avoid deadlocks.

This has (still to my surprise) not borne out in real-world cases, at least to the extent Go channels "do CSP".

https://blog.acolyer.org/2019/05/17/understanding-real-world...

Re: Rob Pike interview

#247
post #217

Go is the language that made me realize I’m not much of a production quality software engineer. Normally I would be quite happy riffing with ideas in Ruby or Python, and just running my code and iterating trying to figure out what to do. When I tried this in Go, every time I wanted to change the shape of my code to try doing things slightly differently I had to do a lot of work to get the code to compile again. I fee…

Don't beat yourself up for that. I tried Go sometime back (year or so may be) and found it an awkward language. It probably has its own design philisophy may be that I missed. Things like lack of generics and type system makes you repeat things quite a lot (e. g. It was pretty impossible to write a true ORM or a DI system in go). I found the interface system quite awkward in that types implicitly implement an interfa…

I came from C++, where accidentally changing the wrong header file resulted in a 2 hour long build cycle. No thanks. Modern C++ has its good parts, but Go has made me enjoy the profession again.

Re: Rob Pike interview

#248
post #243
post #228

Earlier quoted context omitted.

They are also using Rust nowadays. Just like they use JavaScript, Swift, Java and Kotlin for mobile development.

Go is the main language in Uber.

And me thinking I was on the Dropbox thread.

Regarding Uber, one tree doesn't make a forest.

Re: Rob Pike interview

#249
post #244
post #229

Earlier quoted context omitted.

Kubernetes was prototyped in Java and it isn't as if the Go rewrite was without pain. "The clusterfuck hidden in the Kubernetes code base" https://archive.fosdem.org/2019/schedule/event/kubernetesclu... Also they are quite heavy users of //go:generate.

It is true that the k8s project uses many Java patterns, and this really hurts the readability, but there are also many leaf great packages in Go style in the code base. At least, I think, k8s proves the ability of Go runtime.

Proves what? It could have been written in almost any language.

Re: Rob Pike interview

#250
post #241
post #162

Earlier quoted context omitted.

And those companies generally use C++, Java, etc. in a much larger capacity.

This not true for new companies, for example, Dropbox and Uber.

Those are more the exception than the norm, and their decisions to do so come at significant costs.
Post reply on HN