Upgrade to Pro — share decks privately, control downloads, hide ads and more …

FullStack Meetup - Go: The language, the purpose, the eco-system, and the community

FullStack Meetup - Go: The language, the purpose, the eco-system, and the community

Have you noticed Go appearing more and more on your radar? If you want to find out what Go is all about, why and when to use it, and how to get started, this talk is for you.

Carlisia Campos

December 08, 2016
Tweet

More Decks by Carlisia Campos

Other Decks in Programming

Transcript

  1. Name of Presentation Go: The language, the purpose, the eco-system,

    and the community Carlisia Pinto Engineer @carlisia
  2. Go: The language, the purpose, the eco-system, and the community

    @carlisia Have you noticed Go appearing more and more on your radar?
  3. Go: The language, the purpose, the eco-system, and the community

    @carlisia TIOBE Index - December 2016 Source: http://www.tiobe.com/tiobe-index/
  4. Go: The language, the purpose, the eco-system, and the community

    @carlisia IEEE Spectrum - The 2016 Top Programming Languages Source: http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages
  5. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Open source • Created at Google in 2007 • Announced in 2009 • 1.0 released in 2012 • On version 1.8 now
  6. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Statically typed • Only 25 keywords • Ridiculously fast build and compile times • Garbage collected • Offers concurrency primitives • Embedded types (through type composition) • Interfaces are satisfied implicitly • Functions as well as methods (which can return multiple values) • Single executable (cross platform, natively compiled) • Very performant (claim of fame)
  7. Go: The language, the purpose, the eco-system, and the community

    @carlisia • gofmt (format) • golint (linter for style) and govet (linter for error) • goimports (format and import dependencies) • gorename (rename identifiers) • go guru (code navigation) • Go Playground (https://play.golang.org/) • Write your own tools using go/ast package Tooling More: https://dominik.honnef.co/posts/2014/12/go-tools/
  8. Go: The language, the purpose, the eco-system, and the community

    @carlisia Source: State of Go Survey, 2016 http://go-talks.appspot.com/github.com/freeformz/talks/20160712_gophercon/talk.slide#28 Tooling, one more: Built-in testing framework
  9. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Docker • (Google) Kubernetes • Hashicorp • More: https://github.com/golang/go/wiki/GoUsers Very prominent projects
  10. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Tour of Go - https://tour.golang.org • Effective Go - https://golang.org/doc/effective_go.html • Go by example - https://gobyexample.com/ • Go in 5 minutes (screencasts) - https://www.goin5minutes.com • JustForFunc (screencasts) - https://www.youtube.com/channel/ UC_BzFbxG2za3bp5NRRRXJSw Resources - for learning (1/2)
  11. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Go blog - https://blog.golang.org/ • Go wiki - https://github.com/golang/go/wiki • Dave Cheney’s blog - https://dave.cheney.net/ • Bill Kennedy’s blog - https://www.goinggo.net/ • Gopher academy blog - https://blog.gopheracademy.com/ • Podcast: Go Time FM - http://gotime.fm Resources - for learning (2/2)
  12. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Atom: go-plus • Sublime: Margo and GoSublime • Vim: vim-go • Vs Code: vscode-go • Many more: https://github.com/golang/go/wiki/IDEsAndTextEditorPlugins Resources - editor plugins
  13. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Exercism - http://exercism.io • Gopher Challenge - http://golang-challenge.org • Gopher Gala - http://gophergala.com Resources - small projects for practice
  14. Go: The language, the purpose, the eco-system, and the community

    @carlisia Code of conduct Go has a code of conduct with the purpose to enable everyone to be safe and welcomed in any official Go environment as well as in places that choose to adhere to it. https://golang.org/conduct
  15. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Alternate between Carlsbad and Downtown • Every 3rd Thursday • http://www.meetup.com/ sdgophers/ • https://twitter.com/sdgophers San Diego monthly meet up
  16. Go: The language, the purpose, the eco-system, and the community

    @carlisia • Invitation: https://invite.slack.golangbridge.org/ • Channels: #sandiego, #general, #golang-jobs, #golang-newbies, many others • Paid account (sponsored) Gophers Slack
  17. Go: The language, the purpose, the eco-system, and the community

    @carlisia https://forum.golangbridge.org/ Go Forum
  18. Go: The language, the purpose, the eco-system, and the community

    @carlisia http://remotemeetup.golangbridge.org Go Remote Meetup • Welcomes speakers • Recording available within 24 hours • Paid account (sponsored)
  19. Go: The language, the purpose, the eco-system, and the community

    @carlisia https://www.golangbridge.org/ GoBridge • Non-profit • Workshops • Other initiatives • Focus on underrepresented
  20. Go: The language, the purpose, the eco-system, and the community

    @carlisia http://www.womenwhogo.org/ Women Who Go • Informal • Network for anyone who identify as women • 14+ chapters around the world