Pro Yearly is on sale from $80 to $50! »



A short talk delivered at DotGo 2016


John Cinnamond

October 10, 2016


  1. Theory @jcinnamond

  2. 2005 2010 2015 Scala Go Clojure Rust Swift TypeScript Elm

    Hack Idris Dart Julia Elixir 2009 2003 2005 2007 2012 2010 2014 2011 Red 2000 Kotlin 2002 Io 2004 Groovy Scratch LOLCODE Coffeescript F#
  3. None
  4. None
  5. Go sucks because it has… no generics no Algebraic Data

    Types null objects a lack of metaprogramming an occasionally verbose syntax
  6. These criticisms are largely valid

  7. Complaining about Go is a wasted opportunity

  8. Go is popular 1

  9. Popular != good

  10. For example: javascript

  11. People build great things in javascript

  12. …in spite of the language

  13. People used javascript to target the browser

  14. There is no reason to use Go

  15. People us Go because they like it

  16. srsly?

  17. A lack of generics Go has many flaws… No meta-

    programming Verbose error handling …which lead to developer pain
  18. what's going on?

  19. Go is reliable 2

  20. srsly?

  21. A lack of ADTs Go has many flaws… null objects

    Mutability …which lead to unreliable code
  22. what's going on?

  23. Go bad in theory, but successful in practice

  24. Go is an opportunity
 to learn

  25. Complaining about Go is a wasted opportunity

  26. But the Go community can also learn from the criticisms

  27. This is difficult

  28. They all speak a funny language

  29. And they criticise our habits

  30. But we can learn from them, and improve Go

  31. …without losing our identity

  32. Diversity is hard But it's important (maybe this isn't really

 a technical talk)
  33. Maybe we can listen to others And learn from what

    they have to say (maybe this isn't really 
 a technical talk)
  34. We can have conversations with people who aren't like us

    And all be better for it
  35. Thank you Theory @jcinnamond dotGo 2016