Go (often called GoLang) is an open source and free programming language that was crafted by Google back in 2007. Robert Griesemer, Ken Thompson and Rob Pike developed the language.
It was released and announced in 2009 and is used in some of Google’s systems, as well as some other companies.
There are two different compilers and implementations: GC and GCC. GC targets platforms including: OS X, Windows, Linux, and since 2015, it also targets smartphone devices. The 2nd compiler, called GCC Go is a frontend compiler.
Go was built to be as simple as possible:
“The key point here is our programmers are Googlers, they’re not researchers. They’re typically, fairly young, fresh out of school, probably learned Java, maybe learned C or C++, probably learned Python. They’re not capable of understanding a brilliant language but we want to use them to build good software. So, the language that we give them has to be easy for them to understand and easy to adopt.”
–Rob Pike, Programmer and Author
Web development: what is Go good for?
Go programming language fits best for any network application. Two of Go’s large concurrency features- channels and goroutines, are very well suited for any network application. As a result of these two strong features, a lot of Go application are built for services, networking, or distributed functions.
Go programming language is also great for command-line apps. This is something that makes Go similar to Python, however, it is believed that Go has a few advantages. Some of the advantages are that it has no external dependencies, and that it has a lot of speed.
Why you shouldn’t use Go in your web development
Go is not the greatest for any GUI-based, or desktop app. It is also not good for system-level programming. Any low-level system components, such as device drivers or kernels, you should count Go out.
Interested in getting started with Go? Need help with web development? Talk to Codal today to see what we can do!