6 ms·
> I choose a language that I feel works well for me Which is the wisest choice for everyone. Golang is only a problem when a manager imposes it on you.
by pif 2y ago
> I choose a language that I feel works well for me
Which is the wisest choice for everyone. Golang is only a problem when a manager imposes it on you.
- vasco 2y ago"Manager imposes it on you" just means you work in a team rather than alone. You can pick whatever you like for side projects, of course you're going to use whatever your team uses otherwise.
- pif 2y ago[flagged]
- Cthulhu_ 2y ago> which casts a doubt about developers actually liking it I'm self-aware enough that I'm not clever enough for the likes of C++ or Rust; I wish more people were as aware of their own limitations. Managers have a long-term responsibility about a codebase too. "Clever" developers have no place in professional software development, imo.
- pif 2y ago[flagged]
- pif 2y ago> People tend to forget that Golang was created on purpose for poor programmers. Ergo: if you actually like it, you must not be that great a developer.
- eru 2y agoProbably, yes. Though that's an empiric finding, and doesn't follow logically from the premises.
- bckr 2y agoI don’t think this implies it can’t be the right tool for the job, even when everyone on the team is a good programmer. I don’t think it implies that you can’t write good programs in it.
- stavros 2y agoIf it was created on purpose for poor programmers, it seems to have been created to enable poor programmers to write the poor code they wanted to write, instead of making it impossible for poor programmers to write any code. 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.
- raverbashing 2y agoYeah 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.
- guappa 2y agoBut go has plenty of footguns. For example the most common pattern is to just ignore errors.
- raverbashing 2y agoOf course. Still way less than C
- zwnow 2y agoYou can call us poor programmers if that boosts your ego. The industry is still built upon people who can build fast. Go allows that and so does Javascript. You might not like it but that's what is earning most people their bread nowadays.
- instig007 2y ago> The industry is still built upon people who can build fast. 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.
- eru 2y agoLot of open source software is written by people who get paid for doing so.
- guappa 2y agoBut most is not. Especially not the libraries that are so used. Some people in big projects are paid contributors, and some company open source some not so useful things as a marketing tool.
- abenga 2y agoWhat, no quality tools exist written "with passion, and a great attention to details" in Go? *Doubt.
- guappa 2y agoIt's a language that is not very used by hobbyists or skilled developers, so the amount of things written on go outside of working hours isn't as big.
- zwnow 2y ago
- matwood 2y ago> People tend to forget that Golang was created on purpose for poor programmers. 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.
- guappa 2y agoI managed to make go segfault multiple times (a real actual segfault). It's not a general purpose language. If you want to do things that aren't json RPC is awful.
- AnimalMuppet 2y agoA general purpose language must be one that you cannot cause to segfault? That's a rather... unique perspective.
- guappa 2y agoA segfault is a security vulnerability :) I expect a modern programming language that has a runtime to not do that, correct.
- AnimalMuppet 2y ago> A segfault is a security vulnerability :) 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.
- jchw 2y ago> People tend to forget that Golang was created on purpose for poor programmers. 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&query=%22They%E2%80%99re%20not%20capable%20of%20understanding%20a%20brilliant%20language%22&sort=byDate&type=comment 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. [2]: https://grugbrain.dev/ https://grugbrain.dev/
- belter 2y ago> People tend to forget that Golang was created on purpose for poor programmers. The money shot....
- imjonse 2y agoMore generally, when it's not well suited for the problem to be solved. Eager coworkers anticipating Google level traffic may want to write the system in Go and multiple microservices when a simple FastAPI server would do.
- guappa 2y agoPlenty of software engineers don't know any better themselves
- AnimalMuppet 2y agoOnly a problem when a manager imposes it on you for a program where it doesn't fit well.