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
Alex Coles
February 10, 2017
Technology
0
76
How a language reflects its people
> The limits of my language mean the limits of my world.
– Wittgenstein
Alex Coles
February 10, 2017
Tweet
Share
More Decks by Alex Coles
See All by Alex Coles
How a language reflects its people (Brighton Ruby)
myabc
0
95
Taking Rails beyond the asset pipeline (Workshop at RubyDay Italia)
myabc
0
49
Rails: beyond the asset pipeline (RubyC)
myabc
0
120
Frontend Choices (Tropical Ruby)
myabc
1
740
Frontend Choices (RubyConf Portugal)
myabc
1
430
Frontend Choices
myabc
0
52
Frontend Choices
myabc
0
260
Putting the Hype back in Hypermedia
myabc
1
230
DataMapper
myabc
2
210
Other Decks in Technology
See All in Technology
RDRA3.0を知ろう
kanzaki
3
450
2025advance01
minamizaki
0
130
JNation 2025 - Quarkus for Spring Developers
edeandrea
PRO
0
110
LT:組込み屋さんのオシロが壊れた!
windy_pon
0
520
TypeScript と歩む OpenAPI の discriminator / OpenAPI discriminator with TypeScript
kaminashi
1
150
継続戦闘能⼒
sansantech
PRO
0
220
S3 Tables を図解でやさしくおさらい~基本から QuickSight 連携まで/s3-tables-illustrated-basics-quicksight
emiki
2
350
大手企業のAIツール導入の壁を越えて:サイバーエージェントのCursor活用戦略
gunta
24
7.6k
DevOpsDays Taipei 2025 -- Creating Awesome Change in SmartNews!
martin_lover
0
170
為什麼我們需要 Observability?
marcustung
0
210
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
12k
Redmineの意外と知らない便利機能 (Redmine 6.0対応版)
vividtone
0
1.3k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.2k
The Pragmatic Product Professional
lauravandoore
35
6.7k
KATA
mclloyd
29
14k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
14
1.5k
The Invisible Side of Design
smashingmag
299
50k
Documentation Writing (for coders)
carmenintech
71
4.8k
Adopting Sorbet at Scale
ufuk
76
9.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
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