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
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Alex Coles
February 10, 2017
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
How a language reflects its people
> The limits of my language mean the limits of my world.
– Wittgenstein
Alex Coles
February 10, 2017
More Decks by Alex Coles
See All by Alex Coles
How a language reflects its people (Brighton Ruby)
myabc
0
130
Taking Rails beyond the asset pipeline (Workshop at RubyDay Italia)
myabc
0
94
Rails: beyond the asset pipeline (RubyC)
myabc
0
150
Frontend Choices (Tropical Ruby)
myabc
1
820
Frontend Choices (RubyConf Portugal)
myabc
1
480
Frontend Choices
myabc
0
73
Frontend Choices
myabc
0
320
Putting the Hype back in Hypermedia
myabc
1
250
DataMapper
myabc
2
240
Other Decks in Technology
See All in Technology
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
4
25k
Digitization部 紹介資料
sansan33
PRO
2
7.8k
どんな手を使っても絶対間に合わせるスケジューラ
asari194617
0
1.5k
はじめてのDatabricks:技術者向けワークショップ / beginner-workshop
databricksjapan
PRO
0
110
Webとヘルスデータ
yukukotani
0
130
Driving AI Adoption Using In-House GPUs to Serve Qwen
po3rin
2
350
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
書籍『生成AIの安全性入門』の入門
wataoka
0
160
[RSJ26] NarrativeFlow: Flow-Based Vision-Language-Action Model Using Robot Velocity Fields
keio_smilab
PRO
0
140
AI時代におけるプロダクト横断勉強会の設計
zozotech
PRO
0
120
【Oracle AI Spotlight ウェビナー】AWSか、Azureか、Google Cloudか。その議論にオラクルを含める意義。
oracle4engineer
PRO
1
200
Level Up Your CDK DX: 5 Tools I’ve Been Building
gotok365
2
180
Featured
See All Featured
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
410
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.6k
Speed Design
sergeychernyshev
33
2.1k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
410
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
460
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
230
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
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 | RubyConf
Australia 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
G’DAY MELBOURNE
ABOUT ME
@MYABC Alex Coles Oxford, England
EURUCAMP.ORG JRUBYCONF.EU
TRAILBLAZER.IO
HIRE ME
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
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
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