We detached this subthread from https://news.ycombinator.com/item?id=19978882 and marked it off-topic.
Although to be fair you need to apply the same rule to others as well on this same thread.
The most obvious evidence he's wrong is that Google's codebase is all C++ and Java, both languages that have generics and other more advanced features than Go. So apparently Googlers can use such languages just fine. What Pike was claiming was that Google had at some point dropped their hiring bar dramatically and somehow nobody had noticed this or commented on it, despite how controversial it'd have been inside the company.
I rather think that this comment about Go is not reflective of any real strategy or decision inside Google. Go's creators were bored and wanted to make a new language, so they did. The justification for what it looks like was then retrofitted on top.
Alternatively: Seeing people continue to make mistakes in those languages that are widely used has informed the position about language features and design aspects that are problematic, and things that would be helpful to have. Proposing a new language to avoid them is an (admittedly fairly extreme) solution to that.
I believe it was the latter, the twist being that it was forward looking, not reflecting then-current reality. It was likely someone else's prediction that the quality of talent available to Google will go down, going forward.
> "The key point here is our programmers are Googlers, they’re not researchers. 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 but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt."
Full context: http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2014/Fro...
Back home CS means Informatics Engineering, a degree certified by the Engineering Order to practice, with enough theory and practice spread across 3 - 5 years.
Those that want CS theory without programing have a major in Mathematics with a minor degree in computing.
"Modern" type theory has been around since the 70s but aparently that's still too academic for Go.
But perhaps Canadian Aboriginal Syllabics are still the more pragmatic approach!
https://www.reddit.com/r/rust/comments/5penft/parallelizing_...
Go not so much, specially given its toy type system, where one cannot even do Type Driven Design.
Only if you define this in such a way that it's tautologically true. If your definition of software engineering incorporates some degree of economic success, then no, these languages don't work well.
I'm sure someone will be tempted to levee this strawman argument: "But lots of languages drive projects that make more money than Go!" Note that I never claimed market success was the sole criteria.
All of them provide more features for software engineering at large scale that Go is still catching up with, hence Go 2.0 proposals.
I think Python was main language in that space before Go. It's not as simple or performant as Go, though. So, this was a major improvement even if I think they could've designed an even better language from our perspective.