Hacker News new | past | comments | ask | show | jobs | submit login

Failed language. And for that reason few know it exists.



It depends on what you consider failure. If you feel popularity is the main metric then golang is successful. Outside of that metric golang is pretty bad.

The proof is in the pudding. Here’s a quote from rob pike the creator of golang:

“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.”

Basically in a nutshell he’s saying they dumbed down golang so it’s useable by beginners. Golang is a step backwards. A failure in language development but a success in popularity.

You dumb down a language to a point where the language is so dumbed down it hits the largest demographic. You are part of that demographic. It’s similar to the demographic that voted for trump because he’s not fakeish like all the other candidates.


I understand what you are saying here but I think you've missed the point of what Pike was getting at.

I think Pike is acknowledging the practical realities of engineering at scale, and intentionally designed Go with simplicity in mind, which leads to more maintainable code and faster onboarding for new devs.

I'll also add that outside of the popularity metric, Go is not all bad. Fast compile times, readability, excellent standard library and toolchain, backward compatibility, to name a few things.


>I think Pike is acknowledging the practical realities of engineering at scale, and intentionally designed Go with simplicity in mind, which leads to more maintainable code and faster onboarding for new devs.

Doubt it. Read what he wrote. He's literally referring to people without much experience in programming. The stuff you said is literally NOT what he said.

>I'll also add that outside of the popularity metric, Go is not all bad. Fast compile times, readability, excellent standard library and toolchain, backward compatibility, to name a few things.

I agree with readability and fast compile times.


Pike didn't write it, he said it. (1) It is a talk about how Go was created to make concurrency simple. The "brilliant" language he refers to here is C++, which I'm sure you're aware has many of its own downsides.

Your argument that Go is a step backward because it was intentionally designed to be simple for novice programmers seems flawed. It's design was a deliberate tradeoff to address a specific problem. While I don't think it is a language that should be used for everything, it is good at the things it is good at.

What is it about Go that you have a problem with, specifically?

1. Around the 20 minute mark: https://learn.microsoft.com/en-us/shows/lang-next-2014/from-...


I understand he said it. But I can’t transmit voice over HN so I need you to read the transcript I made oof what he said rather then listen to it. I’m actually really confused why you couldn’t figure out this is what I meant. I could make a link and point you to the time like you did, but it’s easier to refer to it with an actual written version. Make sense? I hope so.

> The "brilliant" language he refers to here is C++, which I'm sure you're aware has many of its own downsides.

No. The brilliant language he’s referring to is a hypothetical one he could have created. Instead he created golang because he needed to create a language catered to people with less experience. That is what he is saying. I find it strange that you can literally read what is written and also reference the video and literally not understand what was literally said/written.

Maybe you’re just making up meaning subconsciously to cater to your own biases rather then facing the cold hard truth that pike created go to be not “brilliant”.

> What is it about Go that you have a problem with, specifically?

Oh there’s tons of stuff. One is that errors don’t have stack traces. You create an error that can’t be handled and so it bubbles up the stack until the only way to handle it is with a panic. You see the panic in your logs but now you have no idea where the error came from because no stack trace. You get the trace of the panic but no trace of the error. The whole thing is just poorly thought out.


The reason I emphasize that he said it and didn't write it is because it indicated to me that you weren't aware it was actually a talk he gave and you were just regurgitating a cherry picked quote that's been passed around since he said it.

That further indicated to me that you are not aware of the broader context of what he was saying. He literally spends the first 19 minutes talking about writing something in C++, then says the quote.

It seems it is you who is catering to your own biases by using a few sentences from a 20 minute talk to oversimplify what Pike I'd saying.

The interpretation I am giving is based on the entire talk, not just the quote. I acknowledge that he said Go was created for less experienced devs, but I don't think it that means it is a step backward as you said. It enables so much to be done by the "dumber" demographic, as you so eloquently put it. Go, like any other language, has its limitations. It shouldn't be used for everything, but should be used for the things it is good at (obviously).


> the language is so dumbed down it hits the largest demographic. You are part of that demographic. It’s similar to the demographic that voted for trump because he’s not fakeish like all the other candidates.

I've been a lot of places and done a lot of things but I've never had somebody liken me to a Trump voter because I like a programming language. Is this the new Godwin's law? Did panic() and nil kill your grandpappy?


> Basically in a nutshell he’s saying they dumbed down golang so it’s useable by beginners.

He's saying that developers can't handle Coq (the brilliant language), so they had to build a language that is like every other commonly used language, for better or worse.

> A failure in language development

As brilliant as Coq truly is, he's not wrong, is he? It is no coincidence that nobody is using Coq to build web servers. Which is, after all, what Pike said Go was designed for – that it was not intended to be a general purpose programming language. The vast majority of developers, even outside of Google, truly can't grasp it... And of even the scant few developers who can, they will tell you that the tradeoffs aren't worth it for something like a run-of-the-mill CRUD web server.

Your, being a researcher who does understand Coq, perspective is interesting from an academic angle, but Pike's point is that you don't understand the realities of engineering. This "Use Coq or you are no better than a Trump supporter" shows he was exactly on point. Cry as you might, nobody is going to be using Coq to build web servers, and for good reason.


No he's saying go is designed for people like you. You're obviously joking about COQ, but I'm not joking about you. This is literally what he's talking about. Take a step back out of your sarcasm and look at reality. You are the demographic Pike is talking about. And we both know Pike is not even referring to coq.


> No he's saying go is designed for people like you.

Stands to reason. It is true that I do spend my time on the engineering side of the industry. While I have great appreciation for the brilliant languages, they don't offer a whole lot for practical production work after you've weighed the tradeoffs. Especially in the particular niche Go is designed for. You are going to use a blub language like Rust for those types of problems, and for good reason.

> And we both know Pike is not even referring to coq.

Lean, then? The brilliant list isn't terribly long. We do know he isn't talking about Scala and Haskell, at least. He lumps them in with C++ and Java – albeit he has expressed that they are more beautiful. Not that anyone would consider them brilliant anyway. Well, maybe if you consider Trump to be also brilliant... There is always that guy.


It’s designed for people who don’t have much experience with programming. He literally said this. There is nothing said about coq or lean... that’s just trolling.


> It’s designed for people who don’t have much experience with programming.

Exactly. It follows the same basic "loop, variable, function" programming model as Java, C++, Haskell, PHP, Ruby, Rust, Python, LISP, Smalltalk, basically every language you've seen production code written in, that is familiar to early career beginners who have come out of traditional learning paths (e.g. college). Where once you understand one of them, you can jump into another with minimal overhead. None of these languages brilliant, but they are useful. Which is where he said they wanted Go to fit as well: A language that is useful and familiar.

That isn't what researchers and language theory enthusiasts want. They are enthralled by languages that think about programming in an entirely different way. The key point here is that it wasn't built for them. That is what he said.


That’s a stretch. Your saying he called golang not brilliant then you say basically every language from Haskell to Java is also not brilliant. Let’s be real here.

You also talk about looping for languages with no loops. And additionally pike never brought up looping at all. You just made this part up out of thin air. Your evidence is made up. He never said or referenced any of things you said.

> The key point here is that it wasn't built for them. That is what he said.

No read what he said again. He didn’t say golang was not designed for language experts. He did say it was designed for programmers just out of school with barely any experience with programming languages. He did not say he designed golang for an average engineeer who is not a PL expert he said he designed golang for literally people just out of school.

I don’t know how you can make stuff up out of thin air like this. Read what he literally said.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: