1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# 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
|