standing on the shoulders of giants · standing on the shoulders of giants ruby on ales, bend, or...

123
Standing on the Shoulders of Giants Ruby on Ales, Bend, OR Ryan Davis, Seattle.rb @the_zenspiderx 1 Standing on the Shoulders of Giants

Upload: others

Post on 25-Jun-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx1

Standing on the Shoulders of Giants

Page 2: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Setting ExpectationsSorta a history talk. Le Sigh.

Very Little Code.

Ideas/Survey Talk.

119 Slides, 3.4 SPM2

Page 3: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Teetotaler for ~20 years

3

Page 4: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Until…4

Page 5: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Madison Ruby 2012

5

Page 6: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Whisky & Cheese Pairing

6

Page 7: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Thanks Big Tiger

7

Page 8: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Thanks Big Tiger

7

Bite Me Ryan

Page 9: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Current Diet8

Page 10: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

My Liver?9

Page 11: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ain’t got time to filter

10

Page 12: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Thanks Josh

11

Page 13: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

I’m a bit Toasty

12

Page 14: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx13

Intro

Page 15: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

"we [the Moderns] are like dwarves perched on the shoulders of giants [the Ancients], and thus we are able to see more and farther than the latter. And this is not at all because of the acuteness of our sight or the stature of our body, but because we are carried aloft and elevated by the magnitude of the giants.”

Bernard of Chartres, 12th century

14

Page 16: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

"If I have seen further it is by standing on ye sholders of Giants.”

Isaac Newton, 1676

15

Page 17: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

(meta: we ALL stole the talk

title, zzak!)16

Page 18: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

In Other Words17

Page 19: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Not a new concept, at all

18

Page 20: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Newton was

iterating19

Page 21: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Simple Idea20

Page 22: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Idea21

Page 23: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Begs the

question22

Page 24: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

WTF, Language?

23

Page 25: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ruby24

Page 26: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

RubyCreated by Matz in 1993

Interpreted File-based “Scripting” System.

Purely Object-Oriented Class-based Runtime.

Incredibly Complex Syntax & Semantics.

Extensive Class Library, Numeric Tower, etc.

Designed for “Developer Happiness”.25

Page 27: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Fibonacci

26

class Integer def fib self < 2 ? self : (self-1).fib + (self-2).fib end end

Page 28: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ruby History

27

1981 - 1990

1981 1983 1985 1987 1989

1991 - 2000

1991 1993 1995 1997 1999

2001 - 2010

2001 2003 2005 2007 2009

2011 - 2020

2011 2013 2015 2017 2019

Feb 1993: Birth

Dec 1995: Ruby 0.95

Dec 1996: Ruby 1.0

Dec 1998: Ruby 1.2

Aug 1999: Ruby 1.4

Aug 2000: Ruby 1.6

Aug 2003: Ruby 1.8

Dec 2007: Ruby 1.9

Feb 2013: Ruby 2.0

Dec 2013: Ruby 2.1

Dec 2014: Ruby 2.2

Glo

bal

Page 29: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ruby History

27

1981 - 1990

1981 1983 1985 1987 1989

1991 - 2000

1991 1993 1995 1997 1999

2001 - 2010

2001 2003 2005 2007 2009

2011 - 2020

2011 2013 2015 2017 2019

Feb 1993: Birth

Dec 1995: Ruby 0.95

Dec 1996: Ruby 1.0

Dec 1998: Ruby 1.2

Aug 1999: Ruby 1.4

Aug 2000: Ruby 1.6

Aug 2003: Ruby 1.8

Dec 2007: Ruby 1.9

Feb 2013: Ruby 2.0

Dec 2013: Ruby 2.1

Dec 2014: Ruby 2.2

Glo

bal

What Happened?

Page 30: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ruby 1.0 Shipped with Almost Everything

28

Page 31: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Not Much Added Since 1.0Private/Protected (~1.1)

Class Variables (1.6)

Encodings (1.9, 2.0)

frilly syntactic sugar (that doesn't really improve much of anything) (1.9+)

29

Page 32: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ruby is a fantastic language, but it could be

better.30

Page 33: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Smalltalk

Ruby

Lisp Perl

31

Page 34: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

COLASelf

Smalltalk

Ruby

Lisp Perl

32

Page 35: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx33

Smalltalk Self

Scheme/Racket FONC/COLA

+ V

PRI T

eam

+ P

LT T

eam

+ D

an In

galls

TooCoolfor

Logos?

Page 36: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

& Many More34

Page 37: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Smalltalk35

Page 38: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Brief summary of SmalltalkBy Alan Kay & Dan Ingalls at Xerox PARC, created in 1972. Publicly released in 1980.

Bytecode Compiled Image-based System.

Purely Object-Oriented Class-based Runtime.

Incredibly Simple/Clean Syntax and Semantics. Only 6 keywords, 4 precedence levels.

Fully Immersive development environment.

Incubator for Ideas: this is where many ideas of OO, patterns, mvc, etc came from.

WAY ahead of its time. Still is in some ways.

36

Page 39: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Fibonacci

37

!Integer methodsFor: 'benchmarks' stamp: 'jm 11/20/1998 07:06'! fib ^ self < 2 ifTrue: [self] ifFalse: [(self-1) fib + (self-2) fib] ! !

Page 40: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Self38

Page 41: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Brief summary of selfDavid Ungar & Randall Smith started at Xerox PARC and finished at Sun in 87.

Bytecode Compiled + JIT Image-based System.

Purely Object-Oriented Classless (aka prototypes) Runtime.

Incredibly Simple/Clean Syntax & Semantics. 8 bytecodes. EIGHT.

Fully Immersive development environment.

Incubator for Ideas: java hotspot was born here.

39

Page 42: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Fibonacci

40

fibonacci = ( <= 1 ifTrue: [ self ] False: [ predecessor fibonacci + (- 2) fibonacci ])

Page 43: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Scheme & Racket

41

Page 44: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Brief summary of schemeBy Gerald Sussman & Guy Steele in 1975.

Scheme is a minimal variant of a lexically-scoped Lisp.

Lisp is a functional language based on lists.

Innovation Galore: Tail Call Optimizations, Numeric Tower, Hygienic Macros, 1st class continuations, etc.

42

Page 45: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Brief summary of racketBy Matthias Felleisen & PLT Cohort.

Racket is a maximal variant of Scheme. Huge incredibly diverse library.

Bytecode Compiled + JIT File-based System.

Mostly functional multi-language Runtime.

Simple Syntax & Semantics w/ rich expressions like extensive macros & structural matching.

Ships with Editor & Runtime.

43

Page 46: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Fibonacci

44

(define (fib x) (if (< x 2) x (+ (fib (- x 1)) (fib (- x 2)))))

Page 47: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

COLA45

Page 48: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

A Tiny, Beautiful

Kernel46

Page 49: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

In the theme of this talk, we are coming back around to Alan Kay

47

Page 50: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Brief Summary of VPRI Viewpoints Research Institute (VPRI) is Alan Kay's thinktank

5 year NSF grant to work on FONC: foundations of new computing

Project: STEPS (STEPS Toward Expressive Programming Systems)

They want a whole system that can be understood by one brain

Entire system, from language to GUI Apps, in ~20kloc.48

Page 51: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Brief Summary of COLA Machine Compiled File-Based System.

Object Oriented Prototype-based Runtime.

Incredibly Simple/Clean Syntax & Semantics. (notice a pattern?)

COLA = Combined Object/Lambda Architecture.

“designed to be the simplest possible language which can be described in itself"

49

Page 52: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Fibonacci

50

Integer fib { ; lispy (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))) }

Integer fib [ ; smalltalky ^ self < 2 ifTrue: [self] ifFalse: [(self - 1) fib + (self - 2) fib] ]

Page 53: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Time to Plunder!

51

Page 54: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Time to Plunder!

51

Yarrrrrr

Page 55: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ideas from Smalltalk

52

Page 56: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Squeak Smalltalk generates and builds itself.

53

Smalltalk

New VM

Smalltalk Subsetto C translator

VM written inSmalltalk Subset

Page 57: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Extensive Hierarchy of Classes

54…lots more…

Page 58: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Developer Tools!55

Page 59: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx56

Page 60: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx57

Page 61: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx58

Integrated Debugger

Page 62: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Implementors & Senders Browser

59

Page 63: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

(and a lot more)60

Page 64: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

#inspect actually useful# smalltalk: >> Color lightRed darker => (Color r: 0.92 g: 0.736 b: 0.736) >> (Color r: 0.92 g: 0.736 b: 0.736) => (Color r: 0.92 g: 0.736 b: 0.736)

# versus ruby: >> Color.new(0.92, 0.736, 0.736) => #<Color:0x007fad5114c458 @r=0.92, @g=0.736, @b=0.736>

61

Page 65: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ideas from Self

62

Page 66: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

This was the birthplace of JIT.

63

Page 67: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Self is the reason why Java & Javascript

are fast64

Page 68: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Dynamic languages CAN be fast.

65

Page 69: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Prototyping66

Page 70: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Influenced Javascript & IO

67

Page 71: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Prototyping is Handy!class Object def define_method name, &b self.singleton_class.send :define_method, name, &b self end

def clone_method obj, name define_method name, &obj.method(name) end end

class X; def to_s; self.class.name; end; end class Y; def to_s; self.class.name; end; end

puts X.new # X puts Y.new # Y puts X.new.clone_method(Y.new, :to_s) # Y??

68

Page 72: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Developer Tools!69

Page 73: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx70

Page 74: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx71

Page 75: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx72

Page 76: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx73

Page 77: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ideas from Scheme & Racket

74

Page 78: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx75

Page 79: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx76

Page 80: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx77

Page 81: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx78

Page 82: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Visual Stack Traces

79

Page 83: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx80

Structural Pattern Matching

Page 84: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Multiple Language Support

#lang scribble/manual @title{My Library} Welcome to my documentation: @racket[(list 'testing 1 2 3)].

81

Page 85: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

OO is good for organization, scoping,

and data hiding82

Page 86: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

But…83

Page 87: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

lambda is king

84

𝞴

Page 88: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

lambda is king

84

𝞴👑

Page 89: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Speed Comparison% racket fib.rkt '(0 1 1 2 3 5 8 13) cpu time: 13 real time: 13 gc time: 0 cpu time: 22 real time: 22 gc time: 0 cpu time: 35 real time: 35 gc time: 0 '(832040 1346269 2178309)

% ruby fib.rb [0, 1, 1, 2, 3, 5, 8, 13] user system total real 30 0.230000 0.000000 0.230000 ( 0.237727) 31 0.390000 0.000000 0.390000 ( 0.389832) 32 0.600000 0.010000 0.610000 ( 0.602819)

85

Page 90: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

17x faster86

Page 91: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Tail Call Optimization

87

Page 92: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ideas from COLA

88

Page 93: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

STEP’s vision of computing is massively

powerful89

Page 94: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx90

Page 95: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Debian Mac OS X

Windows Vista FreeBSD

Open Office GTK+ v2

Ruby electromagnetism

283 million lines of code 86 million lines of code 50 million lines of code 9 million lines of code 10 million lines of code 650 thousand lines of code 1.2 million lines of code 4 lines of code

91

Page 96: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Combined Object/Lambda Architecture

92

Page 97: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Objects for storage and organization

93

Page 98: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Lambdas for execution

94

Page 99: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx95

Objectsfor

Storage

Lambdasfor

Execution

Page 100: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx96

string "lookup"_vt

symbol

string "addMethod"_vt

symbolstring "allocate"_vt

symbol

string "delegated"_vt

symbol

string "intern"_vt

symbol

--datalookupmethod

_vtclosure

--dataaddMethodmethod

_vtclosure

--datadelegatedmethod

_vtclosure

--dataallocatemethod

_vtclosure

--datainternmethod

_vtclosure

parentvalueskeys

4size_vt

vtable_vt

--parentvalueskeys

5size--_vt

SymbolList

parent--values

keys --0size

_vtclosure_vt

parent--values

keys --0size

_vtobject_vt

parentvalueskeys

1size_vt

symbol_vt

Page 101: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Nile (graphics language) Source

Nile to Nile AST

Nile AST

Nile AST to Nothing

Nothing Code

Nothing to N-AST

N-AST code

Nothing to x86

CPU

OMeta: Translators all the way down

97

Page 102: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Define your system using basic axioms.

98

Page 103: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Teach the GUI Euclid’s geometry and give it a rule

engine99

Page 104: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

650 kloc gtk GUI library <

Rules + Euclid in ~250 loc100

Page 105: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Runtime101

Page 106: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

MUCH smaller102

Page 107: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Much more understandable

103

Page 108: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Much more maintainable.

104

Page 109: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ruby’s 1.3 mloc <

STEPS’ 20 kloc105

Page 110: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

👋Hand Wavey?106

Page 111: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

TONS of Rich Info Here:

http://vpri.org/html/writings.php

107

Page 112: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx108

Conclusion

Page 113: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Surveyed a minority of ideasself-bootstrapping implementations

extensive collection / magnitude hierarchies

instance-based inheritance

JIT compilation

Importance of lambdas & Tail Calls

object level pattern matching

the combined object/lambda architecture

109

Page 114: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Ruby is at its best

110

Page 115: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Borrowing great ideas

111

Page 116: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

From other languages

112

Page 117: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

It has fallen behind

113

Page 118: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

Lost its way114

Page 119: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

It's time for ruby to step up

115

Page 120: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

do more with these ideas

116

Page 121: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

keep pushing forward

117

Page 122: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx

to stand upon the shoulders of giants

118

Page 123: Standing on the Shoulders of Giants · Standing on the Shoulders of Giants Ruby on Ales, Bend, OR ... (VPRI) is Alan Kay's thinktank 5 year NSF grant to work on FONC: foundations

 Standing on the Shoulders of Giants

Ruby on Ales, Bend, OR

Ryan Davis, Seattle.rb 

@the_zenspiderx119

Thank You