💾 Archived View for source.community › Fuwn › space › raw › main › content › pages › blog › programm… captured on 2024-02-05 at 10:08:11.
View Raw
More Information
⬅️ Previous capture (2022-03-01)
-=-=-=-=-=-=-
# 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