Q
Get started Bring yourself up to speed with our introductory content.

Should I use Go as my cloud programming language?

With a number of available programming languages, it's hard for enterprises to find the best option. Is Go the right language for my cloud project?

What is Go? Why should I use it for my next cloud programming project?

When choosing a programming language for your cloud project, it's important to find the right fit. There are many languages to choose from, but not all will suit your environment. One option to consider is Go -- the low-level language developed by Google. Go is fast and easy to program, especially for concurrent operations. Additionally, Go is a solid option for distributed environments, such as public cloud infrastructures. Here are five reasons to consider the Go cloud programming language for your next project.

First, Go supports concurrency better than other languages. Its routines and channels enable users to safely run multiple operations asynchronously on different cores. For example, Go users don't have to worry about the global interpreter lock (GIL), which prevents multiple threads from executing Python code at once.

In addition to concurrency, Go has built-in support for common data types, such as slices and maps. Slices are segments of arrays with indexes that, unlike arrays, can change in length. Maps are collections of key-value pairs. Go also supports pointers, which are useful for structured data types, or structs.

Go also offers garbage collection to simplify memory management for concurrent operations. Automatic memory management eliminates a substantial amount of developers' bookkeeping work. It also reduces the likelihood of introducing memory management bugs, which are difficult to detect.

Go has a built-in, lightweight framework for testing, which can run with a simple "go test" command. Go also creates test suites and provides commands to run them against application code.

To load packages from Git and other source code management platforms, Go has a built-in package manager. The "go get" command retrieves packages from repositories. Go is also fast to code and compile, so it tightens the code-compile-run loop. Although it's designed for speed, Go, like any language, handles some operations faster than others.

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.

Next Steps

Finding a cloud career for Java developers

Breaking down vital cloud app development skills

Common cloud app development questions

This was last published in January 2015

Dig Deeper on Cloud APIs and frameworks

PRO+

Content

Find more PRO+ content and other member only offers, here.

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Join the conversation

2 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

Go is good for Google-backed cloud solutions and advanced features like better concurrency are great. I believe Java is still better for maintainability and robustness.
Cancel
It's very important if you live around the Bay Area or Silicon Valley. It's adoption will propagate out over the next 3-5 years, as most of the technologies born in that area do. 
Cancel

-ADS BY GOOGLE

SearchServerVirtualization

SearchVMware

SearchVirtualDesktop

SearchAWS

SearchDataCenter

SearchWindowsServer

SearchCRM

Close