Developer Data Modeling Mistakes: From Postgres to NoSQL
The Go programming language - Intro by MyLittleAdventure
1. The Go programming Language
Valéry BERNARD - CEO & Founder
valery.bernard@mylittleadventure.com
(+33) 6.17.21.52.81 - ! @mylitadventure
Sophia-Antipolis (06) - France
3. The Go programming language
History
Go (often referred to as Golang) is a programming language designed
by Google engineers Robert Griesemer (Hotspot & JVM), Rob Pike (Unix
& UTF-8), and Ken Thompson (B, C, UTF-8).
Go was conceived in 2007 to improve programming productivity at
Google, in an era of multicore processors, computer networks,
and large codebases.
6. The Go programming language
Characteristics
Statically typed
Performant
Multiple-cores
Concurrency
Compiled
Network
Built-in HTTP / JSON / XML
No class
7. The Go programming language
Pro & Cons
Clean syntax
Powerful standard library
Garbage collected
Portable
Compile very quickly
Built-in unit testing
Fast learning
Backed by Google
Open Source
No manual Memory Mgt
Lack of Runtime safety
Interfaces
Few developers available
Pro Cons
9. The Go programming language
Who is using it?
Algolia, Adobe, Basecamp, bit.ly, CircleCI, Crème de la crème, Dailymotion,
Facebook, Github, Heetch, LeBonCoin, PSA, TF1, Zenly, Intel, Netflix, New york
Times, Pinterest, Reddit, Stripe, Tencent, Tumblr, Twitter, Heroku, Uber, Yahoo,
Zalando,
And many others
10. The Go programming language
The future - Go2
Generics
Package Management
Error handling
…
12. The Go programming language
Where?
Web
API, Web & Mobile, templating
Softwares
Computing, Image processing, Scrappers,
Daemons, Messaging system, Database
management, Internal framework
Machine Learning
Live computing, Recommandation
engine, features scoring
13. The Go programming language
Why?
Perfomance
Quick batch computing
Live computing (x100)
Productivity
Code fast
Software deployment (Docker)
Less dependencies
Company
Improve team coordination
Better readability
Promising language
Efficiency
Less servers (cost)
Better scalability
16. The Go programming language
Scrapper / Server example
Display listing of hotel in Nice
from booking.com website
Create an http client
Create packages
Booking.com scrapping
Goquery library
Go routines / Channels
Get Hotel’s title / Thumbnail / Rating
HTML templating
25. The Go programming language
Resources
Curated list of packages
https://github.com/avelino/awesome-go
Showcases of features
https://gobyexample.com/
Golang official tour
https://tour.golang.org/welcome/1
MyLittleAdventure github
https://github.com/mylittleadventure/meetup-golang-intro
https://www.slideshare.net/mylittleadventure