4 ms·
I think people dislike Go because it is missing the fancy feelings. I am more convinced every year that a lot of programmers just love complexity. Simple things
by fileeditview 6y ago
I think people dislike Go because it is missing the fancy feelings. I am more convinced every year that a lot of programmers just love complexity. Simple things will be blown up and abstracted 3 times. This is still possible with Go of course but it is not as easy as with other languages.
Go is like a rusty old hammer that will just work and there are not too many ways to hold it. I like Go for this. I think it has a great design. I can do most things from the top of my head. Code reviews are less painful. And I like that the language evolves more slowly and does not pile every crap idea on top of itself. I also know that a language doesn't have to fill every niche..
In the end Go is a productivity language. If you want to get stuff done it is an excellent choice. If you want to muse about the beauty or correctness of your code there probably are better choices.
- valenterry 6y agoI initially just wanted to let your post stay uncommented, but I also don't want people to get the wrong idea, so here is my comment to your last sentence: > In the end Go is a productivity language. If you want to get stuff done it is an excellent choice. Maybe for mediocre developers. And there are a lot of them and that is totally okay - everyone has been one at some point. But more experienced and developers who do their job with passion and strive to improve, will be limited by the language very quickly which makes them much less productive. Therefore, with good developers, go will reduce productivity in comparison to some other languages.
- fileeditview 6y agoWhat a nonsense. If you are limited by a language then maybe you just chose the wrong language for the job. I guess your argument about the vast ecosystem of go libraries and tools is that they are all created by mediocre programmers? Another note: most of us are "mediocre" and many of those who think they are somehow great, often turn out to be just "mediocre" themselves when put into a certain situation. And maybe you are truly a genius, only work alone and Go really limits you. You are free to choose whatever language you want. But don't project your outlier experience onto everybody or even onto teams of people with vastly different skill levels.
- valenterry 6y ago> Another note: most of us are "mediocre" and many of those who think they are somehow great, often turn out to be just "mediocre" themselves when put into a certain situation. Yeah I fully agree - there is nothing bad about that at all. But that does not change what I'm trying to say: once you grow more skills have more experience (which happens to most people), go starts to limit you a lot more than other languages. No "genius" needed. And it's not only me thinking that if you look at the other responses here. So, hype go as an easy language to learn? Fine by me! Hype it as a language that is more productive than others? I have to disagree.
- pjmlp 6y agoSurprisingly I have been getting stuff done 30 years before Go got invented, with more expressive languages.
- fileeditview 6y agoWouldn't have thought it to be necessary to say explicitly but here it comes: You can also get stuff done with other languages. Big surprise.
- filleduchaos 6y ago> Go is like a rusty old hammer that will just work and there are not too many ways to hold it. And there are non-rusty hammers that also "just work" and don't exactly introduce an insurmountable dilemma when it comes to holding them, as well as having pretty basic variations to the hammer head that actually make it easier to "get stuff done" (such as a claw or a peen). But the people using the rusty hammer like to pretend as though anything other than the most basic form of a hammer (double flat head on a handle) is just "fancy feelings" driven musing about "beauty or correctness".
- philosopher1234 6y agoThis is the type of comment I'm talking about. You clearly have strong feelings about Go, and have shared a metaphor to express your distaste for it, but I have learned nothing about why you feel this way. Would you mind sharing? What is this "insurmountable dilemma" or the "basic variations to the hammer head" you're referencing? As its written, your comment reads more like language warfare than discussion
- filleduchaos 6y ago> You clearly have strong feelings about Go, and have shared a metaphor to express your distaste for it I was extending an analogy that was already presented. The context is, funnily enough, right above my comment if you'd like to read it. And I don't have strong feelings about Go; its existence is ultimately irrelevant to me as a dev. I do have strong feelings about a certain cadre of Go enthusiasts, however. > What is this "insurmountable dilemma" It doesn't exist. That's the point. Said enthusiasts like to pretend as if everybody else is absolutely drowning in a dilemma of which way to achieve X in their language of choice, while Go is for "getting stuff done"™, because obviously no-one ever did anything apart from bikeshedding prior to Go's appearance. > or the "basic variations to the hammer head" Any number of programming language features/concepts which some Go enthusiasts like to decry as unbearably fanciful complexity. If it's not in Go then it must be Bad regardless of being objectively superior to whatever Go offers as a replacement. Parametric polymorphism is perhaps the most infamous of these, and even with the Go team moving forward with a specification for generics there are still people that complain about the language losing its "simplicity". > As its written, your comment reads more like language warfare than discussion Of course. And relegating people's preferences in their work tools to "musing about beauty and correctness" (presented as caring less about productivity) is "discussion" not language warfare.