Hacker News new | ask | show | jobs
by pot8n 2226 days ago
Golang didn't succeed because it is simple or powerful or any of the, I apologize, nonsense your hear from the Gophers. Golang succeeded because it was the only available relevant option and alternative to the aging Python and Java when the cloud took off in the early 2010s.
4 comments

OK, but for Go to succeed in that environment, it had to be better than Python and Java at programming for the cloud. It doesn't matter that Python and Java were "aging" - programming languages don't die from old age. Go had to be better than what was there.

And in what ways was it better? Power and simplicity (at least for writing those kinds of programs).

Why did it have to be better? It just had to be created and evangelized to a specific group (and likely because it was by a specific company). I don't think it has anything to do with "better" in one way or the other.

Developers are constantly looking for new languages to fiddle with without any objective reasoning.

Sure, they're looking for new languages to play with. They're not looking for new languages to write major projects in, though. You write major projects in languages that you have already fiddled in, and the fiddling has given you confidence that they're up to the task. Nobody (sane) sees a publicity blurb and decides to bet a major project on it.

Don't confuse "they came to a different conclusion than me" with "they're sheep".

I mean cargo culting tech and languages is practically a meme at this point in tech. I'm not sure I can scientifically argue that its widespread but I think it is equally futile to argue that it does not happen frequently.
Does it happen? Sure. More often than it should? Absolutely.

Often enough to account for the popularity of Go? I strongly doubt it. It could have accounted for Go's popularity in the first year or two. But now, Go has been used by too many people to do too many things. Go's popularity now is based on its ability to help you get things done, not on Google's name.

It didn't have to be better (since it isn't), it juset had to be backed and pushed by Google.
Go is basically Limbo combined with Oberon-2 method syntax, two very successful programming languages from Bell Labs and ETHZ respectively, hence why Go was such a guaranteed success.
First, combining two successful languages in no way guarantees success. (Imagine combining Lisp with C++ syntax.) There are lots of ways to do it where the whole is less than either of the parts.

Second, you seem to have a strange definition of "success". Limbo was a success? Well, some people used it, and some software got written in it, and some people used the software. Not much software and not many people, though, in the grand scheme of things. Same with Oberon-2. Even if you consider those two languages to have been successes, Go is a far greater success - it's successful in a way that neither Limbo nor Oberon-2 ever were.

Exactly, that is why it was needed to add the Google branding into the mixing potion.

Had Go been created at Bell Labs or ETHZ, and it would have shared the same fate as its influences.

You missed the sarcasm on my comment.

Ah, I see. Sarcasm often doesn't come across in a post. But yes, I was surprised by your post, because it didn't sound like your usual position. I should have suspected sarcasm.

But I disagree with you. Bell Labs was adequate branding for C and Unix, but not for Limbo or Plan 9. Sun's branding (and relentless support) was necessary for Java, but who did the same for Python, Perl, or Ruby?

It's not just the branding or the marketing. Sooner or later, how well the language enables you to write programs has an effect on language popularity and uptake.

Programmers aren't just fashion-driven sheep led around by marketing departments. They actually use the languages, and they can in fact tell when the language makes things easier or harder.

Python, all the well known places that Guido worked for that served as "X uses Python".

Ruby, mostly unknown until Rails.

Perl, got integrated early on on UNIX as the standard IT tool.

I don't think I agree. Anecdotally based on what was happening at companies I worked at which used Go, I think the main reason for its success was Google cargo-culting.
Isn't Golang as simple as Python while being as powerful* as Java?

* I guess many people will disagree for the lack of generics (among other things), but the compiler and static types are powerful tools.