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
How a language reflects its people (Brighton Ruby)
Search
Alex Coles
July 07, 2017
Technology
0
100
How a language reflects its people (Brighton Ruby)
> The limits of my language mean the limits of my world.
– Wittgenstein
Alex Coles
July 07, 2017
Tweet
Share
More Decks by Alex Coles
See All by Alex Coles
How a language reflects its people
myabc
0
80
Taking Rails beyond the asset pipeline (Workshop at RubyDay Italia)
myabc
0
57
Rails: beyond the asset pipeline (RubyC)
myabc
0
130
Frontend Choices (Tropical Ruby)
myabc
1
760
Frontend Choices (RubyConf Portugal)
myabc
1
440
Frontend Choices
myabc
0
56
Frontend Choices
myabc
0
270
Putting the Hype back in Hypermedia
myabc
1
230
DataMapper
myabc
2
220
Other Decks in Technology
See All in Technology
VPC Latticeのサービスエンドポイント機能を使用した複数VPCアクセス
duelist2020jp
0
350
役割は変わっても、変わらないもの 〜スクラムマスターからEMへの転身で学んだ信頼構築の本質〜 / How to build trust
shinop
0
150
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
430
Kubernetes における cgroup driver のしくみ: runwasi の bugfix より
z63d
2
100
AWS環境のリソース調査を Claude Code で効率化 / aws investigate with cc devio2025
masahirokawahara
2
990
進捗
ydah
2
220
【Grafana Meetup Japan #6】Grafanaをリバプロ配下で動かすときにやること ~ Grafana Liveってなんだ ~
yoshitake945
0
210
オブザーバビリティが広げる AIOps の世界 / The World of AIOps Expanded by Observability
aoto
PRO
0
230
そのコンポーネント、サーバー?クライアント?App Router開発のモヤモヤを可視化する補助輪
makotot
4
780
「AI2027」を紐解く ― AGI・ASI・シンギュラリティ
masayamoriofficial
0
160
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
120
コスト削減の基本の「キ」~ コスト消費3大リソースへの対策 ~
smt7174
2
310
Featured
See All Featured
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
830
Embracing the Ebb and Flow
colly
87
4.8k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
570
Optimizing for Happiness
mojombo
379
70k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
11
1.1k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
9
790
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
Fireside Chat
paigeccino
39
3.6k
Designing for Performance
lara
610
69k
Done Done
chrislema
185
16k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
How to Think Like a Performance Engineer
csswizardry
26
1.9k
Transcript
“ Die Grenzen meiner Sprache bedeuten die Grenzen meiner Welt.
– Wittgenstein
“ The limits of my language mean the limits of
my world. – Wittgenstein
HOW A LANGUAGE REFLECTS ITS PEOPLE Alex Coles | Brighton
Ruby July 2017
WHY RUBY?
WE LIKE RUBY
WE ❤ RUBY
HUMAN
Language People World
None
Language People World Computing
PEOPLE TO LANGUAGE LANGUAGE TO PEOPLE LANGUAGE TO LANGUAGE PEOPLE
TO COMPUTING COMPUTING TO PEOPLE PEOPLE TO COMPUTING TO PEOPLE
HELLO BRIGHTON
ABOUT ME
@MYABC Alex Coles Oxford, England
EURUCAMP.ORG JRUBYCONF.EU
TRAILBLAZER.IO
None
PEOPLE TO LANGUAGE
LANGUAGES ➤ Natural - e.g. English, Spanish ➤ Constructed -
e.g. Esperanto ➤ Formal - e.g. Algebra, JavaScript
NATURAL
HISTORY
None
None
POLITICS AND COMMERCE
POST-TRUTH BREXIT FLAT WHITE
REFORM AND PLANNING
תירבע
None
KAURNA
None
None
INDIVIDUALS
THE BARD Creator of many words
HAPAX LEGOMENON
MATZ Creator of Ruby
COMMUNITY
LANGUAGE TO PEOPLE
SHADES OF GREY
None
None
WELTANSCHAUUNG
Edward Sapir | Benjamin Lee Whorf
LANGUAGE AFFECTS WORLD VIEW
LANGUAGE DETERMINES WORLD VIEW
Wilhelm von Humboldt
RUBY SYNTAX
None
RSpec.describe 'my Ruby code' do it_behaves_like 'the English language' end
RSpec.describe Boomerang do subject(:boomerang) { Boomerang.new } it_behaves_like 'a hunting tool' it_behaves_like 'a percussion instrument' it 'is designed to be thrown' do expect(boomerang).to be_throwable end end
PUNCTUATION
WHAT THERE IS ➤ ? question mark ➤ ! bang
(exclamation mark)
WHAT THERE ISN’T ➤ ; semi-colons ➤ () parentheses (sometimes)
➤ {} braces (sometimes)
UNICODE
None
None
LTR VS RTL
None
WORD ORDER
SUBJECT VERB OBJECT
➤ The man eats fish ➤ L'homme mange le poisson
➤ a = 2 ➤ a = 2 + 2 SUBJECT VERB ORDER
VERB SUBJECT OBJECT
LOGIC AND ARITHMETIC NOTATION prefix + 2 2 “Polish” infix
2 + 2 postfix 2 2 + “Reverse Polish”
➤ (def x 5) ➤ (+ 2 4)
OPERATORS
Logical Operators ➤ and ➤ or ➤ not Special Operators
➤ defined?
LANGUAGE TO LANGUAGE
LANGUAGES IN THE FIFTIES ➤ Short Code ➤ Autocode ➤
FORTRAN ➤ FLOW-MATIC
LANGUAGES IN THE SIXTIES ➤ ALGOL ➤ LISP ➤ C
RUBY PRIOR ART ➤ Perl ➤ Smalltalk ➤ Eiffel ➤
Ada ➤ LISP
PEOPLE TO COMPUTING
LOW-LEVEL LANGUAGES ➤ Machine Code ➤ Assembly
None
NO CONCEPTS
SIGNALS AND NEURONS
HIGHER
COMPUTING TO PEOPLE
TECHNOLOGY
PERSIST
AI
HUMAN EFFECT
…
PEOPLE TO COMPUTING TO PEOPLE
SOFTWARE = CODE + DOCUMENTATION
SELF-DOCUMENTING CODE
CONCLUSION
WHY RUBY?
MINSWAN
THANK YOU
@MYABC