4 ms·
Till recently, Go lacked generics. Aside from that, it has a GC that is pretty nice to work with. Manual memory management is semi-supported, using C interop in
by sk0g 4y ago
Till recently, Go lacked generics. Aside from that, it has a GC that is pretty nice to work with. Manual memory management is semi-supported, using C interop instead of native language constructs (from when I last looked into it).
- kaba0 4y agoGo is a thoroughly uninteresting language bringing nothing new to the table. D, C#, even Haskell all has and had for decades now GC with manual memory at places. Other than virtual threads, which I have to give credit for, there is zero new thing from a PL perspective.
- flohofwoe 4y agoErm, Go channels were a pretty big deal in the beginning, as well as the idea of creating a 'better C' (instead of a 'better C++').
- kaba0 4y agoI absolutely don’t see anything in Go resembling C from a technical perspective, other than (before generics) being similarly unexpressive. It is much closer to JS than C in any way and shape.
- flohofwoe 4y agoI don't know, I currently write both C and JS on a daily basis, and I just can't see how Go is anything like JS. For me, Go is definitely in the C syntax family, while trying to solve roughly the same problems where Java has been used extensively (backend services).
- masklinn 4y ago> Erm, Go channels were a pretty big deal in the beginning In what world did people not know about MPMC queues?
- flohofwoe 4y agoWhen Go came around I wasn't aware of other popular languages which has channels as a core language feature (but maybe I was just ignorant).
- masklinn 4y ago> other popular languages which has channels as a core language feature That’s because other languages did not need channels as a core language features. Go does for the same reasons it needs e.g. hashmaps or append as “core language features”: no generics. As far as I could see, there was one cool thing Go brought to the table, and it’s select {}. That was (and still is, I think) pretty uncommon, though not unheard of (Erlang’s receive is similar, though it has different capabilities owing to different language semantics).
- pjmlp 4y agoErlang came out in 1986. Here are the experiences of Wooga and Activision/Blizzard using it. https://www.gdcvault.com/play/1016648/Why-Erlang https://www.gdcvault.com/play/1016648/Why-Erlang http://www.erlang-factory.com/upload/presentations/395/ErlangandFirst-PersonShooters.pdf http://www.erlang-factory.com/upload/presentations/395/Erlan...
- Matl 4y agoWhile true, Erlang is a dynamic language, which has its own problems. Go's concurrency builds on CSP and they're open about it, but it is not just about who came up with it but who made it mainstream and for that Go certainly deserves credit.
- cdelsolar 4y agoWhat is a MPMC queue
- Tozen 4y agoThat's a pretty harsh take on Go. Many people find how it does concurrency, OO without classes (methods assigned to structs), its simplicity, and compilation speed as refreshing. At least in comparison to C, of which few would know how to make a better "successor" language for general use among the masses, than Ken Thompson (who co-developed C too).