|
| ▲ | jchw a day ago | parent | next [-] |
| > 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&qu... - though I'm sure it has been paraphrased and linked even more than this. [2]: https://grugbrain.dev/ |
|
| ▲ | matwood a day ago | parent | prev | next [-] |
| > 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 a day ago | parent [-] | | I 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 a day ago | parent [-] | | A general purpose language must be one that you cannot cause to segfault? That's a rather... unique perspective. | | |
| ▲ | guappa a day ago | parent [-] | | A segfault is a security vulnerability :) I expect a modern programming language that has a runtime to not do that, correct. | | |
| ▲ | guappa 10 hours ago | parent | next [-] | | Lol at the people who got angry for some lapalissian truth drop :D | |
| ▲ | AnimalMuppet a day ago | parent | prev [-] | | > 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. | | |
| ▲ | guappa 11 hours ago | parent [-] | | > Go produces standalone code, though. So if I put the jvm and my .jar file inside a single .zip file java no longer has a runtime? And since C applications load .so files they do have a runtime? Having a runtime is independent of the amount of files you need to read to run the program. | | |
|
|
|
|
|
|
| ▲ | stavros a day ago | parent | prev | next [-] |
| If 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 a day ago | parent [-] | | Yeah 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 10 hours ago | parent [-] | | But go has plenty of footguns. For example the most common pattern is to just ignore errors. |
|
|
|
| ▲ | zwnow a day ago | parent | prev | next [-] |
| You 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 a day ago | parent [-] | | > 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 a day ago | parent | next [-] | | Lot of open source software is written by people who get paid for doing so. | | |
| ▲ | guappa 10 hours ago | parent [-] | | But 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 a day ago | parent | prev | next [-] | | What, no quality tools exist written "with passion, and a great attention to details" in Go? *Doubt. | | |
| ▲ | guappa 10 hours ago | parent [-] | | It'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 a day ago | parent | prev [-] | | Commercial software is what pays my rent though. Why would I bother about open-source software other than personal interest? | | |
| ▲ | thot_experiment a day ago | parent [-] | | You should bother because of the externalities that aren't captured by capitalism. Also OP never called anyone a poor programmer, he said the language was made FOR poor programmers. Rob Pike, one of the people who came up with golang (and unix) is quoted as saying: > 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 Dude brought receipts, it doesn't get any clearer than the language creator stating his intent. Just because something is designed for idiots doesn't make you an idiot for using it. In any case, you should probably read https://paulgraham.com/identity.html | | |
| ▲ | zwnow 12 hours ago | parent [-] | | Sam Altman read a draft of this, I wont read anything that has to do with this idiot. Also poor programmers now equals idiots? |
|
|
|
|
|
| ▲ | bckr a day ago | parent | prev | next [-] |
| I 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. |
|
| ▲ | pif a day ago | parent | prev | next [-] |
| > 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 a day ago | parent [-] | | Probably, yes. Though that's an empiric finding, and doesn't follow logically from the premises. |
|
|
| ▲ | belter a day ago | parent | prev [-] |
| > People tend to forget that Golang was created on purpose for poor programmers. The money shot.... |