| Eight years of Go |
| 10 Nov 2017 |
| Tags: community, birthday |
| |
| Steve Francia |
| |
| * Introduction |
| |
| Today we celebrate 8 years since Go was released as an open source project. |
| During [[https://blog.golang.org/4years][Go’s 4th anniversary]], Andrew |
| finished the post with “Here's to four more years!”. Now that we have reached |
| that milestone, I cannot help but reflect on how much the project and |
| ecosystem has grown since then. In our post 4 years ago we included a chart |
| demonstrating Go's rising popularity on Google Trends with the search term |
| "golang". Today, we’re including an updated chart. In this relative scale of |
| popularity, what was 100 four years ago is now a mere 17. Go’s popularity has |
| increased exponentially over the last 8 years and continues to grow. |
| |
| .image 8years/image1.png |
| |
| Source: [[https://trends.google.com/trends/explore?date=2009-10-01%202017-10-30&q=golang&hl=en-US][trends.google.com]] |
| |
| ** Developers love Go |
| |
| Go has been embraced by developers all over the world with approximately one |
| million users worldwide. In the [[https://octoverse.github.com/][freshly published 2017 Octoverse]] |
| by GitHub, *Go*has*become*the*#9*most*popular*language*, surpassing C. |
| *Go*is*the*fastest*growing*language*on*GitHub*in*2017* in the top 10 with |
| *52%*growth*over*the*previous*year*. In growth, Go swapped places with |
| Javascript, which fell to the second spot with 44%. |
| |
| .image 8years/image2.png |
| |
| Source: [[https://octoverse.github.com/][octoverse.github.com]] |
| |
| In [[https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted][Stack Overflow's 2017 developer survey]] |
| , Go was the only language that was both on the *top*5*most*loved*and*top*5*most*wanted* languages. |
| People who use Go, love it, and the people who aren’t using Go, want to be. |
| |
| .image 8years/image3.png |
| |
| .image 8years/image4.png |
| |
| Source: [[https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted][insights.stackoverflow.com/survey/2017]] |
| |
| ** Go: The language of Cloud Infrastructure |
| |
| In 2014, analyst Donnie Berkholz called Go |
| [[http://redmonk.com/dberkholz/2014/03/18/go-the-emerging-language-of-cloud-infrastructure/][the emerging language of cloud infrastructure]]. |
| *By*2017,*Go*has*emerged*as*the*language*of*cloud*infrastructure*. |
| Today, *every*single*cloud*company*has*critical*components*of*their*cloud*infrastructure*implemented*in*Go* |
| including Google Cloud, AWS, Microsoft Azure, Digital Ocean, Heroku and many others. Go |
| is a key part of cloud companies like Alibaba, Cloudflare, and Dropbox. Go is |
| a critical part of open infrastructure including Kubernetes, Cloud Foundry, |
| Openshift, NATS, Docker, Istio, Etcd, Consul, Juju and many more. Companies |
| are increasingly choosing Go to build cloud infrastructure solutions. |
| |
| ** Go’s Great Community |
| |
| It may be hard to imagine that only four years ago the Go community was |
| transitioning from online-only to include in-person community with its first |
| conference. Now the Go community has had over 30 conferences all around the |
| world with hundreds of presentations and tens of thousands of attendees. |
| There are hundreds of Go meetups meeting monthly covering much of the globe. |
| Wherever you live, you are likely to find a Go meetup nearby. |
| |
| Two different organizations have been established to help with inclusivity in |
| the Go community, Go Bridge and Women Who Go; the latter has grown to over 25 |
| chapters. Both have been instrumental in offering free trainings. In 2017 |
| alone over 50 scholarships to conferences have been given through efforts of |
| Go Bridge and Women Who Go. |
| |
| This year we had two significant firsts for the Go project. We had our first |
| [[https://blog.golang.org/contributors-summit][contributor summit]] where people from across the Go community came together to |
| discuss the needs and future of the Go project. Shortly after, we had the |
| first [[https://blog.golang.org/contributor-workshop][Go contributor workshop]] |
| where hundreds of people came to make their first Go contribution. |
| |
| .image 8years/photo.jpg |
| |
| Photo by Sameer Ajmani |
| |
| ** Go’s impact on open source |
| |
| Go has become a major force in the world of open source powering some of the |
| most popular projects and enabling innovations across many industries. Find |
| thousands of additional applications and libraries at [[https://github.com/avelino/awesome-go][awesome-go]]. Here are |
| just a handful of the most popular: |
| |
| - [[https://mobyproject.org/][Moby]] (formerly Docker) is a tool for packaging and running applications in lightweight containers. Its creator Solomon Hykes cited Go's standard library, concurrency primitives, and ease of deployment as key factors, and said "To put it simply, if Docker had not been written in Go, it would not have been as successful." |
| |
| - [[https://kubernetes.io/][Kubernetes]] is a system for automating deployment, scaling and management of containerized applications. Initially designed by Google and used in the Google cloud, Kubernetes now is a critical part of every major cloud offering. |
| |
| - [[https://gohugo.io/][Hugo]] is now the most popular open-source static website engine. With its amazing speed and flexibility, Hugo makes building websites fun again. According to [[https://w3techs.com/technologies/overview/content_management/all][w3techs]], Hugo now has nearly 3x the usage of Jekyll, the former leader. |
| |
| - [[https://prometheus.io/][Prometheus]] is an open source monitoring solution and time series database that powers metrics and alerting designed to be the system you go to during an outage to allow you to quickly diagnose problems. |
| |
| - [[https://grafana.com/][Grafana]] is an open source, feature-rich metrics dashboard and graph editor for Graphite, Elasticsearch, OpenTSDB, Prometheus and InfluxDB. |
| |
| - [[https://getlantern.org/][Lantern]] delivers fast, reliable and secure access to blocked websites and apps. |
| |
| - [[https://syncthing.net/][Syncthing]] is an open-source cross platform peer-to-peer continuous file synchronization application |
| |
| - [[https://keybase.io/][Keybase]] is a new and free security app for mobile phones and computers. Think of it as an open source Dropbox & Slack with end-to-end encryption public-key cryptography. |
| |
| - [[https://github.com/junegunn/fzf][Fzf]] is an interactive Unix filter for command-line that can be used with any list; files, command history, processes, hostnames, bookmarks, git commits, etc. Fzf supports Unix, macOS and has beta support for Windows. It also can operate as a vim plugin. |
| |
| Many of these authors have said that their projects would not exist without |
| Go. Some like Kubernetes and Docker created entirely new solutions. Others |
| like Hugo, Syncthing and Fzf created more refined experiences where many |
| solutions already existed. The popularity of these applications alone is |
| proof that Go is a ideal language for a broad set of use cases. |
| |
| ** Thank You |
| |
| This is the eighth time we have had the pleasure of writing a birthday blog |
| post for Go and we continue to be overwhelmed by and grateful for the |
| enthusiasm and support of the Go community. |
| |
| Since Go was first open sourced we have had 10 releases of the language, |
| libraries and tooling with more than 1680 contributors making over 50,000 |
| commits to the project's 34 repositories; More than double the number of |
| contributors and nearly double the number of commits from only [[https://blog.golang.org/6years][two years ago]]. |
| This year we announced that we have begun planning [[https://blog.golang.org/toward-go2][Go 2]], our first major |
| revision of the language and tooling. |
| |
| The Go team would like to thank everyone who has contributed to the project, |
| whether you participate by contributing changes, reporting bugs, sharing your |
| expertise in design discussions, writing blog posts or books, running events, |
| attending or speaking at events, helping others learn or improve, open |
| sourcing Go packages you wrote, contributing artwork, introducing Go to |
| someone, or being part of the Go community. Without you, Go would not be as |
| complete, useful, or successful as it is today. |
| |
| Thank you, and here’s to eight more years! |