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.
James Abley
Technical Architect
Government Digital Service
@jabley
GDSJames Abley
Go – I made all the
mistakes
GDSJames Abley
What it is, important
concepts, what’s
good and what’s not
GDSJames Abley
What is Go?
GDSJames Abley
Open source
programming language
that makes it easy to
build simple,
reliable, and efficient
software
GDSJames Abley
Statically typed, with
fast compile times
GDSJames Abley
Statically linked,
native binaries
GDSJames Abley
What’s important?
GDSJames Abley
Communicating
Sequential
Processes
GDSJames Abley
Input
Output
Concurrency
GDSJames Abley
GDSJames Abley
What’s good?
GDSJames Abley
Religious formatting
wars
GDSJames Abley
The standard library
defines AST parsing
and serialisation
GDSJames Abley
Crossing
Refactoring’s
Rubicon
GDSJames Abley
Backward
compatibility
GDSJames Abley
Testing
GDSJames Abley
GDSJames Abley
Code coverage
GDSJames Abley
GDSJames Abley
Benchmarking
GDSJames Abley
GDSJames Abley
Profiling
GDSJames Abley
GDSJames Abley
GDSJames Abley
Garbage collection
GDSJames Abley
GDSJames Abley
Ecosystem
GDSJames Abley
What’s not good?
GDSJames Abley
Dependency
management
GDSJames Abley
Lots of community
options, oh my!
GDSJames Abley
What’s the sweet
spot?
GDSJames Abley
Summary
GDSJames Abley
Communicating
Sequential
Processes
GDSJames Abley
Great tooling
GDSJames Abley
https://gds.blog.gov.uk/jobs
/
GDSJames Abley
• https://blog.golang.org/go-fmt-your-code
http://blog.golang.org/introducing-gofix
http://danluu.com/monor...
James Abley
Technical Architect
Government Digital Service
@jabley
Upcoming SlideShare
Loading in …5
×

The Lead Developer: Go – I made all the mistakes so you don't have to

1,516 views

Published on

A talk about Go showing mistakes to be avoided when coming from other languages, discussion about strengths, and perceived shortcomings like dependency management.

Published in: Software

The Lead Developer: Go – I made all the mistakes so you don't have to

  1. 1. James Abley Technical Architect Government Digital Service @jabley
  2. 2. GDSJames Abley Go – I made all the mistakes
  3. 3. GDSJames Abley What it is, important concepts, what’s good and what’s not
  4. 4. GDSJames Abley What is Go?
  5. 5. GDSJames Abley Open source programming language that makes it easy to build simple, reliable, and efficient software
  6. 6. GDSJames Abley Statically typed, with fast compile times
  7. 7. GDSJames Abley Statically linked, native binaries
  8. 8. GDSJames Abley What’s important?
  9. 9. GDSJames Abley Communicating Sequential Processes
  10. 10. GDSJames Abley Input Output Concurrency
  11. 11. GDSJames Abley
  12. 12. GDSJames Abley What’s good?
  13. 13. GDSJames Abley Religious formatting wars
  14. 14. GDSJames Abley The standard library defines AST parsing and serialisation
  15. 15. GDSJames Abley Crossing Refactoring’s Rubicon
  16. 16. GDSJames Abley Backward compatibility
  17. 17. GDSJames Abley Testing
  18. 18. GDSJames Abley
  19. 19. GDSJames Abley Code coverage
  20. 20. GDSJames Abley
  21. 21. GDSJames Abley Benchmarking
  22. 22. GDSJames Abley
  23. 23. GDSJames Abley Profiling
  24. 24. GDSJames Abley
  25. 25. GDSJames Abley
  26. 26. GDSJames Abley Garbage collection
  27. 27. GDSJames Abley
  28. 28. GDSJames Abley Ecosystem
  29. 29. GDSJames Abley What’s not good?
  30. 30. GDSJames Abley Dependency management
  31. 31. GDSJames Abley Lots of community options, oh my!
  32. 32. GDSJames Abley What’s the sweet spot?
  33. 33. GDSJames Abley Summary
  34. 34. GDSJames Abley Communicating Sequential Processes
  35. 35. GDSJames Abley Great tooling
  36. 36. GDSJames Abley https://gds.blog.gov.uk/jobs /
  37. 37. GDSJames Abley • https://blog.golang.org/go-fmt-your-code http://blog.golang.org/introducing-gofix http://danluu.com/monorepo/repos https://github.com/gorilla/context/pull/21 https://www.dreamsongs.com/RiseOfWorseIsBetter.html https://joearms.github.io/2013/04/05/concurrent-and- parallel-programming.html http://blog.osteele.com/posts/2004/11/ides/ http://martinfowler.com/articles/refactoringRubicon.html http://godoc.org/golang.org/x/tools https://twitter.com/brianhatfield/status/63416612360533196 8
  38. 38. James Abley Technical Architect Government Digital Service @jabley

×