Let's GO for it
I’ve started learning GoLang
, and I’m quite amazed by it! (sorry for the pun in the title).
GoLang embraces simplicity: create clean and simple code, and see it running faster than light :)
This is language can deliver really efficient code in both speed and memory usage. It’s a game changer (at least when it’s compared with NodeJS). We are talking a difference in scale: if we measure NodeJS API durations in seconds, (0.2s
, 0.5s
), we measure GoLang
’s in milliseconds
(0.5ms
, 2ms
) :upsidedown:.
The language itself can look ugly at first, and you might think it’s lacking some features (OOP
stuff seems limited), but while I’m learning this language I’m realising that it’s like that for a good reason. The language adopts some concepts from classic OOP
languages, like interfaces
but it prevents you from making overcomplicated code. Inheritance is fun, yep; but it can often lead to complex (and difficult to manage) code. Thus, this wise gopher won’t allow you to do that.
- Does that mean there is no way to design your apps?
- What about the design patterns?
- What about SOLID!?.
Some of these questions are still unanswered for me, but at least I’ve seen already that there is a way to design stuff right, it’s just done differently. And, of course, good old web architecture patterns apply here too so it’s not all chaos :D
Learning
I’ve started learning from Go documentation (with examples, and a tour), and I’ve started a dummy project to see the progress. I’ve bought this book too, which should help me understanding the reasons behind all the decisions that were made.
This article worked well as starting point to create a clean architecture (based on well-tested web architecture designs).
Way to Go I guess :)