carloscastilla - Fotolia
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.
Finding a cloud career for Java developers
Common cloud app development questions
Dig Deeper on Cloud application 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