SlideShare a Scribd company logo
Go’s 10th Birthday
Golang Taipei #45 November 2019
Evan Lin – @Evan_Lin
This Presentation was developed by:
Who am I ?
10th birthday limited edition Gopher art!
10th birthday limited “TAIPEI” edition Gopher art!
Why I Learn Go?
SECTION ONE
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Go is fast!
“gofmt/goimport” save your time for coding convention / style
“Go test” save your time for preparing and running testing
“Godoc” save your time for documentation
“Godoc” save your time for documentation
The Beginning
SECTION TWO
● Rob and Robert shared
same office.
● Actual swivel chairs
involved.
● Just like XKCD, but with
lightsabers instead of
swords.
00. YEAR 0: 2007-2009
GO’S
ORIGINS
Rob Pike is waiting 50 minutes for a C++ Program to
Compile
Rob
Pike
Robert
Griesemer
inventing a new programming language
01. BACKGROUND
THE
REASON
FOR GO.
What changed
everything for us.
Goals for Go
Go was designed by and for people who write—and read and
debug and maintain—large software systems.
Go's purpose is not research into programming
language design.
Go's purpose is to make its designers'
programming lives better.
ELIMINATE
SLOWNESS
ELIMINATE
CLUMSINESS
IMPROVE
EFFECTIVENESS
IMPROVE
SCALE
BRIAN W. KERNIGHAN
“Debugging is twice as hard as writing the code in
the first place. Therefore, if you write the code as
cleverly as possible, you are, by definition, not
smart enough to debug it.”
01. YEAR 0-
GO 1.0:
HELLO WORLD
2009 Happy Gopher Day
After 15 months, Go is open sourced on
November 10, 2009
2009/11/10 Go
open-sourced.
YEAR 1 - 2010
Spreading
the word
2010: The early years:
The days when Rob, Russ, et. al. would travel around to conferences
to talk about Go.
2010/03/18: Go Blog
2010/06/23: Go
course
2010/09/15: Go
Playground
YEAR 3- 2012
FOO
March 2012 - Go reaches 1.0
Significance and importance of a compatibility promise in modern
software development
2012/03/28: Go 1.0
YEAR 4 - 2013
Early
Adoption
Language
Go 1.1 release. Race Detector. Performance
improvements to GC. `map`. Scheduler has been
re-written.
● 6-month release cycle
● 1st Go conference held (Tokyo Japan)
- Docker release (written in Go)
2013/May Go 1.1
2013/Aug Docker
released.
YEAR 5 - 2014
Getting BIG
Language
Go 1.3 released. Stack improvements (now allocated
contiguous segments of memory), linker overhaul,
1.4 release. - Official support for Android
golang.org/x/mobile. DVCS moves from mercurial to
git. go generate introduced
April: Gophercon, held in Denver
Kuberenetes is open sourced
1st US & European conferences
● 500 contributors
Kuberrnetes open-sourced in June
2014/Jun Go 1.3
2014/Jun
Kubernetes
open-sourced.
2014/Dec Go 1.4
YEAR 6 - 2015
COMMUNITY
Go 1.5
● Go compiler rewritten in Go
○ If you want to build go after 1.5, you need to install
go 1.4.2 first.
● Garbage collector re-engineered concurrently
● Women Who Go & GoBridge born
● 1st Indian & Chinese conferences
● Experimental support for “vendoring” (using
GO15VENDOREXPERIMENT)
2015/Aug Go 1.5
YEAR 7 - 2016
HTTP2
2016/02/13 Go 1.6
2016/08/15 Go 1.7
Go 1.6
● HTTP/2 & Context introduced
● 1st Lat Am & Middle East conferences
● Top 5 most loved languages (SO)
● 1st Go user survey
● 1000 contributors
● Default “GO15VENDOREXPERIMENT” on
Go 1.7
● Context package
● Remove “GO15VENDOREXPERIMENT”
YEAR 8- 2017
1 MILLION
2017/02/16 Go 1.8
2017/08/24 Go 1.9
GO 1.8
● Plugin: Package loading at runtime.
● `go fix` support context issue
“golang.org/x/net/context” into standard library
“context”.
● GC < ms pauses
Go 1.9
● Type aliases
● #1 language developers want to use (1st time)
● 1 million (estimated) users
● 13 conferences
● 1st contributor summit
- 7.1% of developers use Go
in 2018 StackOverflow survey
- Up from 4.2% in 2017
- 76% YoY growth of Go users
- 700,000+ new users
YEAR 8-9: 2017-2018
GO’S
GROWTH
2017/02/16 Go 1.8
2017/08/24 Go 1.9
Go has ~1.6M users worldwide
YEAR 8-9: 2017-2018
GO’S
MOMENTUM
- #1 language to learn in 2018 on
HackerRank (38% of responses)
- #3 language for hiring posts on
Hacker News
- #1 Median Pay and #1 Future
Language (23% of responses) on
2017 O’Reilly Dev Salary Survey
2017/02/16 Go 1.8
2017/08/24 Go 1.9
Go is in demand
YEAR 9- 2018
Modules
2018/02/16: Go 1.10
2018/08/24: Go 1.11
Go 1.10
● Note: your need write “1.10” (not 1.10) in travis ci.
● Vgo paper, and vgo arrived.
Go 1.11
● Go modules introduced
● Port to WebAssembly
● More contributions from outside the Go team (1st time)
● 19 Go conferences
● Go new brand & logo
● Go #4 language by PR on github
● #1 lang devs intend to learn
YEAR 19- 2019
ARRIVAL
2019/Feb Go 1.12
2019/May
Playground 3rd party
import.
2019/July Go GDE
2019/Sep Go 1.13
Go 1.12
● Go vet re-written
● TLS 1.3 support (Enable by tls13=1)
● “GO111MODULE” default auto
Go 1.13
● “GO111MODULE” default auto
● TLS 1.3 by default
● Error Warpping
Others
● Go Developer network
● 28 Go conferences
● Major performance gains & memory reduction
● Go module mirror / checksum DB launched
● 2000 contributors (Double in 1 yr)
How to become expert
SECTION THREE
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
Golang taipei #45 10th birthday
SHARE! SHARE! Golang Taipei needs speakers
Map of the Go Community in 2017
Growth
● 76% YoY increase
● 700,000+ new Go developers
Inclusion: “I feel welcome in the Go community”
● 400% YoY improvement for women
● 300% YoY improvement for ethnically underrepresented
Reference
● Go timeline table from Google
● Go version changes from my blog
● The Why Of Go
● Slide template
Yes!
GopherCon Taiwan!
We need your help!
Introducing LINE SPOT
商家搜尋神器LINE SPOT新登場!路痴與懶人的福音 http://official-blog.line.me/tw/archives/81291010.html
Introducing LINE SPOT
商家搜尋神器LINE SPOT新登場!路痴與懶人的福音 http://official-blog.line.me/tw/archives/81291010.html
LINE Developer Meetup #10 2019/12/04
https://linegroup.kktix.cc/events/20191204-10
Golang taipei #45 10th birthday
Thank You
END

More Related Content

PPTX
How I become Go GDE
PDF
How to master a programming language: a Golang example"
PDF
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
PDF
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
PDF
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
PDF
Project52
PDF
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
PDF
Git for Beginners
How I become Go GDE
How to master a programming language: a Golang example"
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Project52
COSCUP 2016: Project 52 每週一個小專案來學習 Golang
Git for Beginners

What's hot (20)

PDF
GoLang Introduction
PDF
Golang online course
PDF
Modern Web 2016: Using Golang to build a smart IM Bot
PDF
Kotlin react bkk 3.0.0
PPTX
Git Going w/ Git
PPTX
Introduction to GoLang
PPTX
Git & Github
PPTX
GitLab 8.5 Highlights and Step-by-step tutorial
PPTX
Git and git workflow best practice
PDF
RESTful API Development using Go
PPTX
JAZOON'13 - Andres Almiray - Rocket Propelled Java
PPTX
Hacktoberfest 2020 - Open source for beginners
PDF
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
PDF
Building Command Line Tools with Golang
PPT
OSGi Versioning & Testing
PPTX
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
PDF
componentDidCatch and Error Boundaries in React v16+
PPTX
Building a Portable Testing Rig with GoConvey and Docker
PDF
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
GoLang Introduction
Golang online course
Modern Web 2016: Using Golang to build a smart IM Bot
Kotlin react bkk 3.0.0
Git Going w/ Git
Introduction to GoLang
Git & Github
GitLab 8.5 Highlights and Step-by-step tutorial
Git and git workflow best practice
RESTful API Development using Go
JAZOON'13 - Andres Almiray - Rocket Propelled Java
Hacktoberfest 2020 - Open source for beginners
Sprachsteuerung mit dem Google Assistant – Add a new User Interface to your P...
Building Command Line Tools with Golang
OSGi Versioning & Testing
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
componentDidCatch and Error Boundaries in React v16+
Building a Portable Testing Rig with GoConvey and Docker
Using Git in Eclipse - Eclipse Summit Europe 2010-11-03
Ad

Similar to Golang taipei #45 10th birthday (20)

PDF
State of the Gopher Nation - Golang - August 2017
PDF
PDF
Google’s Go Programming Language Is Going Places — By How Far?
PDF
The State of Go - Andrew Gerrand
PDF
Write in Go
PPT
A First Look at Google's Go Programming Language
PPT
Google's Go Programming Language - Introduction
PDF
Introduction to go, and why it's awesome
PPTX
Golang (Go Programming Language)
PPTX
Golang - Overview of Go (golang) Language
PDF
The Awesomeness of Go
PPTX
go language- haseeb.pptx
PDF
Let's Go @ St. Louis CocoaHeads
PDF
Gophercon 2016 recap
PDF
Getting started with Go - Florin Patan - Codemotion Rome 2017
PDF
PPTX
Introduction to go lang
PDF
Why you should care about Go (Golang)
PDF
Hire golang developers and make the shift to brighter business future (build ...
PDF
An introduction to programming in Go
State of the Gopher Nation - Golang - August 2017
Google’s Go Programming Language Is Going Places — By How Far?
The State of Go - Andrew Gerrand
Write in Go
A First Look at Google's Go Programming Language
Google's Go Programming Language - Introduction
Introduction to go, and why it's awesome
Golang (Go Programming Language)
Golang - Overview of Go (golang) Language
The Awesomeness of Go
go language- haseeb.pptx
Let's Go @ St. Louis CocoaHeads
Gophercon 2016 recap
Getting started with Go - Florin Patan - Codemotion Rome 2017
Introduction to go lang
Why you should care about Go (Golang)
Hire golang developers and make the shift to brighter business future (build ...
An introduction to programming in Go
Ad

More from Evan Lin (13)

PDF
好書分享: 一人公司 Company Of One
PDF
iThome Modern Web 2018: 如何打造高效的機器學習平台
PPTX
Kubernetes secret introduction
PDF
Consistent hashing algorithmic tradeoffs
PDF
GTG30: Introduction vgo
PDF
Kubernetes v.s. mesos
PDF
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
PDF
Google APAC Machine Learning Expert Day
PDF
Use go channel to write a disk queue
PDF
Gopher Taiwan Gathering #16: Build a smart bot via Golang
PDF
Docker swarm introduction
PDF
Docker introduction in Hardware Company
PDF
Host Line Bot with Golang
好書分享: 一人公司 Company Of One
iThome Modern Web 2018: 如何打造高效的機器學習平台
Kubernetes secret introduction
Consistent hashing algorithmic tradeoffs
GTG30: Introduction vgo
Kubernetes v.s. mesos
iThome Cloud Summit: The next generation of data center: Machine Intelligent ...
Google APAC Machine Learning Expert Day
Use go channel to write a disk queue
Gopher Taiwan Gathering #16: Build a smart bot via Golang
Docker swarm introduction
Docker introduction in Hardware Company
Host Line Bot with Golang

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Modernizing your data center with Dell and AMD
PDF
Approach and Philosophy of On baking technology
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PPTX
A Presentation on Artificial Intelligence
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
20250228 LYD VKU AI Blended-Learning.pptx
Encapsulation theory and applications.pdf
Machine learning based COVID-19 study performance prediction
Modernizing your data center with Dell and AMD
Approach and Philosophy of On baking technology
Chapter 3 Spatial Domain Image Processing.pdf
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
A Presentation on Artificial Intelligence
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
The Rise and Fall of 3GPP – Time for a Sabbatical?
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Digital-Transformation-Roadmap-for-Companies.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Network Security Unit 5.pdf for BCA BBA.
Advanced methodologies resolving dimensionality complications for autism neur...
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Spectral efficient network and resource selection model in 5G networks
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”

Golang taipei #45 10th birthday

  • 1. Go’s 10th Birthday Golang Taipei #45 November 2019 Evan Lin – @Evan_Lin This Presentation was developed by:
  • 3. 10th birthday limited edition Gopher art!
  • 4. 10th birthday limited “TAIPEI” edition Gopher art!
  • 5. Why I Learn Go? SECTION ONE
  • 11. “gofmt/goimport” save your time for coding convention / style
  • 12. “Go test” save your time for preparing and running testing
  • 13. “Godoc” save your time for documentation
  • 14. “Godoc” save your time for documentation
  • 16. ● Rob and Robert shared same office. ● Actual swivel chairs involved. ● Just like XKCD, but with lightsabers instead of swords. 00. YEAR 0: 2007-2009 GO’S ORIGINS Rob Pike is waiting 50 minutes for a C++ Program to Compile Rob Pike Robert Griesemer inventing a new programming language
  • 17. 01. BACKGROUND THE REASON FOR GO. What changed everything for us. Goals for Go Go was designed by and for people who write—and read and debug and maintain—large software systems. Go's purpose is not research into programming language design. Go's purpose is to make its designers' programming lives better. ELIMINATE SLOWNESS ELIMINATE CLUMSINESS IMPROVE EFFECTIVENESS IMPROVE SCALE
  • 18. BRIAN W. KERNIGHAN “Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.”
  • 19. 01. YEAR 0- GO 1.0: HELLO WORLD 2009 Happy Gopher Day After 15 months, Go is open sourced on November 10, 2009 2009/11/10 Go open-sourced.
  • 20. YEAR 1 - 2010 Spreading the word 2010: The early years: The days when Rob, Russ, et. al. would travel around to conferences to talk about Go. 2010/03/18: Go Blog 2010/06/23: Go course 2010/09/15: Go Playground
  • 21. YEAR 3- 2012 FOO March 2012 - Go reaches 1.0 Significance and importance of a compatibility promise in modern software development 2012/03/28: Go 1.0
  • 22. YEAR 4 - 2013 Early Adoption Language Go 1.1 release. Race Detector. Performance improvements to GC. `map`. Scheduler has been re-written. ● 6-month release cycle ● 1st Go conference held (Tokyo Japan) - Docker release (written in Go) 2013/May Go 1.1 2013/Aug Docker released.
  • 23. YEAR 5 - 2014 Getting BIG Language Go 1.3 released. Stack improvements (now allocated contiguous segments of memory), linker overhaul, 1.4 release. - Official support for Android golang.org/x/mobile. DVCS moves from mercurial to git. go generate introduced April: Gophercon, held in Denver Kuberenetes is open sourced 1st US & European conferences ● 500 contributors Kuberrnetes open-sourced in June 2014/Jun Go 1.3 2014/Jun Kubernetes open-sourced. 2014/Dec Go 1.4
  • 24. YEAR 6 - 2015 COMMUNITY Go 1.5 ● Go compiler rewritten in Go ○ If you want to build go after 1.5, you need to install go 1.4.2 first. ● Garbage collector re-engineered concurrently ● Women Who Go & GoBridge born ● 1st Indian & Chinese conferences ● Experimental support for “vendoring” (using GO15VENDOREXPERIMENT) 2015/Aug Go 1.5
  • 25. YEAR 7 - 2016 HTTP2 2016/02/13 Go 1.6 2016/08/15 Go 1.7 Go 1.6 ● HTTP/2 & Context introduced ● 1st Lat Am & Middle East conferences ● Top 5 most loved languages (SO) ● 1st Go user survey ● 1000 contributors ● Default “GO15VENDOREXPERIMENT” on Go 1.7 ● Context package ● Remove “GO15VENDOREXPERIMENT”
  • 26. YEAR 8- 2017 1 MILLION 2017/02/16 Go 1.8 2017/08/24 Go 1.9 GO 1.8 ● Plugin: Package loading at runtime. ● `go fix` support context issue “golang.org/x/net/context” into standard library “context”. ● GC < ms pauses Go 1.9 ● Type aliases ● #1 language developers want to use (1st time) ● 1 million (estimated) users ● 13 conferences ● 1st contributor summit
  • 27. - 7.1% of developers use Go in 2018 StackOverflow survey - Up from 4.2% in 2017 - 76% YoY growth of Go users - 700,000+ new users YEAR 8-9: 2017-2018 GO’S GROWTH 2017/02/16 Go 1.8 2017/08/24 Go 1.9 Go has ~1.6M users worldwide
  • 28. YEAR 8-9: 2017-2018 GO’S MOMENTUM - #1 language to learn in 2018 on HackerRank (38% of responses) - #3 language for hiring posts on Hacker News - #1 Median Pay and #1 Future Language (23% of responses) on 2017 O’Reilly Dev Salary Survey 2017/02/16 Go 1.8 2017/08/24 Go 1.9 Go is in demand
  • 29. YEAR 9- 2018 Modules 2018/02/16: Go 1.10 2018/08/24: Go 1.11 Go 1.10 ● Note: your need write “1.10” (not 1.10) in travis ci. ● Vgo paper, and vgo arrived. Go 1.11 ● Go modules introduced ● Port to WebAssembly ● More contributions from outside the Go team (1st time) ● 19 Go conferences ● Go new brand & logo ● Go #4 language by PR on github ● #1 lang devs intend to learn
  • 30. YEAR 19- 2019 ARRIVAL 2019/Feb Go 1.12 2019/May Playground 3rd party import. 2019/July Go GDE 2019/Sep Go 1.13 Go 1.12 ● Go vet re-written ● TLS 1.3 support (Enable by tls13=1) ● “GO111MODULE” default auto Go 1.13 ● “GO111MODULE” default auto ● TLS 1.3 by default ● Error Warpping Others ● Go Developer network ● 28 Go conferences ● Major performance gains & memory reduction ● Go module mirror / checksum DB launched ● 2000 contributors (Double in 1 yr)
  • 31. How to become expert SECTION THREE
  • 38. SHARE! SHARE! Golang Taipei needs speakers
  • 39. Map of the Go Community in 2017 Growth ● 76% YoY increase ● 700,000+ new Go developers Inclusion: “I feel welcome in the Go community” ● 400% YoY improvement for women ● 300% YoY improvement for ethnically underrepresented
  • 40. Reference ● Go timeline table from Google ● Go version changes from my blog ● The Why Of Go ● Slide template
  • 42. Introducing LINE SPOT 商家搜尋神器LINE SPOT新登場!路痴與懶人的福音 http://official-blog.line.me/tw/archives/81291010.html
  • 43. Introducing LINE SPOT 商家搜尋神器LINE SPOT新登場!路痴與懶人的福音 http://official-blog.line.me/tw/archives/81291010.html
  • 44. LINE Developer Meetup #10 2019/12/04 https://linegroup.kktix.cc/events/20191204-10