4 ms·
As a Common Lisper (among others) interested in language design, I've just started reading up on Go, after I've been told it's "simple, robust, safe, well-des
by ACow_Adonis 7y ago
As a Common Lisper (among others) interested in language design, I've just started reading up on Go, after I've been told it's "simple, robust, safe, well-designed".
Purely subjectively, alot of what I'm seeing in Go so far looks to me like a "2nd system design" for C programmers. I'm hoping that the concurrency model is where it shines through with some good new ideas and implementations because I've been relatively unimpressed with the rest of it so far. That's not to say it's bad per se, but I've seen nothing in it that makes it stand out from other languages design-wise, and it feels rather warty to me so far...
Purely my own subjective opinion.
- shanemhansen 7y ago> looks to me like a "2nd system design" for C programmers That seems fairly accurate. > I'm hoping that the concurrency model is where it shines I'd say that channels aren't quite the magic thing they are made out to be and goroutines aren't that amazing. The real win of go for me is three things: 1. Evented runtime with a synchronous interface. "Go is my favorite epoll library" 2. A standard lib that has great http support (things like keepalive and connection pooling and http2) 3. A build and test toolchain that makes coverage and race detection and memory and CPU and lock contention profiling trivial.
- c256 7y agoGo was designed by strong programmers as a “good enough” language aimed at the combination of two goals: 1.) Letting good programmers get things done without feeling too many constraints, and without hating the output of #2. 2.) Enabling decent programmers understand the output of #1, while still getting things done themselves. It is an extremely practical language ‘project’, in that it doesn’t pretend that all programmers are great, or average, and it tries to help the two subsets work together.