SlideShare a Scribd company logo
LET’S “GO”
An Introduction to Programming in Go
ST. LOUIS COCOAHEADS @ LAKE ST LOUIS MO, JAN 28 2020
Paul Balogh
Cloud Platform@NISC
@javaducky
● Pronounce “BAY-LOG”
● Cloud Platform Team Lead@NISC
● Java Developer ~19 years,
Software Engineer > 20
● Golang Enthusiast &
Occasional OSS Contributor
● Twitter/GitHub: @javaducky
I AM NOT an expert! Paul
Disclaimer:
About Me
Agenda
What is Go?
Meet WeeSVC
Demo
What’s Next?
Wrap Up
01
02
03
04
05
What is Go?
SECTION 01
https://golang.org/
Go is an open source
programming language that
makes it easy to build
simple, reliable, and
efficient software.
What is Go?
● Publicly announced by Google in November, 2009
● Created by Robert Griesemer, Rob Pike, and Ken
Thompson
● ThoughtWorks Technology Radar suggests Trial use in
2014; switches to Adopt 6 months later
● Vibrant, inclusive community striving for diversity backed
by the Go Community Code of Conduct
● Development language for major Cloud Native projects:
Kubernetes, Linkerd, Docker, Terraform, Vitess, etc.
About Go...
What is Go?
● Simple
● Efficient
● Reliable
● Productive
● Consistent
● Popular
About Go...
{Simplicity.
Advertised due to the smaller
number (25) of keywords and
single binaries. In reality, more
of a credo than a language
feature.
“Clear is better than clever.”
What is Go?
Rob Pike
… a desire to keep the
language specification
simple enough to hold in a
programmer’s head.
{Efficiency.
Compiles to native machine
code (32- & 64-bit x86, ARM).
Programs compile fast with a
very small binary result.
Built with concurrency in mind:
goroutines and channels.
What is Go?
{Reliability.
Managed memory with Garbage
Collection; pointer arithmetic
not allowed.
`defer` for use with cleanup
code.
What is Go?
{Productivity.
Large standard library.
Strong typing with type
inference.
Standardized test framework.
What is Go?
{Consistency.
Static analysis tools `gofmt`
and `golint` for ensuring
standard code and
documentation format.
“Gofmt’s style is no one’s favorite, yet
gofmt is everyone’s favorite.”
What is Go?
{Popularity.
Go is the #4 language in use in
GitHub behind JS, Python, and
Java based upon “stars.”
A trend driven by high-profile
programs in the Cloud Native
Computing Foundation (CNCF).
What is Go?
What is Go?
https://madnight.github.io/githut/#/stars/2019/4
Popularity
What is Go?
Gophers are multiplying!
Popularity
Meet WeeSVC
SECTION 02
Helps you select an application framework
by implementing a common service
application with various languages and
frameworks allowing for benchmark
comparison.
Wee S-V-C: a tiny service
About WeeSVC...
Meet WeeSVC
● First repo started May ‘19 with Java/SpringBoot
● Like TodoMVC but for backend (micro)services
● Many implementations; same use requirements
● weesvc-gorilla is currently defining standard
● It’s only me at this time
Where it’s headed
● Compatibility tests to ensure requirements met
● Testing with simulated load for profiling
● Website with published profiling results
Demo,
weesvc-gorilla
SECTION 03
THIS SLIDE INTENTIONALLY
LEFT BLANK
What Next?
SECTION 04
What Next?
● Finalized “requirements” for functionality
● Compatibility Suite to ensure service compliance
● Updated weesvc-[springboot|micronaut|gokit]
● Website with logo
● Profiling Suite for comparative analysis
And to appease the crowd...
● weesvc-vapor written in Swift
Coming Soon...
Wrap Up
SECTION 05
Wrap Up
● Go Developer Resources
https://go.dev/
● GoDoc - Package Documentation
https://godoc.org/
● Golang Weekly Newsletter
https://golangweekly.com/
● Exercism - Code Practice and Mentorship
https://exercism.io/
● Gopher Slack
https://gophers.slack.com/
Resources
GopherCon
June 22-25, 2020
Walt Disney World
Dolphin Resort
Orlando, Florida
$1,095 Corporate
$795 Self-Paid
Wrap Up
Questions?
StLGo Meetup
4th Wednesday/month
Project WeeSVC
github.com/weesvc
Paul Balogh
@javaducky
ThankYou!
Wrap Up

More Related Content

PDF
Open source, What | Why | How
Nikhil Agrawal
 
PPTX
Ready, set, go! An introduction to the Go programming language
RTigger
 
PDF
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
msohn
 
PPTX
Let's Git Together! - Hacktoberfest 2020
EqraKhattak
 
PDF
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
Evan Lin
 
PDF
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
Evan Lin
 
PPTX
Git kelvin
Kwong Wang Ho
 
PDF
Open design at large scale
shykes
 
Open source, What | Why | How
Nikhil Agrawal
 
Ready, set, go! An introduction to the Go programming language
RTigger
 
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
msohn
 
Let's Git Together! - Hacktoberfest 2020
EqraKhattak
 
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
Evan Lin
 
iThome Chatbot Day: 透過 Golang 無痛建置機器學習聊天機器人
Evan Lin
 
Git kelvin
Kwong Wang Ho
 
Open design at large scale
shykes
 

What's hot (20)

PDF
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
sparkfabrik
 
PDF
Docker Deployments
Docker, Inc.
 
PPTX
2021 Solution Challenge - Kick Off
TanyaRaina3
 
PDF
Intro to git and git hub
JasleenSondhi
 
PPTX
Hacktoberfest 2020 - Open source for beginners
DeepikaRana30
 
PDF
Go lang
Suelen Carvalho
 
PDF
[2020 git lab commit] continuous infrastructure
Rodrigo Stefani Domingues
 
PPTX
Back end User Group / Golang Intro
Simone Gentili
 
PPTX
Gerrit jenkins-big data-continuous-delivery
Luca Milanesio
 
PPTX
Git basics
Padmavathi Tiwari
 
PDF
A GitOps Kubernetes Native CICD Solution with Argo Events, Workflows, and CD
Julian Mazzitelli
 
PDF
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Evan Lin
 
PDF
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
PDF
ePOM - Fundamentals of Research Software Development - Integrated Development...
Giuseppe Masetti
 
PPTX
Speed up Continuous Delivery with BigData Analytics
Luca Milanesio
 
PPTX
Git'in in 15
Stacy Vicknair
 
PPTX
Git Going w/ Git
heyMP
 
PDF
Shifting Left with Cloud Native CI/CD
C4Media
 
PPTX
Github
IFEDAYO ADEYEMI
 
PPTX
Git General
Zhongke Chen
 
GitOps: Git come unica fonte di verità per applicazioni e infrastruttura
sparkfabrik
 
Docker Deployments
Docker, Inc.
 
2021 Solution Challenge - Kick Off
TanyaRaina3
 
Intro to git and git hub
JasleenSondhi
 
Hacktoberfest 2020 - Open source for beginners
DeepikaRana30
 
[2020 git lab commit] continuous infrastructure
Rodrigo Stefani Domingues
 
Back end User Group / Golang Intro
Simone Gentili
 
Gerrit jenkins-big data-continuous-delivery
Luca Milanesio
 
Git basics
Padmavathi Tiwari
 
A GitOps Kubernetes Native CICD Solution with Argo Events, Workflows, and CD
Julian Mazzitelli
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
Evan Lin
 
Git in the Enterprise: How to succeed at DevOps using Git and a monorepo
Gina Bustos
 
ePOM - Fundamentals of Research Software Development - Integrated Development...
Giuseppe Masetti
 
Speed up Continuous Delivery with BigData Analytics
Luca Milanesio
 
Git'in in 15
Stacy Vicknair
 
Git Going w/ Git
heyMP
 
Shifting Left with Cloud Native CI/CD
C4Media
 
Git General
Zhongke Chen
 
Ad

Similar to Let's Go @ St. Louis CocoaHeads (20)

PDF
Intro to Go
Clarence Bakirtzidis
 
PDF
Getting started with go - Florin Patan - Codemotion Milan 2016
Codemotion
 
PPTX
go language- haseeb.pptx
ArsalanMaqsood1
 
PDF
Getting started with Go - Florin Patan - Codemotion Rome 2017
Codemotion
 
PDF
Introduction to Go
Simon Hewitt
 
PDF
Introduction to go, and why it's awesome
Janet Kuo
 
PDF
The Awesomeness of Go
Christina Rasimus
 
PDF
Go - Where it's going and why you should pay attention.
Aaron Schlesinger
 
PPT
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
PPT
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
PPTX
Introduction to go lang
Amal Mohan N
 
PDF
Why you should care about Go (Golang)
Aaron Schlesinger
 
PPTX
Golang (Go Programming Language)
ShubhamMishra485
 
PPTX
Golang - Overview of Go (golang) Language
Aniruddha Chakrabarti
 
PDF
An introduction to programming in Go
David Robert Camargo de Campos
 
PDF
Golang taipei #45 10th birthday
Evan Lin
 
PDF
Why Go Lang?
Sathish VJ
 
PDF
Write in Go
jaechoi83
 
PPTX
Lab1GoBasicswithgo_foundationofgolang.pptx
stasneemattia
 
PPTX
Go Programming language, golang
Basil N G
 
Getting started with go - Florin Patan - Codemotion Milan 2016
Codemotion
 
go language- haseeb.pptx
ArsalanMaqsood1
 
Getting started with Go - Florin Patan - Codemotion Rome 2017
Codemotion
 
Introduction to Go
Simon Hewitt
 
Introduction to go, and why it's awesome
Janet Kuo
 
The Awesomeness of Go
Christina Rasimus
 
Go - Where it's going and why you should pay attention.
Aaron Schlesinger
 
A First Look at Google's Go Programming Language
Ganesh Samarthyam
 
Google's Go Programming Language - Introduction
Ganesh Samarthyam
 
Introduction to go lang
Amal Mohan N
 
Why you should care about Go (Golang)
Aaron Schlesinger
 
Golang (Go Programming Language)
ShubhamMishra485
 
Golang - Overview of Go (golang) Language
Aniruddha Chakrabarti
 
An introduction to programming in Go
David Robert Camargo de Campos
 
Golang taipei #45 10th birthday
Evan Lin
 
Why Go Lang?
Sathish VJ
 
Write in Go
jaechoi83
 
Lab1GoBasicswithgo_foundationofgolang.pptx
stasneemattia
 
Go Programming language, golang
Basil N G
 
Ad

More from Paul Balogh (8)

PDF
Creating Realistic Unit Tests with Testcontainers
Paul Balogh
 
PDF
Running distributed load tests with k6
Paul Balogh
 
PDF
Trace-based Testing with Tracetest
Paul Balogh
 
PDF
Reliability Pipelines With Keptn Quality Gates
Paul Balogh
 
PDF
Embracing Disruption: Adding a Bit of Chaos to Help You Grow
Paul Balogh
 
PDF
It's just a jump to the left...
Paul Balogh
 
PDF
StLGo Meeting Intro, March 2020
Paul Balogh
 
PDF
2020 02-26-meeting intro
Paul Balogh
 
Creating Realistic Unit Tests with Testcontainers
Paul Balogh
 
Running distributed load tests with k6
Paul Balogh
 
Trace-based Testing with Tracetest
Paul Balogh
 
Reliability Pipelines With Keptn Quality Gates
Paul Balogh
 
Embracing Disruption: Adding a Bit of Chaos to Help You Grow
Paul Balogh
 
It's just a jump to the left...
Paul Balogh
 
StLGo Meeting Intro, March 2020
Paul Balogh
 
2020 02-26-meeting intro
Paul Balogh
 

Recently uploaded (20)

PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
PPTX
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
PDF
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
PDF
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
PDF
REPORT: Heating appliances market in Poland 2024
SPIUG
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
Oracle AI Vector Search- Getting Started and what's new in 2025- AIOUG Yatra ...
Sandesh Rao
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
The Future of Artificial Intelligence (AI)
Mukul
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Dev Dives: Automate, test, and deploy in one place—with Unified Developer Exp...
AndreeaTom
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
BLW VOCATIONAL TRAINING SUMMER INTERNSHIP REPORT
codernjn73
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Make GenAI investments go further with the Dell AI Factory
Principled Technologies
 
A Strategic Analysis of the MVNO Wave in Emerging Markets.pdf
IPLOOK Networks
 
The Evolution of KM Roles (Presented at Knowledge Summit Dublin 2025)
Enterprise Knowledge
 
REPORT: Heating appliances market in Poland 2024
SPIUG
 

Let's Go @ St. Louis CocoaHeads

  • 1. LET’S “GO” An Introduction to Programming in Go ST. LOUIS COCOAHEADS @ LAKE ST LOUIS MO, JAN 28 2020 Paul Balogh Cloud Platform@NISC @javaducky
  • 2. ● Pronounce “BAY-LOG” ● Cloud Platform Team Lead@NISC ● Java Developer ~19 years, Software Engineer > 20 ● Golang Enthusiast & Occasional OSS Contributor ● Twitter/GitHub: @javaducky I AM NOT an expert! Paul Disclaimer: About Me
  • 3. Agenda What is Go? Meet WeeSVC Demo What’s Next? Wrap Up 01 02 03 04 05
  • 5. https://golang.org/ Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
  • 6. What is Go? ● Publicly announced by Google in November, 2009 ● Created by Robert Griesemer, Rob Pike, and Ken Thompson ● ThoughtWorks Technology Radar suggests Trial use in 2014; switches to Adopt 6 months later ● Vibrant, inclusive community striving for diversity backed by the Go Community Code of Conduct ● Development language for major Cloud Native projects: Kubernetes, Linkerd, Docker, Terraform, Vitess, etc. About Go...
  • 7. What is Go? ● Simple ● Efficient ● Reliable ● Productive ● Consistent ● Popular About Go...
  • 8. {Simplicity. Advertised due to the smaller number (25) of keywords and single binaries. In reality, more of a credo than a language feature. “Clear is better than clever.” What is Go?
  • 9. Rob Pike … a desire to keep the language specification simple enough to hold in a programmer’s head.
  • 10. {Efficiency. Compiles to native machine code (32- & 64-bit x86, ARM). Programs compile fast with a very small binary result. Built with concurrency in mind: goroutines and channels. What is Go?
  • 11. {Reliability. Managed memory with Garbage Collection; pointer arithmetic not allowed. `defer` for use with cleanup code. What is Go?
  • 12. {Productivity. Large standard library. Strong typing with type inference. Standardized test framework. What is Go?
  • 13. {Consistency. Static analysis tools `gofmt` and `golint` for ensuring standard code and documentation format. “Gofmt’s style is no one’s favorite, yet gofmt is everyone’s favorite.” What is Go?
  • 14. {Popularity. Go is the #4 language in use in GitHub behind JS, Python, and Java based upon “stars.” A trend driven by high-profile programs in the Cloud Native Computing Foundation (CNCF). What is Go?
  • 16. What is Go? Gophers are multiplying! Popularity
  • 18. Helps you select an application framework by implementing a common service application with various languages and frameworks allowing for benchmark comparison. Wee S-V-C: a tiny service
  • 19. About WeeSVC... Meet WeeSVC ● First repo started May ‘19 with Java/SpringBoot ● Like TodoMVC but for backend (micro)services ● Many implementations; same use requirements ● weesvc-gorilla is currently defining standard ● It’s only me at this time Where it’s headed ● Compatibility tests to ensure requirements met ● Testing with simulated load for profiling ● Website with published profiling results
  • 23. What Next? ● Finalized “requirements” for functionality ● Compatibility Suite to ensure service compliance ● Updated weesvc-[springboot|micronaut|gokit] ● Website with logo ● Profiling Suite for comparative analysis And to appease the crowd... ● weesvc-vapor written in Swift Coming Soon...
  • 25. Wrap Up ● Go Developer Resources https://go.dev/ ● GoDoc - Package Documentation https://godoc.org/ ● Golang Weekly Newsletter https://golangweekly.com/ ● Exercism - Code Practice and Mentorship https://exercism.io/ ● Gopher Slack https://gophers.slack.com/ Resources
  • 26. GopherCon June 22-25, 2020 Walt Disney World Dolphin Resort Orlando, Florida $1,095 Corporate $795 Self-Paid Wrap Up
  • 27. Questions? StLGo Meetup 4th Wednesday/month Project WeeSVC github.com/weesvc Paul Balogh @javaducky ThankYou! Wrap Up