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
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
John Cinnamond
October 10, 2016
Technology
1.9k
0
Share
Theory
A short talk delivered at DotGo 2016
John Cinnamond
October 10, 2016
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
690
Complexity
jcinnamond
1
250
Other Decks in Technology
See All in Technology
60分で学ぶ最新Webフロントエンド
mizdra
PRO
33
18k
猫でもわかるKiro CLI(CDKコーディング編)
kentapapa
1
120
マルチプロダクトの信頼性を効率良く保っていくために
kworkdev
PRO
0
120
The Journey of Box Building
tagomoris
4
310
終盤で崩壊させないAI駆動開発
j5ik2o
2
2.2k
みんなで作るAWS Tips 100連発 (FinOps編)
schwrzktz
1
260
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
9
3.9k
ハーネスエンジニアリングの概要と設計思想
sergicalsix
9
4.1k
Claude Code を安全に使おう勉強会 / Claude Code Security Basics
masahirokawahara
2
15k
Sansan Engineering Unit 紹介資料
sansan33
PRO
1
4.3k
え!?初参加で 300冊以上 も頒布!? これは大成功!そのはずなのに わいの財布は 赤字 の件
hellohazime
0
150
NOSTR, réseau social et espace de liberté décentralisé
rlifchitz
0
200
Featured
See All Featured
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
1.9k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
140
SEO for Brand Visibility & Recognition
aleyda
0
4.5k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
470
It's Worth the Effort
3n
188
29k
How to make the Groovebox
asonas
2
2.1k
Automating Front-end Workflow
addyosmani
1370
200k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
130
Amusing Abliteration
ianozsvald
1
150
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