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
100
The Art of Code Review
jcinnamond
4
620
Complexity
jcinnamond
1
220
Other Decks in Technology
See All in Technology
開発パフォーマンスを最大化するための開発体制
ham0215
2
350
家族アルバム みてねにおけるGrafana活用術 / Grafana Meetup Japan Vol.1 LT
isaoshimizu
1
630
Delivering Millions of Messages within seconds @ Duolingo
pelelgrino
0
350
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
Cloud Native Java with Spring Boot (CNCF Aarhus, April 2024)
thomasvitale
1
170
AWSに詳しくない人でも始められるコスト最適化ガイド
yuhta28
1
220
Gitlab本から学んだこと - そーだいなるプレイバック / gitlab-book
soudai
4
290
web-application-security
matsuihidetoshi
0
160
開発生産性向上サービスを作るFindyが自分たちで開発生産性を爆上げした組織づくりの歩み / Findy's path to boosting its own development productivity 2024-04-17
ma3tk
3
650
データベース02: データベースの概念
trycycle
0
160
ChatGPT for IT Service Management (IT Pro)
dahatake
7
1.6k
APIファーストなプロダクトマネジメントの実践 〜SaaSus Platformでの例〜 / "Practicing API-First Product Management - An Example with SaaSus Platform
oztick139
0
100
Featured
See All Featured
WebSockets: Embracing the real-time Web
robhawkes
59
7k
StorybookのUI Testing Handbookを読んだ
zakiyama
13
4.6k
Six Lessons from altMBA
skipperchong
21
3k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
121
39k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
Optimizing for Happiness
mojombo
370
69k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Designing on Purpose - Digital PM Summit 2013
jponch
110
6.5k
Facilitating Awesome Meetings
lara
42
5.6k
Optimising Largest Contentful Paint
csswizardry
8
2.4k
We Have a Design System, Now What?
morganepeng
43
6.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