Manage Learn to apply best practices and optimize your operations.

Five reasons to use Go for AWS cloud programming

We have some new cloud development projects in the works and I've been hearing a lot about Go. What is it and should I use it for a new AWS project?

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:


Next Steps

Making career gains with Java and the cloud

Building apps in Windows Azure

Open source cloud development made easy

Dig Deeper on Java development