Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Theory
Search
John Cinnamond
October 10, 2016
Technology
0
1.8k
Theory
A short talk delivered at DotGo 2016
John Cinnamond
October 10, 2016
Tweet
Share
More Decks by John Cinnamond
See All by John Cinnamond
Go Lift
jcinnamond
0
2k
The Point of Objects
jcinnamond
0
110
The Art of Code Review
jcinnamond
4
630
Complexity
jcinnamond
1
220
Other Decks in Technology
See All in Technology
LINEヤフーのフロントエンド組織・体制の紹介
lycorp_recruit_jp
1
1.2k
Discovering AI Models
picardparis
4
3.9k
QAに対する超個人的な解釈 / Personal Take on QA
toma_sm
1
100
Google CloudのLLM活用の選択肢を広げるVertex AIのパートナーモデル
nayuts
0
130
JEP 480: Structured Concurrency
aya_ebata
0
130
実務における脅威モデリングを考えよう
nikinusu
0
630
ついに出た!OpenAIの最新モデル「o1」って何がすごいの?
minorun365
PRO
3
1.1k
スタッフエンジニアの道: The Staff Engineer’s Path
snoozer05
PRO
44
14k
20240911_New_Relicダッシュボード活用例
speakerdeckfk
0
110
watsonx.ai Dojo 環境準備について
oniak3ibm
PRO
0
300
DevRelの始め方
moongift
PRO
1
390
Analytics-Backed App Widget Development - Served with Jetpack Glance
miyabigouji
0
610
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
31
2.8k
Thoughts on Productivity
jonyablonski
66
4.2k
Design by the Numbers
sachag
277
19k
Done Done
chrislema
180
16k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
32k
Fantastic passwords and where to find them - at NoRuKo
philnash
48
2.8k
Testing 201, or: Great Expectations
jmmastey
36
7k
Embracing the Ebb and Flow
colly
83
4.4k
A Modern Web Designer's Workflow
chriscoyier
691
190k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.2k
KATA
mclloyd
27
13k
Making Projects Easy
brettharned
113
5.8k
Transcript
Theory @jcinnamond
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#
None
None
Go sucks because it has… no generics no Algebraic Data
Types null objects a lack of metaprogramming an occasionally verbose syntax
These criticisms are largely valid
Complaining about Go is a wasted opportunity
Go is popular 1
Popular != good
For example: javascript
People build great things in javascript
…in spite of the language
People used javascript to target the browser
There is no reason to use Go
People us Go because they like it
srsly?
A lack of generics Go has many flaws… No meta-
programming Verbose error handling …which lead to developer pain
what's going on?
Go is reliable 2
srsly?
A lack of ADTs Go has many flaws… null objects
Mutability …which lead to unreliable code
what's going on?
Go bad in theory, but successful in practice
Go is an opportunity to learn
Complaining about Go is a wasted opportunity
But the Go community can also learn from the criticisms
This is difficult
They all speak a funny language
And they criticise our habits
But we can learn from them, and improve Go
…without losing our identity
Diversity is hard But it's important (maybe this isn't really
a technical talk)
Maybe we can listen to others And learn from what
they have to say (maybe this isn't really a technical talk)
We can have conversations with people who aren't like us
And all be better for it
Thank you Theory @jcinnamond dotGo 2016