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
390
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
77
Papers We Love - Immix mark-region garbage collector
brixen
2
580
An Ensemble of Programming Languages: How to Build a Platform for Collaboration
brixen
0
150
Types As Premature Optimization
brixen
2
410
Rubinius X
brixen
3
260
Augmented Ruby: The Rubinius Language Platform
brixen
2
120
The Future of Ruby
brixen
1
310
Rubinius, and the Future of Ruby
brixen
2
230
So you want to design a programming language
brixen
1
110
Other Decks in Technology
See All in Technology
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
500
Skaffoldを用いたGKEアプリケーションの CD(Continuous Development)
kojake_300
1
230
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
450
『QAという人』が必要ではなく、『QAという技術』が必要
sadonosake
2
450
理想の組織も自分たちで作ろう! ―LayerXの「全員採用」を支える文化 / How to create our own ideal team
ar_tama
7
2.5k
Evolutionary Optimization of Model Merging Recipes
fuyu_quant0
3
510
オブジェクト指向宗教史
tanakahisateru
13
11k
Tohoku.Tech #1 「EC-CUBE/AWSの構築をChatGPTに相談してみました」by テンダ
jun2882
0
140
生成AIサービスPanorama AIご説明資料
sdt
0
300
業務で使えるかもしれない…!?GitHub Actions の Tips 集 / CI/CD Test Night #7
ponkio_o
PRO
22
6.5k
ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
yuitosato
29
11k
社内共通ルールを値オブジェクトにして社内ライブラリとして運用してみた話
leveragestech
2
710
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
407
22k
A better future with KSS
kneath
230
16k
The Cult of Friendly URLs
andyhume
72
5.6k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
57
14k
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
Happy Clients
brianwarren
91
6.3k
Fireside Chat
paigeccino
19
2.6k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
Infographics Made Easy
chrislema
237
18k
No one is an island. Learnings from fostering a developers community.
thoeni
14
2k
Bash Introduction
62gerente
604
210k
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