Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

The Go programming language - Intro by MyLittleAdventure

75 views

Published on

Meetup "An introduction to the Go programming language" at Epitech Nice - January 9, 2019

Published in: Technology
  • Be the first to comment

  • Be the first to like this

The Go programming language - Intro by MyLittleAdventure

  1. 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. 2. Golang Why a new language?
  3. 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. 4. The Go programming language Comparison
  5. 5. The Go programming language Comparison
  6. 6. The Go programming language Characteristics Statically typed Performant Multiple-cores Concurrency Compiled Network Built-in HTTP / JSON / XML No class
  7. 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. 8. The Go programming language Benchmark
  9. 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. 10. The Go programming language The future - Go2 Generics Package Management Error handling …
  11. 11. Golang & MyLittleAdventure
  12. 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. 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
  14. 14. Golang In practice
  15. 15. The Go programming language Booking.com website
  16. 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. 17. The Go programming language Entry point
  18. 18. The Go programming language Scraper
  19. 19. The Go programming language Scrape function
  20. 20. The Go programming language Server - HTML / API
  21. 21. The Go programming language HTML Template
  22. 22. The Go programming language Json result
  23. 23. The Go programming language HTML page
  24. 24. Golang Ressources
  25. 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
  26. 26. #LiveYourDreamNow

×