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
74
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
90
Taking Rails beyond the asset pipeline (Workshop at RubyDay Italia)
myabc
0
43
Rails: beyond the asset pipeline (RubyC)
myabc
0
110
Frontend Choices (Tropical Ruby)
myabc
1
720
Frontend Choices (RubyConf Portugal)
myabc
1
400
Frontend Choices
myabc
0
49
Frontend Choices
myabc
0
240
Putting the Hype back in Hypermedia
myabc
1
220
DataMapper
myabc
2
210
Other Decks in Technology
See All in Technology
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
540
Work as an App Engineer
lycorp_recruit_jp
0
340
WACATE2024冬セッション資料(ユーザビリティ)
scarletplover
0
290
事業貢献を考えるための技術改善の目標設計と改善実績 / Targeted design of technical improvements to consider business contribution and improvement performance
oomatomo
0
150
能動的ドメイン名ライフサイクル管理のすゝめ / Practice on Active Domain Name Lifecycle Management
nttcom
0
200
.NET 9 のパフォーマンス改善
nenonaninu
0
1.2k
UI State設計とテスト方針
rmakiyama
3
780
watsonx.ai Dojo #5 ファインチューニングとInstructLAB
oniak3ibm
PRO
0
190
PHP ユーザのための OpenTelemetry 入門 / phpcon2024-opentelemetry
shin1x1
3
1.4k
コンテナセキュリティのためのLandlock入門
nullpo_head
2
330
Qiita埋め込み用スライド
naoki_0531
0
5.2k
Storage Browser for Amazon S3
miu_crescent
1
290
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.6k
Practical Orchestrator
shlominoach
186
10k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
48
2.2k
Site-Speed That Sticks
csswizardry
2
190
Git: the NoSQL Database
bkeepers
PRO
427
64k
We Have a Design System, Now What?
morganepeng
51
7.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