Re:Go proposal: new package to provide generic slice functions
by int_19h on Wednesday May 05, 2021 @01:13PM
(#27052680)
I suspect that much of Go's popularity stems from one thing that's completely unrelated to its language design woes: its ability to generate standalone binaries with minimal dependencies (and specifically none on Linux, which is prevalent for container use).
Go itself is not particularly simple, actually. It's simplistic, meaning that you have to jump through more hoops to do common things. For a concise example, consider adding an item to a slice in Go vs adding an item to a collection in pretty much any other modern language.
Re:Go proposal: new package to provide generic slice functions
by kubb on Wednesday May 05, 2021 @12:32PM
(#27052099)
> How do you explain the success then?
A megacorp funding 100 engineers to work on the compiler, libraries and tooling for 10 years
Re:Go proposal: new package to provide generic slice functions
by yiyus on Thursday May 06, 2021 @04:21AM
(#27060463)
Either Go is a horrible language that did not learn anything or it is a language developed by some of the best engineers for a long time. If you are claiming that both things are true, then how do you explain it?
Re:Go proposal: new package to provide generic slice functions
by kubb on Thursday May 06, 2021 @04:48AM
(#27060614)
Google engineers are not some demigods or mythical geniuses and people should stop thinking that. They are successful within the framework of what they know, which is mostly C and C++. None of these people have academic background in language design, and it shows.
Re:Go proposal: new package to provide generic slice functions
by a1369209993 on Wednesday May 05, 2021 @07:34PM
(#27057280)
In other words, the same way you explain the success of eg Java.
Re:Go proposal: new package to provide generic slice functions
by erik_seaberg on Thursday May 06, 2021 @04:28AM
(#27060501)
Java was a safer C++. Go was a safer C. They both ignore a lot of good ideas from other languages, but I find it easier to forgive Java given its age and how much itβs caught up.
How do you explain the success then?
Go hasn't tried to be all things to everyone. There are lots of things out there that need simple solutions and Go provides for that with and nice middle ground of dev and computer performance.
If I want to read from one computer, write to another computer, concurrently, with low footprint, and speed, it's a great tool.
If Go has learned nothing, are Go programmers just picking something more difficult that performs worse? I've found it has dislodged services that were previously written in Node, Ruby, or a whole J2EE stack. Sure there are people out there trying to make it all things to everyone and it fails in some of those things, but it does great at others.