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
2.1k
The Point of Objects
jcinnamond
0
110
The Art of Code Review
jcinnamond
4
660
Complexity
jcinnamond
1
230
Other Decks in Technology
See All in Technology
Snowflake Summit 2025 データエンジニアリング関連新機能紹介 / Snowflake Summit 2025 What's New about Data Engineering
tiltmax3
0
300
PostgreSQL 18 cancel request key長の変更とRailsへの関連
yahonda
0
120
標準技術と独自システムで作る「つらくない」SaaS アカウント管理 / Effortless SaaS Account Management with Standard Technologies & Custom Systems
yuyatakeyama
3
1.2k
Welcome to the LLM Club
koic
0
150
ローカルLLMでファインチューニング
knishioka
0
140
本当に使える?AutoUpgrade の新機能を実践検証してみた
oracle4engineer
PRO
1
130
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
200
AIのAIによるAIのための出力評価と改善
chocoyama
2
530
OpenHands🤲にContributeしてみた
kotauchisunsun
1
380
解析の定理証明実践@Lean 4
dec9ue
0
150
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.5k
低レイヤを知りたいPHPerのためのCコンパイラ作成入門 完全版 / Building a C Compiler for PHPers Who Want to Dive into Low-Level Programming - Expanded
tomzoh
4
3k
Featured
See All Featured
Site-Speed That Sticks
csswizardry
10
650
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
GraphQLとの向き合い方2022年版
quramy
47
14k
Designing for humans not robots
tammielis
253
25k
It's Worth the Effort
3n
184
28k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Balancing Empowerment & Direction
lara
1
350
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.3k
Making Projects Easy
brettharned
116
6.3k
Optimising Largest Contentful Paint
csswizardry
37
3.3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
181
53k
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