# GOLANG Author: Fuwn Created: 2021. 07. 19. Last Modified: 2021. 07. 20. Golang... Go is quite a funny language to me. I have a hard time taking it seriously, not because of the name, but because of the way it handles. Don't get me wrong, Go is a great tool to have under your belt, but it just feels very... "childish" ... to ME. Other than the weird chills I get whilst working with it (I just had to get that off my back, for the record), I think Go is a pretty nifty language. Go has the "I can do anything! just not very well..." [0] feeling to it, and it is very much true! I don't write software in Go because it "fast!" or "great on memory!", I write software in Go because it "fast! ...", "to write in!". > [0] Having the aformentioned quality to it is not particularly a bad thing, I think it actually benefits Go! Now, allow me to list some pros and cons that I have to say about Golang with some things to note while reading: These are ... * in no particular order * my opinions! * things that aren't explicitly advertised ## PROS Reasons for anyone to learn or to use Go! * Fast enough: Not Rust fast, but not Python slow * Lots of resources (books, documentation, libraries, tutorials, et cetera) * Quite easy to pick up (having had prior experience with C-like programming languages) * Can do just about anything! ## CONS Nitpicks, not deal-breakers! * Garbage collected: Not necessarily a hard-con, but contributes to more memory overhead (not as much as Node.js though) * Can be too simple at times * Creepy dependency management and "package manager": `$ go get ...` seems pre-mature and underdeveloped One thing you might see a lot when there is talk about Go is the claim that Go hasn't "found it's niche" or "it has no real purpose". To that I say; Go's niche is it's simplicity, it's ability to introduce someone into the compiled language space, and to develop software with speed. ## WHO WOULD I RECOMMEND GO TO? People who... * don't have much time for boilerplate material * want to get into programming (or compiled languages) and dare I say it... anyone! ## RESOURCES => https://golang.org/ golang.org => https://interpreterbook.com/ Writing An Interpreter In Go by Thorsten Ball => https://compilerbook.com/ Writing A Compiler In Go by Thorsten Ball