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
What is software made of?
Search
Yukihiro Matsumoto
January 28, 2017
Programming
0
690
What is software made of?
Yukihiro Matsumoto
January 28, 2017
Tweet
Share
More Decks by Yukihiro Matsumoto
See All by Yukihiro Matsumoto
30 Years of Ruby
matz
0
490
mruby VM
matz
0
95
Contribute to Ruby (RubyKaigi 2022)
matz
0
260
Ruby_through_Reserved_Words.pdf
matz
0
140
Ruby after 25 years
matz
1
1.5k
Streem
matz
8
3.8k
world-of-languages.pdf
matz
8
1.3k
Ruby Everywhere
matz
11
120k
Other Decks in Programming
See All in Programming
Python’s True Superpower
hynek
0
200
Go Conference mini in Sendai 2026 : Goに新機能を提案し実装されるまでのフロー徹底解説
yamatoya
0
520
New in Go 1.26 Implementing go fix in product development
sunecosuri
0
330
ご飯食べながらエージェントが開発できる。そう、Agentic Engineeringならね。
yokomachi
1
280
AI駆動開発の本音 〜Claude Code並列開発で見えたエンジニアの新しい役割〜
hisuzuya
4
480
Ruby x Terminal
a_matsuda
7
580
今、アーキテクトとして 品質保証にどう関わるか
nealle
0
200
Rで始めるML・LLM活用入門
wakamatsu_takumu
0
160
AIプロダクト時代のQAエンジニアに求められること
imtnd
2
700
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
350
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
440
LangChain4jとは一味違うLangChain4j-CDI
kazumura
1
150
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
ラッコキーワード サービス紹介資料
rakko
1
2.5M
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
199
73k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.4k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
130
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
130
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
450
Ruling the World: When Life Gets Gamed
codingconduct
0
160
Transcript
Powered by Rabbit 2.1.9 What is software made of? Heroku
Ruby Association Yukihiro "Matz" Matsumoto @yukihiro_matz
Powered by Rabbit 2.1.9 RubyConf India
Powered by Rabbit 2.1.9 What is software made of?
Powered by Rabbit 2.1.9 What are little boys made
of?
Powered by Rabbit 2.1.9 What are little boys made
of? What are little boys made of? Snips and snails And puppy-dogs' tails That's what little boys are made of
Powered by Rabbit 2.1.9 What are little girls made
of? What are little girls made of? Sugar and spice And all things nice That's what little girls are made of
Powered by Rabbit 2.1.9 What is software made of?
Powered by Rabbit 2.1.9 First Ingredient
Powered by Rabbit 2.1.9 Hardware
Powered by Rabbit 2.1.9 Hardware can exist without Software
Powered by Rabbit 2.1.9
Powered by Rabbit 2.1.9 No Software can exist without
Hardware
Powered by Rabbit 2.1.9 Not 100% True
Powered by Rabbit 2.1.9 But Mostly True
Powered by Rabbit 2.1.9 My first computer
Powered by Rabbit 2.1.9
Powered by Rabbit 2.1.9 4bit CPU BASIC 1400 Steps
26 Variables
Powered by Rabbit 2.1.9 Poor Computer
Powered by Rabbit 2.1.9 It's 37 years ago
Powered by Rabbit 2.1.9 The Computer has been evolving
so fast!
Powered by Rabbit 2.1.9 Faster CPU More memory More
storage Wider bandwidth
Powered by Rabbit 2.1.9 The Computer I was using
when I started Ruby (1993)
Powered by Rabbit 2.1.9 Engineering Work Station
Powered by Rabbit 2.1.9 SONY NEWS (NWS-831)
Powered by Rabbit 2.1.9 CPU: 68020 16MHz MEM: 8MB
HDD: 156MB
Powered by Rabbit 2.1.9 Cost: 20,000USD
Powered by Rabbit 2.1.9 2016
Powered by Rabbit 2.1.9 Lenovo Thinkpad T460s
Powered by Rabbit 2.1.9 CPU: Core i7 (2.6GHz) MEM:
20GB HDD: 1TB (SSD)
Powered by Rabbit 2.1.9 Cost: 2,000USD
Powered by Rabbit 2.1.9 CPU: 325x
Powered by Rabbit 2.1.9 MEM: 2500x
Powered by Rabbit 2.1.9 HDD: 6410x
Powered by Rabbit 2.1.9 Now Computers are Fast!
Powered by Rabbit 2.1.9 The problem is..
Powered by Rabbit 2.1.9 Grand Illusion
Powered by Rabbit 2.1.9 1. Moore's Law
Powered by Rabbit 2.1.9 The number of transistors in
LSI doubles every 18 months=
Powered by Rabbit 2.1.9
Powered by Rabbit 2.1.9 2. Cores
Powered by Rabbit 2.1.9 Multi Cores
Powered by Rabbit 2.1.9 The end of free lunch
Powered by Rabbit 2.1.9 Concurrency
Powered by Rabbit 2.1.9 Concurrency is hard
Powered by Rabbit 2.1.9 3. Caches
Powered by Rabbit 2.1.9 Variables≒Memory
Powered by Rabbit 2.1.9 Memory Model Registers Memory (Stack+Heap)
Powered by Rabbit 2.1.9 Real Memory Model Registers Caches
Memory (Stack+Heap) Storage
Powered by Rabbit 2.1.9 Registers (1x) L1 Caches (4x)
L2 Caches (10x) L3 Caches (40x) Memory (100x) Storage (20Mx)
Powered by Rabbit 2.1.9 Developers (sometimes) need to fight
with illusion
Powered by Rabbit 2.1.9 Next Ingredient
Powered by Rabbit 2.1.9 Languages
Powered by Rabbit 2.1.9 Language = Grammar + Vocabulary
Powered by Rabbit 2.1.9 Language = Syntax + Library
Powered by Rabbit 2.1.9 How to express your idea
Powered by Rabbit 2.1.9 Communication between humans and machines
Powered by Rabbit 2.1.9 The tool to form your
idea
Powered by Rabbit 2.1.9 The tool to boost your
brain
Powered by Rabbit 2.1.9 Sapir-Whorf hypothesis
Powered by Rabbit 2.1.9 human thoughts are influenced by
(spoken) languages
Powered by Rabbit 2.1.9 Languages influence human thought, more
than you think
Powered by Rabbit 2.1.9 Languages matter
Powered by Rabbit 2.1.9 The evolution of programming languages
Powered by Rabbit 2.1.9 More abstract
Powered by Rabbit 2.1.9 More concise
Powered by Rabbit 2.1.9 Less code
Powered by Rabbit 2.1.9 Easier to write
Powered by Rabbit 2.1.9 Easier to read
Powered by Rabbit 2.1.9 More productive
Powered by Rabbit 2.1.9 Abstraction
Powered by Rabbit 2.1.9 Hide internal detail
Powered by Rabbit 2.1.9 Illusion
Powered by Rabbit 2.1.9 Languages create illusion
Powered by Rabbit 2.1.9 Developers (sometimes) need to play
with illusion
Powered by Rabbit 2.1.9 Illusion that make you productive
Powered by Rabbit 2.1.9 Illusion that make you consume
less brain power
Powered by Rabbit 2.1.9 Productivity matters
Powered by Rabbit 2.1.9 Productivity solves most of problems
Powered by Rabbit 2.1.9 Productivity make work work less
Powered by Rabbit 2.1.9 Productivity make work earn more
Powered by Rabbit 2.1.9 Productivity bring you success
Powered by Rabbit 2.1.9 Last Ingredient
Powered by Rabbit 2.1.9 Developers Community
Powered by Rabbit 2.1.9 Programmers
Powered by Rabbit 2.1.9 People
Powered by Rabbit 2.1.9 Programming is a human thing
Powered by Rabbit 2.1.9 Machines don't program
Powered by Rabbit 2.1.9 At least yet
Powered by Rabbit 2.1.9 We are not machines
Powered by Rabbit 2.1.9 Difference?
Powered by Rabbit 2.1.9 Heart
Powered by Rabbit 2.1.9 Desire
Powered by Rabbit 2.1.9 Machines do not desire anything
Powered by Rabbit 2.1.9 We program because we want
something
Powered by Rabbit 2.1.9 Passion
Powered by Rabbit 2.1.9 Machines do not have passion
Powered by Rabbit 2.1.9 We keep programming because we
have passion
Powered by Rabbit 2.1.9 20+ years of Ruby development
Powered by Rabbit 2.1.9 Anger
Powered by Rabbit 2.1.9 We (sometimes) program because we
get angry at something
Powered by Rabbit 2.1.9 3 Virtues of Programmers Laziness
Impatient Hubris
Powered by Rabbit 2.1.9 Weakness
Powered by Rabbit 2.1.9 Weak memory
Powered by Rabbit 2.1.9 Weak will
Powered by Rabbit 2.1.9 Weak mind
Powered by Rabbit 2.1.9 Weakness is the reason we
need illusion
Powered by Rabbit 2.1.9 Community
Powered by Rabbit 2.1.9 Communication
Powered by Rabbit 2.1.9 Collaboration
Powered by Rabbit 2.1.9 Motivation
Powered by Rabbit 2.1.9 They made Ruby possible
Powered by Rabbit 2.1.9 They made other great software
Powered by Rabbit 2.1.9 They will make your software
Powered by Rabbit 2.1.9 Summary
Powered by Rabbit 2.1.9 What is software made of?
Hardware and languages And developers community That's what is software made of?
Powered by Rabbit 2.1.9 Hardware
Powered by Rabbit 2.1.9 Languages
Powered by Rabbit 2.1.9 Community
Powered by Rabbit 2.1.9 Happy Hacking!
Powered by Rabbit 2.1.9 A Few More Things
Powered by Rabbit 2.1.9 Ruby3
Powered by Rabbit 2.1.9 Concurrency Performance Static Analysis
Powered by Rabbit 2.1.9 mruby
Powered by Rabbit 2.1.9 Streem
Powered by Rabbit 2.1.9 Happy Hacking!