As a followup to yesterday’s announcement that we’ve selected Go as our first new distribution in 2017, I’d like to elaborate on why we chose to develop an ActiveGo™ distribution, and why we believe it’s such a good language for the enterprise.
Productivity for the Enterprise: Go has emerged as a very compelling enterprise language. Go started initially as a language for networking and cloud companies but it has shown increasing traction across the enterprise. The reason for this growth is it has the developer productivity of a dynamic language but also features strong concurrent programming support. Go is also memory managed and statically typed, which avoids a large class of typical bugs and compiles in seconds on all major platforms. These features offer the development speed that dynamic languages usually provide, which is essential when getting projects to market quickly.
Great Performance: Go provides both multi-platform native binary compilation and first class concurrency. This strong concurrency support in particular takes full advantage of modern multi-core processors. You can essentially do more with less hardware by getting greater performance out of your services. Go programs start up quickly and generally have a smaller memory footprint compared to languages with runtimes. Overall, Go provides a great balance of productivity and performance.
Great Fit for DevOps: Go also lends itself to strong DevOps practices as you only have to ship the binaries into your production environment, keeping configuration and your application footprint to a minimum. Go is very strong for automating infrastructure tasks--it's fast, cloud native, and the tools around it are top notch. It's easy to compile, run, and deploy whether in containers or almost any manner of cloud hosted setups. Go is a good fit for distributing responsibilities between multiple single-purpose applications such as in microservice architectures. In this way, Go provides considerable operational flexibility and control.
Increased Adoption Across Enterprises: We are seeing adoption of Go across many industries--not just in tech companies. Companies such as the BBC, Nordstrom, General Electric, New York Times, Comcast, and many others are benefiting from Go. One significant reason is that Go is easy to learn as the language specification was purposefully designed to be small and thus make remembering it easy. For all companies, resourcing is key and with Go, new developers can be brought up to speed quickly.
What can ActiveState provide to Enterprises?
We provide the support that enterprises need to ease the adoption and use of Go within their organization. Our ActiveGo distribution will contain curated packages that address enterprise specific needs around ease-of-development, security, database connectivity, and others. We’ll also provide Go developer tools in addition to the fantastic Go toolchain. ActiveState also plans to provide the level of documentation that enterprises require to make a language part of their overall development processes. Enterprises are often not on the same timescale as a language that is moving fast, so we will backport security fixes if necessary, support key packages, and move as fast or as slow as our customers need. This is independent of the Go community releases, which are currently on a productive 6-month release cycle. Add to this our QA’d builds, enterprise-level SLAs, and our indemnification, and the ability to adopt Go within your organization gets a whole lot more compelling--and safe.
Why ActiveGo for Open Source Users?
The fantastic Go community and ecosystem have set a high bar for quality and we are working towards bringing solutions the community can benefit from. Our goal is to have the ActiveGo community edition have everything you need to be productive immediately after installation. Along with the standard Go toolchain, we will provide a compelling set of community tools, packages, and documentation to make Go adoption as easy as possible. As we have done with our other ActiveState languages we will contribute back code, sponsorships, and knowledge to the community at large and promote Go to a worldwide audience.
Go, The Future is Now
We believe that Go is the language of the future, and after seven years of active development it is ready to bring its benefits to the business world. It is productive, performant, DevOps friendly, and well designed. There is a fantastic community behind it. It has a great blend of the strengths of dynamic and compiled languages. Go adoption is increasing rapidly, and our goal is to help bring Go’s advantages to all organizations. Go big or go home!
ActiveGo Beta is slated for release in February 2017, with a full release expected shortly thereafter. If you want to be the first to know when it’s released (or be the first to try it when it is), sign up today for updates: http://www.activestate.com/go