Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Grand Unification Theory: Writing & Running Code
Search
brixen
September 09, 2012
Technology
190
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Grand Unification Theory: Writing & Running Code
Presented at BaRuCo 2012
brixen
September 09, 2012
More Decks by brixen
See All by brixen
Stop making mud pies!
brixen
0
140
Papers We Love - Immix mark-region garbage collector
brixen
2
780
An Ensemble of Programming Languages: How to Build a Platform for Collaboration
brixen
0
320
Types As Premature Optimization
brixen
2
610
Rubinius X
brixen
3
310
Code Is What Code Does
brixen
0
440
Augmented Ruby: The Rubinius Language Platform
brixen
2
190
The Future of Ruby
brixen
1
360
Rubinius, and the Future of Ruby
brixen
2
300
Other Decks in Technology
See All in Technology
AIに任せられるFlutterコードベースを作る 〜仕様をコードで表し、ハーネスで守る〜
myohei
1
620
外国人エンジニアがVueプロトタイプで仕様を合わせている話 / Vue Fes Japan 2026 LT
eluwing
0
380
20261031_IoTLT_vol140_kitazaki_v1.pdf
kitazaki
0
150
ALBのLCU予約とトラフィックの波によるプロダクト理解 / Understanding ALB LCU and Traffic Spikes
mito201
1
130
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
160
Vue で書く 空間コンピューティング、TresJS と WebXR を使ったXR デバイスのフロントエンド開発
hiranuma
0
150
続・ソフトウェアアーキテクトのための意思決定術: Decision Readiness, Revisited — When AI Changes the Economics of Software Architecture
snoozer05
PRO
1
120
自律的なチームを作るためにTechPMがやらないこと
ny7760
0
470
キヨさん、67歳。AIコーディングエージェントに挑む
happysamurai294
0
140
詳解 never 型 - ボトム型の性質を深掘り
nealle
0
140
Devin プロモコードの受け取りと適用(2026.10.27)
kinopeee
1
830
cdk deployとcdkd deploy、実際にデプロイして5倍速近くの差を実測した
yama3133
1
160
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
2
420
Facilitating Awesome Meetings
lara
57
7.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Navigating Weather and Climate Data
rabernat
0
580
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
670
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
560
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Odyssey Design
rkendrick25
PRO
2
910
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
GRAND UNIFICATION THEORY BRIAN FORD @brixen BARUCO 2012 }WRITING &
RUNNING CODE
RUBINIUS
I want to change how we write and run code
debugger profiler coverage type checker editor
Smalltalk
writing code is a function of running code
editors push around characters
The board swam wistfully through the narrow sky.
Spell checkers
Autocorrect?
Programming
Math Algorithms TDD SOLID Testing Patterns Refactoring Agile Design
“good design communicates intention”
com-mu-ni-ca-tion noun the imparting or exchange of information or news
Implementation Patterns by Kent Beck
Programming artifacts
What makes good communication?
clear adjective obvious or unambiguous
sim-ple adjective uncomplicated in form, nature or design
rel-e-vant adjective closely connected or appropriate to the matter at
hand
pre-cise adjective exactness or accuracy of expression or detail
me-di-um noun a means by which something is communicated or
expressed
tone noun a manner of expression
safe adjective protected from or not exposed to danger or
risk
open adjective not closed or blocked up free from obstructions
programming language as medium
Dynamically Typed Language
type noun a category of things having common characteristics
A.const_set :B, 1
def a.b(x) @b = x end
A = Class.new
metaprogramming
Animal = Object.clone Cat = Animal.clone
compute with values that pass messages
Typed
Dynamic Language
dynamic languages communicate better
a.map { |x| x.y }
a = [1, “x”, nil]
correctness vs safety
How do we run code?
exploratory testing development deployment learning
Rubinius precise GC concurrency JIT compiler
$ rbx irb(main):001:0> def hello irb(main):002:1> puts "hi" irb(main):003:1> end
=> #<Rubinius::CompiledCode hello file=(irb)>
def hello(name) puts “hi #{name}” end
================ :hello ================ Arguments: 1 required, 0 post, 1 total
Arity: 1 Locals: 1: name Stack size: 4 Line: 1 Lines to IP: 0000: push_self 0001: push_literal "hi " 0003: push_local 0 # name 0005: allow_private 0006: meta_to_s :to_s 0008: string_build 2 0010: allow_private 0011: send_stack :puts, 1 0014: ret ----------------------------------------
What can we do?
production vs testing
feature maps
type analysis
data flow analysis
error analysis
compiled code database
Challenges
information display
data supports decisions
Do we need tests?
blinking cursor = blank stare
in-sight noun the capacity to gain an accurate and deep
intuitive understanding of a person or thing
Thank You
rubini.us brixen.io