-
Go DOES NOT have references!
As a beginner, I found it a bit confusing to work with slices in Go. Even now, I sometimes forget this. When reviewing code, I often see that colleagues pass pointers to slices in an attempt to optimize performance. Or people might be hesitant to slice a slice because they’re concerned it could affect performance.…
-
Go Docs are good, but not enough!
I believe programming language standard library documentation should mention the time and space complexity of every operation. Currently, Go docs only explain how to use data structures, but nothing more. This is unacceptable. I need to know how much time it takes to initialize an array of size n without reading the source code. One…
-
A look into Go Scheduler’s Design
Go is a relatively recent language designed with concurrency first in mind (from introduction to Go byRob Pike). Its standard library is state of the art code written by coders who worked on Unix. My focus in my grad studies, from general to specific was Distributed Computing -> Concurrent Algorithms -> Shared Data Structures. I…
-
Mastering the Art of Reading Go code
* I could not come up with any good name for this post, so here it is. It is a case study for reading go code. I have worked with Java/Python for more than 9 years now. Most of my production code was in Java. When I want to write a code to parse some…
-
Concurrency in Go
I chose GoLang to implement the algorithm that I was working on in my masters. You can find my repo here. After this experience I wanted to write on Go’s concurrency as a newbie gopher. Concurrency was important to Go designers so they developed it built in. Instead of using threads to achieve concurrency like…