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
640
Complexity
jcinnamond
1
230
Other Decks in Technology
See All in Technology
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.6k
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
250
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
640
PHPで印刷所に入稿できる名札データを作る / Generating Print-Ready Name Tag Data with PHP
tomzoh
0
180
NFV基盤のOpenStack更新 ~9世代バージョンアップへの挑戦~
vtj
0
350
ディスプレイ広告(Yahoo!広告・LINE広告)におけるバックエンド開発
lycorptech_jp
PRO
0
360
偏光画像処理ライブラリを作った話
elerac
1
170
Fraxinus00tw assembly manual
fukumay
0
110
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
100
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
210
Amazon Aurora のバージョンアップ手法について
smt7174
2
150
LINE NEWSにおけるバックエンド開発
lycorptech_jp
PRO
0
240
Featured
See All Featured
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Fireside Chat
paigeccino
34
3.2k
Bash Introduction
62gerente
611
210k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Embracing the Ebb and Flow
colly
84
4.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Speed Design
sergeychernyshev
27
810
Facilitating Awesome Meetings
lara
52
6.2k
What's in a price? How to price your products and services
michaelherold
244
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7k
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