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.9k
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
120
The Art of Code Review
jcinnamond
4
670
Complexity
jcinnamond
1
240
Other Decks in Technology
See All in Technology
巨大モノリスのリプレイス──機能整理とハイブリッドアーキテクチャで挑んだ再構築戦略
zozotech
PRO
0
290
AI開発の定着を推進するために揃えるべき前提
suguruooki
1
120
AI駆動開発2025年振り返りとTips集
knr109
1
100
国産クラウドを支える設計とチームの変遷 “技術・組織・ミッション”
kazeburo
4
8.3k
マルチドライブアーキテクチャ: 複数の駆動力でプロダクトを前進させる
knih
0
9.7k
生成AIが出力するテストコードのリアル よくあるコードと改善のヒント
starfish719
0
110
レガシーシステム刷新における TypeSpec スキーマ駆動開発のすゝめ
tsukuha
3
660
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
4k
re:Inventにおける製造業のこれまでとこれから
hamadakoji
0
340
今すぐGoogle Antigravityを触りましょう
rfdnxbro
0
150
"'TSのAPI型安全”の対価は誰が払う?不公平なスキーマ駆動に終止符を打つハイブリッド戦略
hal_spidernight
0
120
2025年 面白の現在地 / Where Omoshiro Stands Today: 2025
acidlemon
0
540
Featured
See All Featured
The Invisible Side of Design
smashingmag
302
51k
Six Lessons from altMBA
skipperchong
29
4.1k
Site-Speed That Sticks
csswizardry
13
970
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.1k
It's Worth the Effort
3n
187
29k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Agile that works and the tools we love
rasmusluckow
331
21k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Java REST API Framework Comparison - PWX 2021
mraible
34
9k
Why Our Code Smells
bkeepers
PRO
340
57k
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