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
Code Is What Code Does
Search
brixen
August 22, 2014
Technology
0
410
Code Is What Code Does
Madison+ Ruby 2014
brixen
August 22, 2014
Tweet
Share
More Decks by brixen
See All by brixen
Stop making mud pies!
brixen
0
110
Papers We Love - Immix mark-region garbage collector
brixen
2
720
An Ensemble of Programming Languages: How to Build a Platform for Collaboration
brixen
0
220
Types As Premature Optimization
brixen
2
530
Rubinius X
brixen
3
270
Augmented Ruby: The Rubinius Language Platform
brixen
2
130
The Future of Ruby
brixen
1
330
Rubinius, and the Future of Ruby
brixen
2
250
So you want to design a programming language
brixen
1
140
Other Decks in Technology
See All in Technology
Model Mondays S2E02: Model Context Protocol
nitya
0
170
【TiDB GAME DAY 2025】Shadowverse: Worlds Beyond にみる TiDB 活用術
cygames
0
810
Windows 11 で AWS Documentation MCP Server 接続実践/practical-aws-documentation-mcp-server-connection-on-windows-11
emiki
0
650
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
370
_第3回__AIxIoTビジネス共創ラボ紹介資料_20250617.pdf
iotcomjpadmin
0
140
白金鉱業Meetup_Vol.19_PoCはデモで語れ!顧客の本音とインサイトを引き出すソリューション構築
brainpadpr
2
470
Кто отправит outbox? Валентин Удальцов, автор канала Пых
lamodatech
0
260
新規プロダクト開発、AIでどう変わった? #デザインエンジニアMeetup
bengo4com
0
500
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
1
200
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
240
Azure AI Foundryでマルチエージェントワークフロー
seosoft
0
140
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
140
Featured
See All Featured
Bash Introduction
62gerente
614
210k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Code Review Best Practice
trishagee
68
18k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Optimizing for Happiness
mojombo
379
70k
Producing Creativity
orderedlist
PRO
346
40k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
The Straight Up "How To Draw Better" Workshop
denniskardys
233
140k
The Language of Interfaces
destraynor
158
25k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Transcript
Code Is What Code Does @brixen
I <3 Ruby
None
None
None
We live in a world filled with hard problems
watsi.org
People are leaving Ruby
Haskell Go Clojure Scala Node.js Rust Javascript Elixir
Businesses are not choosing Ruby
Ruby has problems
Too slow
0 1.25 2.5 3.75 5 Rubinius v1 Rubinius JIT v1
Rubinius v2 MRI 2.1
No concurrency
0 1 2 3 4 Rubinius MRI 2.1
Too much memory
0 22.5 45 67.5 90 Hash 1 Hash 2
Not compiled
Monkey patching
$ rbx! irb(main):001:0> "abc".clear! => ""! irb(main):002:0> require "./some_gem.rb"! =>
true! irb(main):003:0> "abc".clear! => "nope"! irb(main):004:0>
irb(main):003:0> "abc".clear! => "nope"! irb(main):004:0> "abc".method :clear! => #<Method: String#clear
(defined in String at some_gem.rb:2)>! irb(main):005:0>
None
Static types
Why use static types?
Correctness 1
Adding types does not make correct code more correct
Speed 2
0 1.25 2.5 3.75 5 Rubinius v1 Rubinius JIT v1
Rubinius v2 MRI 2.1
Maintenance 3
Adding complexity does not improve understanding
Ruby is a better choice
Programming is too hard
We are too slow
We fail a lot
The Cynefin framework
Simple Sense • Categorize • Respond 1
Simple Sense • Categorize • Respond 1 Best Practice
Complicated Sense • Analyze • Respond 2
Complicated Sense • Analyze • Respond 2 Good Practice
Complex Probe • Sense • Respond 3
Complex Probe • Sense • Respond 3 Emergent Behavior
Chaotic Act • Sense • Respond 4
Chaotic Act • Sense • Respond 4 Novel Solutions
Clay vs concrete
B.C. A.D.
B.C. A.D. Before compilation After deployment
Read Eval Print Loop
Study Experiment Check Loop
Assumptions help us solve problems
Assumptions hinder our efforts
Technical debt Cost to experiment
Refactoring Rework
We live in a world filled with hard problems
Let's make programming easier
Let's test our ideas more quickly
Let's fail more productively
Improve the world
Try Rubinius github.com/rubinius/rubinius
Thank you!
• http://winstonyw.com/2013/06/12/reddotrubyconf_2013_-_thank_you/ • https://www.flickr.com/photos/veganstraightedge/6037027106/ • http://www.europeancarweb.com/news/ epcp_1010_audi_e_tron_spyder_creation/photo_13.html • http://thisisbuildingmaterials.blogspot.com/2012/03/examples-of-famous- concrete-buildings.html
Credits