from Hacker News

Ask HN: What is Go really good for?

by aligajani on 10/6/16, 11:07 PM with 7 comments

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.
  • by fiedzia on 10/6/16, 11:54 PM

    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.

  • by girishso on 10/7/16, 11:45 PM

    Building cli tools... you can build cross platform as well. Major benefit here is, you just need to distribute single binary, no dependency hell.
  • by aprdm on 10/7/16, 3:28 AM

    I am writing a queue system for vfx.