
Ask HN: What is Go really good for? - aligajani
I want to learn Go but I need to visualize a real-world use case. Why should I use it instead of X, Y or Z. What do you use it for? Please supply examples.
======
fiedzia
It depends on what X,Y and Z are.

What you may like about go if you come from:

python/ruby: go is faster and allows you to write concurrent code php/js: go
is faster, concurrent, and its designers were competent c/c++: go is simpler
and prevents some common mistakes, compiles faster java: go is faster and
simpler. garbage collection is less of a problem rust: go is simpler, compiles
faster, io/task switching might be faster functional languages: go is simpler,
for some its faster/more predictable

What you may not like if you are coming from:

python/ruby: go is verbose, you'll need much more code to express the same
thing. Many libraries/frameworks are missing. more advanced concepts will be
hard/impossible to express in elegant way. Long list of language features is
missing. php/js: can't think of anything, everything is better c/c++: no
access to c/c++ libraries, many language features missing. You cannot write
operating system in go. It has GC java: no access to java libraries, lot of
missing language and platform features, verbosity rust: lot of missing
language features, verbosity, sloppy attitude to code correctness and safety,
GC, slower generated code functional languages: Any functional language
features are missing

So you may come for speed or simplicity (meaning low-level primitiveness, not
high-level elegance) and no-nonsense design, otherwise its just meh.

~~~
JimmyAustin
Formatted:

What you may like about go if you come from:

python/ruby: go is faster and allows you to write concurrent code

php/js: go is faster, concurrent, and its designers were competent

c/c++: go is simpler and prevents some common mistakes, compiles faster

java: go is faster and simpler. garbage collection is less of a problem

rust: go is simpler, compiles faster, io/task switching might be faster

functional languages: go is simpler, for some its faster/more predictable

What you may not like if you are coming from:

python/ruby: go is verbose, you'll need much more code to express the same
thing. Many libraries/frameworks are missing. more advanced concepts will be
hard/impossible to express in elegant way. Long list of language features is
missing.

php/js: can't think of anything, everything is better

c/c++: no access to c/c++ libraries, many language features missing. You
cannot write operating system in go. It has GC

java: no access to java libraries, lot of missing language and platform
features, verbosity

rust: lot of missing language features, verbosity, sloppy attitude to code
correctness and safety, GC, slower generated code

functional languages: Any functional language features are missing

------
girishso
Building cli tools... you can build cross platform as well. Major benefit here
is, you just need to distribute single binary, no dependency hell.

------
aprdm
I am writing a queue system for vfx.

~~~
aligajani
Queue system? Care to elaborate.

