DEV Community

Discussion on: GoLang, The Next Language to Learn for Developers

Collapse
 
igormp profile image
Igor Moura

I'm a Go user and really love it, it's kinda a newish C aimed at web, along with an easier syntax and easy concurrency.

However, there are some points that you made that are somewhat overselling the language:

  • Go is not a systems programming language:

    Due to the need of a runtime, you can't really do baremetal with it, and its binaries are kinda huge when compared to other languages since you are packing the whole runtime inside of it. One could say that Go is actually more akin to Java than C, which brings us to the next point.

  • Go doesn't really compare to Rust at all

    Rust is a truly compiled language (backed by LLVM) aimed at systems programming which has no garbage collector and has a much smaller and less intrusive runtime. In fact, you can even do baremetal without needing to use the std lib at all - check out no_std, they're doing a really job for embedded systems. Rust is actually meant to replace C and C++ by being as fast while providing a safer memory model.

    Due to the somewhat bloated runtime which abstracts a lot of things for you, Go looks a lot more like java, and they even usually trade blows when it comes to speed, meaning that Go is way slower than C. The only thing Go and C have in common is the similar syntax and the history of its founders.

Other than that, I really liked your article and wish more people get to use this amazing language. Lots of companies I know are switching from their PHP/Python/Ruby systems due to performance and costs.

Collapse
 
dizveloper profile image
Edvin

Many would argue that it is a systems-level programming language. The thing that I've realized in the discussion over programming languages is that everyone is wrong and right while saying the exact opposite things. I agree with you on the point of Rust not being anything like Go, ironically Google is using Go to replace both C++ and Java. It kinda shows that Go is mid-way between the two in some sense. I think Go's greatest claim to fame is its speed of execution in comparison to true competitors like Node. The article was meant to bring together all of the viewpoints when compared to several languages that have come up when trying to figure out what Go's use is.