SlideShare a Scribd company logo
1 of 11
Download to read offline
Write in Go  half a decade old now...
What is Go?   • Productive  • Scalable  • Garbage-collected  • Simple  • Fun
What is the motivation behind this language?   • Go is a programming language designed by Google  • It's designed to help solve Google's problems  • Google has BIG problems  • Problems include, thousands of engineers, C++, Java, Python...  • And lots of machines and code...
Who made this thing?   • Ken Thompson (B, C, Unix, UTF-8)  • Rob Pike (Unix, UTF-8)  • Robert Griesemer (Hotspot, JVM)  • And a few other engineers at Google
Something to bear in mind...   • Go was designed for and by people who write, read, debug large software  • Go's purpose is not research programming language  • Go is here to make programming easier for the team and the business  • Go is amazingly productive and simple to maintain  • Go helps you become a better programmer
Who's using it?
Packages   • Go core packages are amazing  • Supports most of the requirements  • Lots of solid third party packages  • Core packages maintained by Google
Deployment   • Compiles to machine code  • go build <package name>  • No more Spacewalk  • No more source code on production servers  • Runtime errors sorted well before
a few useful Go commands   • go fmt  • go tool pprof (live profiling)  • go get  • go test  • godoc
Future of Go   • 1.4 - start of Android support (1 Dec 2014)  • 1.5 - iOS support planned (mid next year)  • 1.5 - GOTRACE - emits Chrome trace viewer  • 1.5 - GC concurrent no stopping the world  • Lots of excellent features too many to list here
Thank you!  any questions?

More Related Content

What's hot

Reactive declarative UI as code - DroidCon Vietnam 2019
Reactive declarative UI as code - DroidCon Vietnam 2019Reactive declarative UI as code - DroidCon Vietnam 2019
Reactive declarative UI as code - DroidCon Vietnam 2019oradoe
 
Building Command Line Tools with Golang
Building Command Line Tools with GolangBuilding Command Line Tools with Golang
Building Command Line Tools with GolangTakaaki Mizuno
 
Telegram bots with python why not- v2.0
Telegram bots with python  why not- v2.0Telegram bots with python  why not- v2.0
Telegram bots with python why not- v2.0Carlos Martins
 
Telegram bots with python why not- v1.0
Telegram bots with python  why not- v1.0Telegram bots with python  why not- v1.0
Telegram bots with python why not- v1.0Carlos Martins
 
TypeScript 101 - Women Who Code - CONNECT 2018
TypeScript 101 - Women Who Code - CONNECT 2018TypeScript 101 - Women Who Code - CONNECT 2018
TypeScript 101 - Women Who Code - CONNECT 2018Frances Coronel
 
Flutter beers and pizza
Flutter beers and pizzaFlutter beers and pizza
Flutter beers and pizzaJon Durán
 
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)Luis Rivera
 
Unity: la shell di ubuntu
Unity: la shell di ubuntuUnity: la shell di ubuntu
Unity: la shell di ubuntuMarco Trevisan
 
Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)Peter Kofler
 
C++ is like JavaScript
C++ is like JavaScriptC++ is like JavaScript
C++ is like JavaScriptPatricia Aas
 
Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0k-takata
 
Translating Fedora Documentation: Indonesian Team Perspective
Translating Fedora Documentation: Indonesian Team PerspectiveTranslating Fedora Documentation: Indonesian Team Perspective
Translating Fedora Documentation: Indonesian Team PerspectiveAndika Triwidada
 
Getting started with Go - Florin Patan - Codemotion Rome 2017
Getting started with Go - Florin Patan - Codemotion Rome 2017Getting started with Go - Florin Patan - Codemotion Rome 2017
Getting started with Go - Florin Patan - Codemotion Rome 2017Codemotion
 
Javaday Istanbul 2017 - Test your Java applications with Spock
Javaday Istanbul 2017 - Test your Java applications with SpockJavaday Istanbul 2017 - Test your Java applications with Spock
Javaday Istanbul 2017 - Test your Java applications with SpockIván López Martín
 
Drupal Contribution
Drupal ContributionDrupal Contribution
Drupal ContributionPeter Arato
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django BasicsRahilMemon5
 
Nordic Testing Days - Tallinn 2017 - Test your Java applications with Spock
Nordic Testing Days - Tallinn 2017 - Test your Java applications with SpockNordic Testing Days - Tallinn 2017 - Test your Java applications with Spock
Nordic Testing Days - Tallinn 2017 - Test your Java applications with SpockIván López Martín
 

What's hot (20)

Reactive declarative UI as code - DroidCon Vietnam 2019
Reactive declarative UI as code - DroidCon Vietnam 2019Reactive declarative UI as code - DroidCon Vietnam 2019
Reactive declarative UI as code - DroidCon Vietnam 2019
 
Tdd presentation
Tdd presentationTdd presentation
Tdd presentation
 
Building Command Line Tools with Golang
Building Command Line Tools with GolangBuilding Command Line Tools with Golang
Building Command Line Tools with Golang
 
Telegram bots with python why not- v2.0
Telegram bots with python  why not- v2.0Telegram bots with python  why not- v2.0
Telegram bots with python why not- v2.0
 
Telegram bots with python why not- v1.0
Telegram bots with python  why not- v1.0Telegram bots with python  why not- v1.0
Telegram bots with python why not- v1.0
 
TypeScript 101 - Women Who Code - CONNECT 2018
TypeScript 101 - Women Who Code - CONNECT 2018TypeScript 101 - Women Who Code - CONNECT 2018
TypeScript 101 - Women Who Code - CONNECT 2018
 
Flutter beers and pizza
Flutter beers and pizzaFlutter beers and pizza
Flutter beers and pizza
 
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
Tetuan Valley Startup School - Guest mentor Angel Luis Quesada (Kubide)
 
Unity: la shell di ubuntu
Unity: la shell di ubuntuUnity: la shell di ubuntu
Unity: la shell di ubuntu
 
Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)Idiomatic R for Rosetta Code (2013)
Idiomatic R for Rosetta Code (2013)
 
C++ is like JavaScript
C++ is like JavaScriptC++ is like JavaScript
C++ is like JavaScript
 
Introduction to Vim 8.0
Introduction to Vim 8.0Introduction to Vim 8.0
Introduction to Vim 8.0
 
Translating Fedora Documentation: Indonesian Team Perspective
Translating Fedora Documentation: Indonesian Team PerspectiveTranslating Fedora Documentation: Indonesian Team Perspective
Translating Fedora Documentation: Indonesian Team Perspective
 
Getting started with Go - Florin Patan - Codemotion Rome 2017
Getting started with Go - Florin Patan - Codemotion Rome 2017Getting started with Go - Florin Patan - Codemotion Rome 2017
Getting started with Go - Florin Patan - Codemotion Rome 2017
 
Javaday Istanbul 2017 - Test your Java applications with Spock
Javaday Istanbul 2017 - Test your Java applications with SpockJavaday Istanbul 2017 - Test your Java applications with Spock
Javaday Istanbul 2017 - Test your Java applications with Spock
 
Drupal Contribution
Drupal ContributionDrupal Contribution
Drupal Contribution
 
Go -> rust
Go ->   rustGo ->   rust
Go -> rust
 
Me&g@home
Me&g@home Me&g@home
Me&g@home
 
Python Django Basics
Python Django BasicsPython Django Basics
Python Django Basics
 
Nordic Testing Days - Tallinn 2017 - Test your Java applications with Spock
Nordic Testing Days - Tallinn 2017 - Test your Java applications with SpockNordic Testing Days - Tallinn 2017 - Test your Java applications with Spock
Nordic Testing Days - Tallinn 2017 - Test your Java applications with Spock
 

Similar to Write Go Productive Scalable Garbage-collected Simple Language

Golang (Go Programming Language)
Golang (Go Programming Language)Golang (Go Programming Language)
Golang (Go Programming Language)ShubhamMishra485
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go langAmal Mohan N
 
5 Reasons why Business Choose Go Program for Software Development
5 Reasons why Business Choose Go Program for Software Development5 Reasons why Business Choose Go Program for Software Development
5 Reasons why Business Choose Go Program for Software DevelopmentNelsonSEO
 
How go makes us faster (May 2015)
How go makes us faster (May 2015)How go makes us faster (May 2015)
How go makes us faster (May 2015)Wilfried Schobeiri
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageAniruddha Chakrabarti
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to GoSimon Hewitt
 
The Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventureThe Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventuremylittleadventure
 
The Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventureThe Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventureValéry BERNARD
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and GolangAlmog Baku
 
Android is going to Go! - Android and goland - Almog Baku
Android is going to Go! - Android and goland - Almog BakuAndroid is going to Go! - Android and goland - Almog Baku
Android is going to Go! - Android and goland - Almog BakuDroidConTLV
 
Golang : A Hype or the Future?
Golang : A Hype or the Future?Golang : A Hype or the Future?
Golang : A Hype or the Future?Mindfire LLC
 
FOS Desktop GIS notes
FOS Desktop GIS notesFOS Desktop GIS notes
FOS Desktop GIS notesatlefren
 
go language- haseeb.pptx
go language- haseeb.pptxgo language- haseeb.pptx
go language- haseeb.pptxArsalanMaqsood1
 
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180Mahmoud Samir Fayed
 

Similar to Write Go Productive Scalable Garbage-collected Simple Language (20)

Golang (Go Programming Language)
Golang (Go Programming Language)Golang (Go Programming Language)
Golang (Go Programming Language)
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
 
5 Reasons why Business Choose Go Program for Software Development
5 Reasons why Business Choose Go Program for Software Development5 Reasons why Business Choose Go Program for Software Development
5 Reasons why Business Choose Go Program for Software Development
 
Why Go Lang?
Why Go Lang?Why Go Lang?
Why Go Lang?
 
How go makes us faster (May 2015)
How go makes us faster (May 2015)How go makes us faster (May 2015)
How go makes us faster (May 2015)
 
Golang - Overview of Go (golang) Language
Golang - Overview of Go (golang) LanguageGolang - Overview of Go (golang) Language
Golang - Overview of Go (golang) Language
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
The Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventureThe Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventure
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
Linux Sucks
Linux SucksLinux Sucks
Linux Sucks
 
The Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventureThe Go programming language - Intro by MyLittleAdventure
The Go programming language - Intro by MyLittleAdventure
 
Android is going to Go! Android and Golang
Android is going to Go! Android and GolangAndroid is going to Go! Android and Golang
Android is going to Go! Android and Golang
 
Android is going to Go! - Android and goland - Almog Baku
Android is going to Go! - Android and goland - Almog BakuAndroid is going to Go! - Android and goland - Almog Baku
Android is going to Go! - Android and goland - Almog Baku
 
Golang : A Hype or the Future?
Golang : A Hype or the Future?Golang : A Hype or the Future?
Golang : A Hype or the Future?
 
Let's Contribute
Let's ContributeLet's Contribute
Let's Contribute
 
Go fundamentals
Go fundamentalsGo fundamentals
Go fundamentals
 
FOS Desktop GIS notes
FOS Desktop GIS notesFOS Desktop GIS notes
FOS Desktop GIS notes
 
Opensource Software usability
Opensource Software usabilityOpensource Software usability
Opensource Software usability
 
go language- haseeb.pptx
go language- haseeb.pptxgo language- haseeb.pptx
go language- haseeb.pptx
 
The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180The Ring programming language version 1.5.1 book - Part 4 of 180
The Ring programming language version 1.5.1 book - Part 4 of 180
 

More from jaechoi83

Melb energy institute presentation2
Melb energy institute presentation2Melb energy institute presentation2
Melb energy institute presentation2jaechoi83
 
Melbourne Energy Institute
Melbourne Energy InstituteMelbourne Energy Institute
Melbourne Energy Institutejaechoi83
 
Crdc presentation 2
Crdc presentation 2Crdc presentation 2
Crdc presentation 2jaechoi83
 
Cdrc presentation
Cdrc presentationCdrc presentation
Cdrc presentationjaechoi83
 
Vensys main page image 2
Vensys main page image 2Vensys main page image 2
Vensys main page image 2jaechoi83
 
Maranoa main image
Maranoa main imageMaranoa main image
Maranoa main imagejaechoi83
 
Ca technology main page image
Ca technology main page imageCa technology main page image
Ca technology main page imagejaechoi83
 
Vensys main page image
Vensys main page imageVensys main page image
Vensys main page imagejaechoi83
 
Optus main page image
Optus main page imageOptus main page image
Optus main page imagejaechoi83
 
Little led main image
Little led main imageLittle led main image
Little led main imagejaechoi83
 
Virtual careers fair banana shire council the shire of opportunity delegate...
Virtual careers fair banana shire council   the shire of opportunity delegate...Virtual careers fair banana shire council   the shire of opportunity delegate...
Virtual careers fair banana shire council the shire of opportunity delegate...jaechoi83
 
Virtual careers fair banana shire council the shire of opportunity
Virtual careers fair banana shire council   the shire of opportunityVirtual careers fair banana shire council   the shire of opportunity
Virtual careers fair banana shire council the shire of opportunityjaechoi83
 
Virtual careers fair banana shire council the shire of opportunity
Virtual careers fair banana shire council   the shire of opportunityVirtual careers fair banana shire council   the shire of opportunity
Virtual careers fair banana shire council the shire of opportunityjaechoi83
 
Virtual careers fair banana shire council the shire of opportunity
Virtual careers fair banana shire council   the shire of opportunityVirtual careers fair banana shire council   the shire of opportunity
Virtual careers fair banana shire council the shire of opportunityjaechoi83
 
Banana shire council, the shire of opportunity
Banana shire council, the shire of opportunityBanana shire council, the shire of opportunity
Banana shire council, the shire of opportunityjaechoi83
 
Roberta ryan webcast presentation
Roberta ryan webcast presentationRoberta ryan webcast presentation
Roberta ryan webcast presentationjaechoi83
 
Mornington image gallery
Mornington image galleryMornington image gallery
Mornington image galleryjaechoi83
 
Mornington image gallery
Mornington image galleryMornington image gallery
Mornington image galleryjaechoi83
 
Isaac image gallery
Isaac image galleryIsaac image gallery
Isaac image galleryjaechoi83
 
Bass coast image gallery
Bass coast image galleryBass coast image gallery
Bass coast image galleryjaechoi83
 

More from jaechoi83 (20)

Melb energy institute presentation2
Melb energy institute presentation2Melb energy institute presentation2
Melb energy institute presentation2
 
Melbourne Energy Institute
Melbourne Energy InstituteMelbourne Energy Institute
Melbourne Energy Institute
 
Crdc presentation 2
Crdc presentation 2Crdc presentation 2
Crdc presentation 2
 
Cdrc presentation
Cdrc presentationCdrc presentation
Cdrc presentation
 
Vensys main page image 2
Vensys main page image 2Vensys main page image 2
Vensys main page image 2
 
Maranoa main image
Maranoa main imageMaranoa main image
Maranoa main image
 
Ca technology main page image
Ca technology main page imageCa technology main page image
Ca technology main page image
 
Vensys main page image
Vensys main page imageVensys main page image
Vensys main page image
 
Optus main page image
Optus main page imageOptus main page image
Optus main page image
 
Little led main image
Little led main imageLittle led main image
Little led main image
 
Virtual careers fair banana shire council the shire of opportunity delegate...
Virtual careers fair banana shire council   the shire of opportunity delegate...Virtual careers fair banana shire council   the shire of opportunity delegate...
Virtual careers fair banana shire council the shire of opportunity delegate...
 
Virtual careers fair banana shire council the shire of opportunity
Virtual careers fair banana shire council   the shire of opportunityVirtual careers fair banana shire council   the shire of opportunity
Virtual careers fair banana shire council the shire of opportunity
 
Virtual careers fair banana shire council the shire of opportunity
Virtual careers fair banana shire council   the shire of opportunityVirtual careers fair banana shire council   the shire of opportunity
Virtual careers fair banana shire council the shire of opportunity
 
Virtual careers fair banana shire council the shire of opportunity
Virtual careers fair banana shire council   the shire of opportunityVirtual careers fair banana shire council   the shire of opportunity
Virtual careers fair banana shire council the shire of opportunity
 
Banana shire council, the shire of opportunity
Banana shire council, the shire of opportunityBanana shire council, the shire of opportunity
Banana shire council, the shire of opportunity
 
Roberta ryan webcast presentation
Roberta ryan webcast presentationRoberta ryan webcast presentation
Roberta ryan webcast presentation
 
Mornington image gallery
Mornington image galleryMornington image gallery
Mornington image gallery
 
Mornington image gallery
Mornington image galleryMornington image gallery
Mornington image gallery
 
Isaac image gallery
Isaac image galleryIsaac image gallery
Isaac image gallery
 
Bass coast image gallery
Bass coast image galleryBass coast image gallery
Bass coast image gallery
 

Write Go Productive Scalable Garbage-collected Simple Language

  • 1. Write in Go half a decade old now...
  • 2. What is Go? • Productive • Scalable • Garbage-collected • Simple • Fun
  • 3. What is the motivation behind this language? • Go is a programming language designed by Google • It's designed to help solve Google's problems • Google has BIG problems • Problems include, thousands of engineers, C++, Java, Python... • And lots of machines and code...
  • 4. Who made this thing? • Ken Thompson (B, C, Unix, UTF-8) • Rob Pike (Unix, UTF-8) • Robert Griesemer (Hotspot, JVM) • And a few other engineers at Google
  • 5. Something to bear in mind... • Go was designed for and by people who write, read, debug large software • Go's purpose is not research programming language • Go is here to make programming easier for the team and the business • Go is amazingly productive and simple to maintain • Go helps you become a better programmer
  • 7. Packages • Go core packages are amazing • Supports most of the requirements • Lots of solid third party packages • Core packages maintained by Google
  • 8. Deployment • Compiles to machine code • go build <package name> • No more Spacewalk • No more source code on production servers • Runtime errors sorted well before
  • 9. a few useful Go commands • go fmt • go tool pprof (live profiling) • go get • go test • godoc
  • 10. Future of Go • 1.4 - start of Android support (1 Dec 2014) • 1.5 - iOS support planned (mid next year) • 1.5 - GOTRACE - emits Chrome trace viewer • 1.5 - GC concurrent no stopping the world • Lots of excellent features too many to list here
  • 11. Thank you! any questions?