(Replying to PARENT post)
(Replying to PARENT post)
I salute you for that!
(Replying to PARENT post)
Are there other hidden Go gems/guides that exist that I happen to not know about as well?
(Replying to PARENT post)
- Slice tricks: https://github.com/golang/go/wiki/SliceTricks
- Rest of the Golang Github Wiki: https://github.com/golang/go/wiki#additional-go-programming-...
- Spec - very approachable: https://golang.org/ref/spec
- Standard library source code - clean code with lots of idioms to learn from: https://cs.opensource.google/go/go/+/refs/tags/go1.17.1:src/
(Replying to PARENT post)
(Replying to PARENT post)
(Replying to PARENT post)
Itβs been 12 years next month. Might be time to change that?
(Replying to PARENT post)
Safety. Without pointer arithmetic it's possible to create a language that can never derive an illegal address that succeeds incorrectly. Compiler and hardware technology have advanced to the point where a loop using array indices can be as efficient as a loop using pointer arithmetic. Also, the lack of pointer arithmetic can simplify the implementation of the garbage collector.
<3
(Replying to PARENT post)
What kind of packaging system chokes on v2 of a module? What kind of language recommends[0] with a straight face that you just duplicate your entire codebase into a v2/ subdirectory?
The module system is so obtuse and the documentation so poor that I will probably avoid go and choose other languages from now on. It really feels like they came to release time and someone in the meeting said "hey guys what if someone wants to release a new major version of their library?" and everyone else in the room had an "oh shit" moment because their amateur language design didn't address that corner case.
(Replying to PARENT post)
But what I absolutely love about Go is how easy(relative to other languages) it is to 'read' most of the Go code in the wild, including the std libs !
YMMV...
Every tried reading C++ libs/header-libs ?