4 ms·
I have written a bit of Go. It strikes me as sort of the Unix of programming languages. It's very opinionated, takes some overarching concepts, mostly channels
by lolcraft 15y ago
I have written a bit of Go. It strikes me as sort of the Unix of programming languages. It's very opinionated, takes some overarching concepts, mostly channels and interfaces, then proceeds to thoroughly not care what you think about it: refuses to have generics, lambdas and tail-call recursion like a pro. The polar opposite of design by committee. It even enforces a True Brace Style to keep the parser simple!
Technically, it looks good to me. The toolchain is excellent. It looks ready for production. Programming in it is fun. It fixes most issues of compiled languages. Go has mostly replaced Haskell, for me.
- eurleif 15y agoGo does have lambdas: foo := func() { ... }
- ootachi 15y agoWhy would you move from Haskell to Go? There's a night-and-day difference between them. I don't understand why you'd switch to a language because of the features it's lacking, unless you think those features are a bad thing (and I have yet to see a reason why generics and TCO are a bad thing).
- anacrolix 15y agoIt's because of implementation. Both Haskell and Go give you limitless concurrency, and you can break out bits of code really easily (due to FP/sparks, and corresponding interfaces/goroutines). Of course Haskell also has much stronger typing, but Go is much easier.
- lolcraft 15y agoOf course they are not a bad thing. It's just that Go has character. It doesn't have generics or C++-style classes just because every other language has them. I respect that.
- ootachi 15y agoGo has C++-style classes. Anonymous fields are just C++ multiple inheritance with a different name (and without virtual functions or downcasts).