Go Workshop 2019 References
Go Language Tutorial
- https://golang.org (official website)
- https://go-tour-ita.appspot.com/welcome/1 (an interactive tour through Go)
- http://www.golangbootcamp.com/ (comprehensive Go tutorial)
- https://blog.golang.org/ (official blog)
- https://golangcode.com/ (a library of useful Go snippets)
- https://golangbot.com/ (tutorials for beginners)
- https://appliedgo.net/ (tutorials and explanations for advanced users)
- https://changelog.com/gotime (Go podcast)
- https://dave.cheney.net/category/golang (another blog of Go)
- https://golang.ch/ (Go news, libraries and tutorials)
- https://www.golangprograms.com/ (Go blog and tutorials for mid-advanced users)
- https://medium.com/@trevor4e/learning-gos-concurrency-through-illustrations-8c4aff603b3 (clear explanation about Go concurrency)
- https://awesome-go.com/ (a list of Go frameworks and libraries)
- https://medium.com/a-journey-with-go (tutorials for advanced users)
- https://hub.packtpub.com/concurrency-and-parallelism-in-golang-tutorial/ (a detailed explanation about Go parallelism)
- https://www.airs.com/blog/archives/277 (Go Internals)
Go Language Popularity
- https://insights.stackoverflow.com/survey/2019#most-loved-dreaded-and-wanted (Stack Overflow Developer Survey 2019)
- https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019 (IEEE Rankings 2019)
- https://www.tiobe.com/tiobe-index/go/ (Tiobe index for Go)
- https://hub.packtpub.com/why-golan-is-the-fastest-growing-language-on-github/ (Packt Analysis of Go)
- https://www.gowitek.com/golang/blog/companies-using-golang (Big Companies using Go)
- https://github.com/golang/go/wiki/GoUsers (Companies using Go)
- https://www.quora.com/Other-than-Google-what-companies-are-using-Go-in-production (Other companies using Go)
- https://github.com/golang/go/wiki/ExperienceReports (User Experience Reports)
Go Language Performance
- https://www.toptal.com/back-end/server-side-io-performance-node-php-java-go (Go vs Node vs PHP vs Java)
- https://codeburst.io/should-i-rust-or-should-i-go-59a298e00ea9 (Go vs Rust)
Type System
- https://en.wikipedia.org/wiki/Structural_type_system (Structural Type System)
- https://en.wikipedia.org/wiki/Type_inference (Type Inference)
- https://en.wikipedia.org/wiki/Strong_and_weak_typing (Strong and Weak typing)
- https://en.wikipedia.org/wiki/Covariance_and_contravariance_(computer_science) (Type Variance)
- https://en.wikipedia.org/wiki/Type_system#STATIC (Type System)
Go Type System
- https://rakyll.org/typesystem/ (Go type system)
- https://bluxte.net/musings/2018/04/10/go-good-bad-ugly/ (Go type system pros vs cons)
- https://mycodesmells.com/post/accept-interfaces-return-struct-in-go (AIRS motivation)
- http://www.club.cc.cmu.edu/~cmccabe/blog_golang_type_system.html (Go type system detailed)
- http://asserttrue.blogspot.com/2009/02/inheritance-as-antipattern.html (Inheritance as Antipattern)
- https://www.javaworld.com/article/2073649/why-extends-is-evil.html#talkback (Inheritance as Antipattern for Java Developers)
- https://www.youtube.com/watch?v=5IKcPMJXkKs (Closured as Generics)
Go Language Error Handling
- https://blog.golang.org/error-handling-and-go (Error Handling and Go)
- https://medium.com/rungo/error-handling-in-go-f0125de052f0 (Error Handling in Go)
- https://8thlight.com/blog/kyle-krull/2018/08/13/exploring-error-handling-patterns-in-go.html (Error Handling Patters in Go)
Programming languages concepts
- https://en.wikipedia.org/wiki/Zipf%27s_law (Zipf’s Law)
- https://en.wikipedia.org/wiki/Single_responsibility_principle (Single Responsability Principle)
- https://medium.com/@rakyll/interface-pollution-in-go-7d58bccec275 (Interface Pollution in go)
- https://medium.com/@matryer/line-of-sight-in-code-186dd7cdea88 (Line of Sight Rule)
- https://eli.thegreenplace.net/2011/01/23/how-debuggers-work-part-1 (How debuggers work)
- https://software.intel.com/en-us/articles/avoiding-and-identifying-false-sharing-among-threads (False Sharing)
- https://medium.com/@genchilu/whats-false-sharing-and-how-to-solve-it-using-golang-as-example-ef978a305e10 (False Sharing in Go)
Creators of the language
- https://www.google.com/ (Google)
- https://en.wikipedia.org/wiki/Ken_Thompson (Ken Thompson)
- https://en.wikipedia.org/wiki/Rob_Pike (Rob Pike)
- https://channel9.msdn.com/Events/Speakers/Robert-Griesemer (Robert Griesemer)