Slide 1

Slide 1 text

ruby time to move on LA RubyConf 2012 - Matt Aimonetti @merbist Tuesday, April 17, 12

Slide 2

Slide 2 text

matt aimonetti @merbist Tuesday, April 17, 12

Slide 3

Slide 3 text

career Tuesday, April 17, 12

Slide 4

Slide 4 text

france Tuesday, April 17, 12

Slide 5

Slide 5 text

england Tuesday, April 17, 12

Slide 6

Slide 6 text

Tuesday, April 17, 12

Slide 7

Slide 7 text

immigrated Tuesday, April 17, 12

Slide 8

Slide 8 text

usa Tuesday, April 17, 12

Slide 9

Slide 9 text

quit Tuesday, April 17, 12

Slide 10

Slide 10 text

freelancer Tuesday, April 17, 12

Slide 11

Slide 11 text

consultant Tuesday, April 17, 12

Slide 12

Slide 12 text

scea Tuesday, April 17, 12

Slide 13

Slide 13 text

now hiring Tuesday, April 17, 12

Slide 14

Slide 14 text

macruby Tuesday, April 17, 12

Slide 15

Slide 15 text

ruby Tuesday, April 17, 12

Slide 16

Slide 16 text

web 2.0 was cool! Tuesday, April 17, 12

Slide 17

Slide 17 text

java, php, .net, python and of course c & c++ Tuesday, April 17, 12

Slide 18

Slide 18 text

ruby Tuesday, April 17, 12

Slide 19

Slide 19 text

cons pros 2005 Tuesday, April 17, 12

Slide 20

Slide 20 text

• poor performance cons pros 2005 Tuesday, April 17, 12

Slide 21

Slide 21 text

• poor performance • poor documentation cons pros 2005 Tuesday, April 17, 12

Slide 22

Slide 22 text

• poor performance • poor documentation • poor tooling cons pros 2005 Tuesday, April 17, 12

Slide 23

Slide 23 text

• poor performance • poor documentation • poor tooling • small community cons pros 2005 Tuesday, April 17, 12

Slide 24

Slide 24 text

• poor performance • poor documentation • poor tooling • small community • unproven cons pros 2005 Tuesday, April 17, 12

Slide 25

Slide 25 text

• poor performance • poor documentation • poor tooling • small community • unproven • cool language cons pros 2005 Tuesday, April 17, 12

Slide 26

Slide 26 text

• poor performance • poor documentation • poor tooling • small community • unproven • cool language • interesting web framework cons pros 2005 Tuesday, April 17, 12

Slide 27

Slide 27 text

• poor performance • poor documentation • poor tooling • small community • unproven • cool language • interesting web framework • focus on tests cons pros 2005 Tuesday, April 17, 12

Slide 28

Slide 28 text

• poor performance • poor documentation • poor tooling • small community • unproven • cool language • interesting web framework • focus on tests • not PHP, Java or .Net cons pros 2005 Tuesday, April 17, 12

Slide 29

Slide 29 text

Tuesday, April 17, 12

Slide 30

Slide 30 text

ruby Tuesday, April 17, 12

Slide 31

Slide 31 text

2012 Tuesday, April 17, 12

Slide 32

Slide 32 text

• better performance (still not great) 2012 Tuesday, April 17, 12

Slide 33

Slide 33 text

• better performance (still not great) • great documentation 2012 Tuesday, April 17, 12

Slide 34

Slide 34 text

• better performance (still not great) • great documentation • training 2012 Tuesday, April 17, 12

Slide 35

Slide 35 text

• better performance (still not great) • great documentation • training • better tooling (still not great) 2012 Tuesday, April 17, 12

Slide 36

Slide 36 text

• better performance (still not great) • great documentation • training • better tooling (still not great) • huge community (327,684 Ruby devs) 2012 Tuesday, April 17, 12

Slide 37

Slide 37 text

• better performance (still not great) • great documentation • training • better tooling (still not great) • huge community (327,684 Ruby devs) • proven (37signals, twitter, scea, livingsocial) 2012 Tuesday, April 17, 12

Slide 38

Slide 38 text

• better performance (still not great) • great documentation • training • better tooling (still not great) • huge community (327,684 Ruby devs) • proven (37signals, twitter, scea, livingsocial) • rails is the new php 2012 Tuesday, April 17, 12

Slide 39

Slide 39 text

2012 best programming language Tuesday, April 17, 12

Slide 40

Slide 40 text

can you prove it? Tuesday, April 17, 12

Slide 41

Slide 41 text

no you can’t Tuesday, April 17, 12

Slide 42

Slide 42 text

it’s not science Tuesday, April 17, 12

Slide 43

Slide 43 text

is it religion? Tuesday, April 17, 12

Slide 44

Slide 44 text

see things through the same world view, applying the same values. Tuesday, April 17, 12

Slide 45

Slide 45 text

community evangelism “you’re doing it wrong” bashing of other communities fanatics secret hand gestures the ruby way Tuesday, April 17, 12

Slide 46

Slide 46 text

“I hope the field of computer science never loses its sense of fun. Alan J. Perlis, SICP preface Tuesday, April 17, 12

Slide 47

Slide 47 text

Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen [...] Alan J. Perlis, SICP preface Tuesday, April 17, 12

Slide 48

Slide 48 text

What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands.” Alan J. Perlis, SICP preface Tuesday, April 17, 12

Slide 49

Slide 49 text

it’s religion Tuesday, April 17, 12

Slide 50

Slide 50 text

it’s philosophy Tuesday, April 17, 12

Slide 51

Slide 51 text

language designers Tuesday, April 17, 12

Slide 52

Slide 52 text

values Tuesday, April 17, 12

Slide 53

Slide 53 text

problems to focus on Tuesday, April 17, 12

Slide 54

Slide 54 text

objectives Tuesday, April 17, 12

Slide 55

Slide 55 text

choices Tuesday, April 17, 12

Slide 56

Slide 56 text

cost Tuesday, April 17, 12

Slide 57

Slide 57 text

relatively good/bad based on the values Tuesday, April 17, 12

Slide 58

Slide 58 text

understand the framework of reference Tuesday, April 17, 12

Slide 59

Slide 59 text

the right tool for the job Tuesday, April 17, 12

Slide 60

Slide 60 text

Tuesday, April 17, 12

Slide 61

Slide 61 text

Tuesday, April 17, 12

Slide 62

Slide 62 text

Tuesday, April 17, 12

Slide 63

Slide 63 text

Tuesday, April 17, 12

Slide 64

Slide 64 text

Tuesday, April 17, 12

Slide 65

Slide 65 text

Tuesday, April 17, 12

Slide 66

Slide 66 text

the right tool for the job insert troll face insert troll face Tuesday, April 17, 12

Slide 67

Slide 67 text

ruby Tuesday, April 17, 12

Slide 68

Slide 68 text

Yukihiro Matsumoto Tuesday, April 17, 12

Slide 69

Slide 69 text

expressiveness Tuesday, April 17, 12

Slide 70

Slide 70 text

harmony & consistency Tuesday, April 17, 12

Slide 71

Slide 71 text

freedom with guidelines Tuesday, April 17, 12

Slide 72

Slide 72 text

make programmers happy... Tuesday, April 17, 12

Slide 73

Slide 73 text

...so they can focus on the end result. Tuesday, April 17, 12

Slide 74

Slide 74 text

not performance Tuesday, April 17, 12

Slide 75

Slide 75 text

not simplicity Tuesday, April 17, 12

Slide 76

Slide 76 text

not web oriented Tuesday, April 17, 12

Slide 77

Slide 77 text

Tuesday, April 17, 12

Slide 78

Slide 78 text

Les goûts et les couleurs ne se discutent pas Tuesday, April 17, 12

Slide 79

Slide 79 text

don’t argue about tastes, argue about use cases Tuesday, April 17, 12

Slide 80

Slide 80 text

8 There is more than one way to skin a cat Tuesday, April 17, 12

Slide 81

Slide 81 text

business value is what you deliver, not how you deliver Tuesday, April 17, 12

Slide 82

Slide 82 text

Tuesday, April 17, 12

Slide 83

Slide 83 text

how much longer? Tuesday, April 17, 12

Slide 84

Slide 84 text

Tuesday, April 17, 12

Slide 85

Slide 85 text

values s y n t a x Tuesday, April 17, 12

Slide 86

Slide 86 text

deliverables p r e f e r e n c e s Tuesday, April 17, 12

Slide 87

Slide 87 text

Tuesday, April 17, 12

Slide 88

Slide 88 text

• expressiveness • harmony & consistency • freedom with guidelines • make programmers happy • focus on product Tuesday, April 17, 12

Slide 89

Slide 89 text

• built in support in Rails 3 • Really easy • Can mix and match • No excuses Tuesday, April 17, 12

Slide 90

Slide 90 text

Tuesday, April 17, 12

Slide 91

Slide 91 text

• 1 single language • designed for async ops • focus on non-blocking IOs • great community • fun why Tuesday, April 17, 12

Slide 92

Slide 92 text

IO bound Async (FB) APIs streaming good use cases Tuesday, April 17, 12

Slide 93

Slide 93 text

Tuesday, April 17, 12

Slide 94

Slide 94 text

• functional (scheme) • JVM • Java interop • community of smart folks • different perspective Tuesday, April 17, 12

Slide 95

Slide 95 text

• APIs • performance • high concurrency • avoid complexity good use cases Tuesday, April 17, 12

Slide 96

Slide 96 text

• http://github.com/functional-koans/clojure-koans • Ring (like Ruby’s Rack) • Compojure (like Ruby’s Sinatra) getting started Tuesday, April 17, 12

Slide 97

Slide 97 text

Tuesday, April 17, 12

Slide 98

Slide 98 text

Tuesday, April 17, 12

Slide 99

Slide 99 text

“rails” developers Tuesday, April 17, 12

Slide 100

Slide 100 text

“ruby” developers Tuesday, April 17, 12

Slide 101

Slide 101 text

developers Tuesday, April 17, 12

Slide 102

Slide 102 text

problem solvers Tuesday, April 17, 12

Slide 103

Slide 103 text

product builders Tuesday, April 17, 12

Slide 104

Slide 104 text

ruby is just a detail Tuesday, April 17, 12

Slide 105

Slide 105 text

matt aimonetti @ m e r b i s t Tuesday, April 17, 12

Slide 106

Slide 106 text

be ready to move on http://mattetti.github.com Tuesday, April 17, 12