| 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! |