Go is a low-level language designed to be fast and easy to program, especially for concurrent programs. It was originally designed by Google but is becoming more popular as a cloud programming language. Here are five reasons why you should consider using Go for your next AWS project.
1. Go is a compiled language, so it's less forgiving than scripting languages such as Python. But this can be beneficial since it compiles instead of using a runtime environment.
2. Go programs are well structured and easy to understand. The code is, in many ways, easy to read. The compiler is strict and the code is explicit, which means there is less chance of misinterpreting the meaning of a data type statement of a variable.
3. Concurrency is easy with Go. For example, if you call funcX(param1), it will run synchronously with the calling routine. If you invoke the function using a goroutine, as in go funcX(param1), it will execute asynchronously to the calling routine. The method is fairly simple compared to other cloud programming languages. You also don't have to work around limitations like the Python Global Interpreter Lock.
4. Go has the basic developer tools you will need to get started. It's a new language and doesn't have the resources of some longer-lived languages. But it does come with sufficient tools for compiling, testing, formatting, static analysis and documentation.
5. Because Go is compiled and doesn't require additional components, such as a Java Virtual Machine, it's easy to distribute. This eliminates the headache many developers face with other languages that can run in development, but not in production.
While Go has several advantages for cloud programming -- and seems to be the programming language du jour -- there are times when other scripting languages are better options. For example, if you have to manage a lot of data, you might want to use Python and a package designed for manipulating data, such as pandas.
About the author:
Dan Sullivan holds a master of science degree and is an author, systems architect and consultant with more than 20 years of IT experience. He has had engagements in advanced analytics, systems architecture, database design, enterprise security and business intelligence. He has worked in a broad range of industries, including financial services, manufacturing, pharmaceuticals, software development, government, retail and education. Dan has written extensively about topics that range from data warehousing, cloud computing and advanced analytics to security management, collaboration and text mining.
Making career gains with Java and the cloud
Building apps in Windows Azure
Open source cloud development made easy
Dig Deeper on Java development
Related Q&A from Dan Sullivan
Docker's recent upgrade introduced support for hardware signing and in the future, automated security analysis on Docker images. Expert Dan Sullivan ... Continue Reading
Cisco's new project Contiv automates operational policies for containerized applications in the cloud. Expert Dan Sullivan explains the benefits of ... Continue Reading
Dropbox API abused by attackers posing as legitimate users in a huge spear phishing campaign. Expert Dan Sullivan explains how to mitigate the risks ... Continue Reading