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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
130
The Art of Code Review
jcinnamond
4
680
Complexity
jcinnamond
1
240
Other Decks in Technology
See All in Technology
LINEアプリ開発のための Claude Code活用基盤の構築
lycorptech_jp
PRO
2
1.4k
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
3
380
生成AI活用によるPRレビュー改善の歩み
lycorptech_jp
PRO
5
2k
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
3
880
Kaggleの経験が実務にどう活きているか / kaggle_findy
sansan_randd
4
720
「データとの対話」の現在地と未来
kobakou
0
1.3k
Ultra Ethernet (UEC) v1.0 仕様概説
markunet
3
200
Serverless Agent Architecture on Azure / serverless-agent-on-azure
miyake
1
150
入門DBSC
ynojima
0
130
ビズリーチにおける検索・推薦の取り組み / DEIM2026
visional_engineering_and_design
1
100
Security Diaries of an Open Source IAM
ahus1
0
200
型を書かないRuby開発への挑戦
riseshia
0
180
Featured
See All Featured
Information Architects: The Missing Link in Design Systems
soysaucechin
0
810
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
65
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
It's Worth the Effort
3n
188
29k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
Paper Plane (Part 1)
katiecoart
PRO
0
5.1k
Facilitating Awesome Meetings
lara
57
6.8k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
260
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
140
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
140
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
96
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