Slide 1

Slide 1 text

Theory @jcinnamond

Slide 2

Slide 2 text

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#

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Go sucks because it has… no generics no Algebraic Data Types null objects a lack of metaprogramming an occasionally verbose syntax

Slide 6

Slide 6 text

These criticisms are largely valid

Slide 7

Slide 7 text

Complaining about Go is a wasted opportunity

Slide 8

Slide 8 text

Go is popular 1

Slide 9

Slide 9 text

Popular != good

Slide 10

Slide 10 text

For example: javascript

Slide 11

Slide 11 text

People build great things in javascript

Slide 12

Slide 12 text

…in spite of the language

Slide 13

Slide 13 text

People used javascript to target the browser

Slide 14

Slide 14 text

There is no reason to use Go

Slide 15

Slide 15 text

People us Go because they like it

Slide 16

Slide 16 text

srsly?

Slide 17

Slide 17 text

A lack of generics Go has many flaws… No meta- programming Verbose error handling …which lead to developer pain

Slide 18

Slide 18 text

what's going on?

Slide 19

Slide 19 text

Go is reliable 2

Slide 20

Slide 20 text

srsly?

Slide 21

Slide 21 text

A lack of ADTs Go has many flaws… null objects Mutability …which lead to unreliable code

Slide 22

Slide 22 text

what's going on?

Slide 23

Slide 23 text

Go bad in theory, but successful in practice

Slide 24

Slide 24 text

Go is an opportunity
 to learn

Slide 25

Slide 25 text

Complaining about Go is a wasted opportunity

Slide 26

Slide 26 text

But the Go community can also learn from the criticisms

Slide 27

Slide 27 text

This is difficult

Slide 28

Slide 28 text

They all speak a funny language

Slide 29

Slide 29 text

And they criticise our habits

Slide 30

Slide 30 text

But we can learn from them, and improve Go

Slide 31

Slide 31 text

…without losing our identity

Slide 32

Slide 32 text

Diversity is hard But it's important (maybe this isn't really 
 a technical talk)

Slide 33

Slide 33 text

Maybe we can listen to others And learn from what they have to say (maybe this isn't really 
 a technical talk)

Slide 34

Slide 34 text

We can have conversations with people who aren't like us And all be better for it

Slide 35

Slide 35 text

Thank you Theory @jcinnamond dotGo 2016