SlideShare a Scribd company logo
1 of 26
Download to read offline
The Go programming Language
Valéry BERNARD - CEO & Founder
valery.bernard@mylittleadventure.com
(+33) 6.17.21.52.81 - ! @mylitadventure
Sophia-Antipolis (06) - France
Golang
Why a new language?
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. 
Platform is a new way of thinking
Experience, services, channels
Platform is a new way of thinking
Experience, services, channels
The Go programming language
Characteristics
Statically typed
Performant
Multiple-cores
Concurrency
Compiled
Network
Built-in HTTP / JSON / XML
No class
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
The Go programming language
Benchmark
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
The Go programming language
The future - Go2
Generics
Package Management
Error handling
…
Golang
& MyLittleAdventure
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
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
Golang
In practice
The Go programming language
Booking.com website
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
The Go programming language
Entry point
The Go programming language
Scraper
The Go programming language
Scrape function
The Go programming language
Server - HTML / API
The Go programming language
HTML Template
The Go programming language
Json result
The Go programming language
HTML page
Golang
Ressources
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
#LiveYourDreamNow

More Related Content

What's hot

a quick Introduction to PyPy
a quick Introduction to PyPya quick Introduction to PyPy
a quick Introduction to PyPy
Kai Aras
 

What's hot (19)

Google Go! language
Google Go! languageGoogle Go! language
Google Go! language
 
Go Language presentation
Go Language presentationGo Language presentation
Go Language presentation
 
Kotlin native for iOS and Android
Kotlin native for iOS and AndroidKotlin native for iOS and Android
Kotlin native for iOS and Android
 
Introduction to go lang
Introduction to go langIntroduction to go lang
Introduction to go lang
 
Go Lang
Go LangGo Lang
Go Lang
 
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn [INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
[INNOVATUBE] Tech Talk #3: Golang - Vũ Nguyễn
 
Go language presentation
Go language presentationGo language presentation
Go language presentation
 
Why you should care about Go (Golang)
Why you should care about Go (Golang)Why you should care about Go (Golang)
Why you should care about Go (Golang)
 
How To Be A Better Developer
How To Be A Better DeveloperHow To Be A Better Developer
How To Be A Better Developer
 
Flutter study jam 2019
Flutter study jam 2019Flutter study jam 2019
Flutter study jam 2019
 
What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How? What is Kotlin Multiplaform? Why & How?
What is Kotlin Multiplaform? Why & How?
 
43 Languages
43 Languages43 Languages
43 Languages
 
Python course in hyderabad
Python course in hyderabadPython course in hyderabad
Python course in hyderabad
 
programmersworld
programmersworldprogrammersworld
programmersworld
 
Game development using Flutter
Game development using FlutterGame development using Flutter
Game development using Flutter
 
Introduction on Mobile development
Introduction on Mobile developmentIntroduction on Mobile development
Introduction on Mobile development
 
Por que Rails?
Por que Rails? Por que Rails?
Por que Rails?
 
a quick Introduction to PyPy
a quick Introduction to PyPya quick Introduction to PyPy
a quick Introduction to PyPy
 
An Introduction to PyPy
An Introduction to PyPyAn Introduction to PyPy
An Introduction to PyPy
 

Similar to The Go programming language - Intro by MyLittleAdventure

Go Within Cloud Foundry
Go Within Cloud FoundryGo Within Cloud Foundry
Go Within Cloud Foundry
Platform CF
 

Similar to The Go programming language - Intro by MyLittleAdventure (20)

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
 
Golang : A Hype or the Future?
Golang : A Hype or the Future?Golang : A Hype or the Future?
Golang : A Hype or the Future?
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Go vs Python Comparison
Go vs Python ComparisonGo vs Python Comparison
Go vs Python Comparison
 
Scaling applications with go
Scaling applications with goScaling applications with go
Scaling applications with go
 
Cross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case studyCross Platform Development Strategies with vendor review and PhoneGap case study
Cross Platform Development Strategies with vendor review and PhoneGap case study
 
Go Within Cloud Foundry
Go Within Cloud FoundryGo Within Cloud Foundry
Go Within Cloud Foundry
 
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
 
The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019The Magic of flutter Comex oman 2019
The Magic of flutter Comex oman 2019
 
Ready, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming languageReady, set, go! An introduction to the Go programming language
Ready, set, go! An introduction to the Go programming language
 
Hire golang developers and make the shift to brighter business future (build ...
Hire golang developers and make the shift to brighter business future (build ...Hire golang developers and make the shift to brighter business future (build ...
Hire golang developers and make the shift to brighter business future (build ...
 
Google flutter the easy and practical way IEEE Alazhar
Google flutter the easy and practical way IEEE AlazharGoogle flutter the easy and practical way IEEE Alazhar
Google flutter the easy and practical way IEEE Alazhar
 
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
Introduction to Application Development in Python and Gtk+ / Hildon @ Maemo 5
 
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
 
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
 
Intro to Go
Intro to GoIntro to Go
Intro to Go
 
The Awesomeness of Go
The Awesomeness of GoThe Awesomeness of Go
The Awesomeness of Go
 
Google flutter the easy and practical way
Google flutter the easy and practical wayGoogle flutter the easy and practical way
Google flutter the easy and practical way
 
Mobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google FlutterMobile DevOps pipeline using Google Flutter
Mobile DevOps pipeline using Google Flutter
 
HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)HTML5 - The Python Angle (PyCon Ireland 2010)
HTML5 - The Python Angle (PyCon Ireland 2010)
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024Manulife - Insurer Innovation Award 2024
Manulife - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 

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
  • 2. Golang Why a new language?
  • 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. 
  • 4. Platform is a new way of thinking Experience, services, channels
  • 5. Platform is a new way of thinking Experience, services, channels
  • 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
  • 8. The Go programming language Benchmark
  • 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
  • 15. The Go programming language Booking.com website
  • 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
  • 17. The Go programming language Entry point
  • 18. The Go programming language Scraper
  • 19. The Go programming language Scrape function
  • 20. The Go programming language Server - HTML / API
  • 21. The Go programming language HTML Template
  • 22. The Go programming language Json result
  • 23. The Go programming language HTML page
  • 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