Nobody is forgetting that quote. Trust me, it has been repeated a lot[1].
That said, I think this framing of the issue really needs to die. Rob Pike is saying they're "not researchers", that they're "typically fairly young", not that they're poor programmers. Notice that in the list of languages they may have learned, "C or C++" is present. The idea is not that Go is designed for people who can't possibly write C++.
This framing also implies that the language being better for n00bs means that it's also necessarily worse for everyone else. There are some tradeoffs where this is a defensible position, but I think on the whole it's just not generally true. A good example is preferring composition over inheritance: I think the former is generally more understandable and a lot of people actually contort C++ to use it this way too. (For example, in some codebases, only pure abstract base classes are ever inherited; everything else is final.)
When I see this quote repeated as if it implies that Go is just generally designed for bad programmers, I feel like it reads like flamebait. The real answer is that it was designed to be so easy that any idiot can use it. Or in other words, Go is very grug-brained[2].
To each their own, but it's been over 10 years since that quote and Go has evolved a lot. Is it perhaps time to put it to rest and stop reading into it so much?
[1]: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu... - though I'm sure it has been paraphrased and linked even more than this.
Poor programmers by Google's standards. I would argue the vast majority of programmers, even those outside of Google, don't want to be language researches, have no desire to be a language wonk, but want to build software to solve their and their companies problems. I read that quote and think it means that Golang is the only language the vast majority of programmers should be using unless they are researchers, not as a some veiled put down.
I expect a modern programming language that has a runtime to not do that, correct.
Fair enough.
> I expect a modern programming language that has a runtime to not do that, correct.
But how do you define "has a runtime"? Java clearly has one - the JVM. Go produces standalone code, though.
Or do you say that it has a runtime because it has a garbage collector that is running while the program runs?
The original Pascal didn't have a runtime (if you weren't using UCSD, which generated p-code), and yet you couldn't segfault it.
So if I put the jvm and my .jar file inside a single .zip file java no longer has a runtime?
And since C applications load .so files they do have a runtime?
Having a runtime is independent of the amount of files you need to read to run the program.
Correction: the commercial software is, not the industry. The industry and corporations are capitalising on quality open-source software, meticulously written off working hours with a straight head and passion, and a great attention to details. The fact that you can write glue fast enough to satisfy your SLT is predicated on the presence of those quality components you're gluing together for free.
Some people in big projects are paid contributors, and some company open source some not so useful things as a marketing tool.
> They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language
Dude brought receipts, it doesn't get any clearer than the language creator stating his intent. Just because something is designed for idiots doesn't make you an idiot for using it.
In any case, you should probably read https://paulgraham.com/identity.html
I guess that's the difference, if you want code, no matter the quality, you have one choice, if you want code that's correct, you have another.
I feel Go is simple in the way people say "C is simple" (without the footgun part)
It was created for one purpose and it kinda works but it's clunky. Like there are no fancy front loaders or backhoes and there's a limit on how much out of that form you can get.
I don’t think it implies that you can’t write good programs in it.
Ergo: if you actually like it, you must not be that great a developer.
The money shot....