Live data from Hacker News

Rob Pike interview

evrone.com

261–270 of 273 posts

Re: Rob Pike interview

#261
post #251
post #247

Earlier quoted context omitted.

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.

Interesting you said that. Recently, I started doing some work in C++ again to stay up to date with what's going on in the C++ world. Do you really feel it's not worth it? I'm thinking about something new to do, and C++ is what I picked. I started implementing a TUI email client. The build time of C++ can be really long. I noticed it too.

I don't know, I guess it depends, what kind of software you are planning to write. All I can say is that learning C++ properly is a huge effort with diminishing results.

I'd say, invest your time wisely. Things are changing rapidly and old languages are usually solving problems that are not quite as important anymore as they used to be.

Re: Rob Pike interview

#262
post #34

Earlier quoted context omitted.

use a better editor. VSCode, vim with vimgo, emacs with whatever those apes use.

This helps but doesn't solve the core issues. I generally use Goland whenever editing Go code (as I am currently doing sigh) but even with such a powerful IDE the language is the main limiting factor in carrying out refactorings (which again, I'm doing right now).

What kind of refactorings would you like to do but GoLand doesn't help with? I'd be interested in that kind of feedback. Thank you!

Re: Rob Pike interview

#263
post #182

Earlier quoted context omitted.

I didn't like type annotations in Python, but I didn't like Go's type system either when I started. I'd be willing to take a second look at types in Python now. But, my real reason for choosing Go was for performance, and it blows our previous solution out of the water. Go isn't perfect but I'm pretty happy with it for right now. I still use Python for a lot of other things though.

Well, if performance is the objective, then I can't suggest Python, because that isn't the goal. You can still have a performant application implemented in Python, I for example had it encode video stream on the fly, but this of course is done through extensibility via C extensions and the core work wasn't really done in Python itself. Sometimes with the right approach (mapping PostgreSQL calls 1:1) and right tooling…

I realize that with a lot of effort, Python can be performant or can be scaled. It was a pretty low-effort move to rewrite my Python service (which was pretty small) in Go and go from really poor performance to acceptable performance right away, and it only took me a short time. Also, I'm pretty good at Python but I'm not very knowledgeable about optimizing it for performance. I'd like to learn those tricks though.

Re: Rob Pike interview

#264
post #261
post #251

Earlier quoted context omitted.

Interesting you said that. Recently, I started doing some work in C++ again to stay up to date with what's going on in the C++ world. Do you really feel it's not worth it? I'm thinking about something new to do, and C++ is what I picked. I started implementing a TUI email client. The build time of C++ can be really long. I noticed it too.

I don't know, I guess it depends, what kind of software you are planning to write. All I can say is that learning C++ properly is a huge effort with diminishing results. I'd say, invest your time wisely. Things are changing rapidly and old languages are usually solving problems that are not quite as important anymore as they used to be.

Thanks for the advice and i actually wxperience that diminiahing return you mentioned. I initially learnt programming with c++, so mostly picked it up again purely for nostalgic reasons to see where the language is now. It's become unmanageably large now! Where i live there isnt much work in C++, so job prospects are low for C++.

Im thinking of may be Rust or Go right now for more pragmatic reasons. Thank you for sharing your opinion.

Re: Rob Pike interview

#265
post #52
post #41

Earlier quoted context omitted.

"anyone who had done any systems programming at all knew that garbage collection made any systems language a nonstarter." This is quite funny. I remember when Go was released its creators were all like "GC is good enough now" and then Rust came around the corner blowing that whole premise out of the window.

I guess every language has its devotees. Go is no exception. My own personal experience with talking to more than a few of these people were that they tended to be a bit... naive and overly optimistic, which is fine, but often the lessons of history were ignored. The way I like to put it is Go devotees operate under 2 rules: 1. Whatever your complaint about Go is, it's totally not a problem (eg stop-the-world GC paus…

Well, my personal experience with C++ developers is, that they are a bit ...naive and overly optimistic, when it comes to taking a look at the real world, with real deadlines. "I just write my own half assed string class" comes to mind... As if they are developing in a vacuum, with no competition out there. This really pisses me off.

Re: Rob Pike interview

#266

What a wild generalization. I skimmed the article, and I see his point in "Go was designed by people working at Google to make it easier to write Google-relevant software, in particular network-resident servers", but that doesn't mean Docker and Kubernetes (and other tools that enable communicating with/usage of cloud infrastructure) being written in Go made it become the de-facto standard, and especially not "the la…

> What about ALL the other components NOT written in Go? Those components are either being rewritten in go, or packaged as containers to run on infrastructure that is written in Go.

Can you name an OS kernel being rewritten in Go?

Re: Rob Pike interview

#267
post #26

I have huge respect for Rob Pike but there's a bit of revisionist history going on here. Go was originally envisioned as a systems programming language. It was often called "a better C". This exposed Rob Pike's lack of experience in the area (IMHO) because anyone who had done any systems programming at all knew that garbage collection made any systems language a nonstarter. Where Go succeeded was completely unintenti…

> It attracted Python refugees Honest question: other than parallelism and performance, what are the main reasons someone would switch from Python to Go?

I'm a python user and parallelism and performance are not the reason I tried Golang because I had no poblem with these for my use cases. However, it solves the only problem I have with Python which is deployement/distribution: basically your server can be a single binary. Best of all, you can target whatever platform with ease. You don't have to worry about your client having the right python or the needed dependencies and this comes with no effort on your part.

Given that the language is relatively easy to grasp and that the standard library covers all the basic needs of a server application, that alone is a huge win.

Python still has more and better libraries for certain tasks though.

Re: Rob Pike interview

#268
post #131

Earlier quoted context omitted.

Single deployment binary, static typing, gofmt, and takes "there should be one and only one obvious way to do it" even farther than Python. It's very easy for new team members to ramp up on a Go codebase - formatting is standardized, libraries are standardized, and the language encourages very simple readable constructs (at the expense of brevity and abstraction, sometimes). That makes it attractive for companies in…

100% this. My personal view is that dynamically typed languages are largely falling out of favour with Javascript being the one glaring exception (and even there if I were starting a project today I'd use Typescript). On the single deployment binary issue, let me just underline that point with one word: virtualenv.

> On the single deployment binary issue, let me just underline that point with one word: virtualenv.

can you expand ?

Re: Rob Pike interview

#269
post #157

This interview was refreshing to read and the comment section far too toxic for the content.

Generally speaking, hackernews comments related to Go have become toxic since last year or so. For some reason people seem to actually display hate.

Re: Rob Pike interview

#270
post #260
post #258

Earlier quoted context omitted.

At least from what I know, Go is an important factor making Dropbox/Uber/Cloudflare succeed. Go is absolutely not an exception in successful startups.

I know people in at least one of the companies you mentioned, and things look very different on the inside. They succeeded despite of the language, not because of it.

Surely, "it is not because of", every language is ok. But experienced programmers will choose the most suitable (most efficient, either in runtime performance and development speed/quality) one they think.
Post reply on HN