Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ruby: time to move on

Ruby: time to move on

Let’s be honest, Ruby became mainstream a few years back and it isn’t the cool underground programming language it once was. It’s quite likely that your cousin’s boyfriend who’s “into computers” knows what Ruby on Rails is. There are hundreds of books, conferences, training and meetups for Rubyists. Recruiters fight to hire whoever knows how to generate a scaffolded Rails app. But now cool kids can’t stop talking about node.js, CoffeeScript, Clojure, Haskell and pushing code to the UI layer. What does it mean for the new, existing and prospecting Ruby developers? Is it time to jump ship and move on to something else?

http://matt.aimonetti.net/posts/2012/02/04/larubyconf-2012/
Video: http://confreaks.com/videos/816-larubyconf2012-time-to-move-away-from-ruby

Matt Aimonetti

April 19, 2012
Tweet

More Decks by Matt Aimonetti

Other Decks in Programming

Transcript

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

    View full-size slide

  2. matt aimonetti
    @merbist
    Tuesday, April 17, 12

    View full-size slide

  3. career
    Tuesday, April 17, 12

    View full-size slide

  4. france
    Tuesday, April 17, 12

    View full-size slide

  5. england
    Tuesday, April 17, 12

    View full-size slide

  6. Tuesday, April 17, 12

    View full-size slide

  7. immigrated
    Tuesday, April 17, 12

    View full-size slide

  8. usa
    Tuesday, April 17, 12

    View full-size slide

  9. quit
    Tuesday, April 17, 12

    View full-size slide

  10. freelancer
    Tuesday, April 17, 12

    View full-size slide

  11. consultant
    Tuesday, April 17, 12

    View full-size slide

  12. scea
    Tuesday, April 17, 12

    View full-size slide

  13. now hiring
    Tuesday, April 17, 12

    View full-size slide

  14. macruby
    Tuesday, April 17, 12

    View full-size slide

  15. ruby
    Tuesday, April 17, 12

    View full-size slide

  16. web 2.0
    was cool!
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

  18. ruby
    Tuesday, April 17, 12

    View full-size slide

  19. cons
    pros
    2005
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  28. • 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

    View full-size slide

  29. Tuesday, April 17, 12

    View full-size slide

  30. ruby
    Tuesday, April 17, 12

    View full-size slide

  31. 2012
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  37. • 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

    View full-size slide

  38. • 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

    View full-size slide

  39. 2012
    best
    programming
    language
    Tuesday, April 17, 12

    View full-size slide

  40. can you
    prove it?
    Tuesday, April 17, 12

    View full-size slide

  41. no you can’t
    Tuesday, April 17, 12

    View full-size slide

  42. it’s not
    science
    Tuesday, April 17, 12

    View full-size slide

  43. is it religion?
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  47. 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

    View full-size slide

  48. 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

    View full-size slide

  49. it’s religion
    Tuesday, April 17, 12

    View full-size slide

  50. it’s philosophy
    Tuesday, April 17, 12

    View full-size slide

  51. language
    designers
    Tuesday, April 17, 12

    View full-size slide

  52. values
    Tuesday, April 17, 12

    View full-size slide

  53. problems to
    focus on
    Tuesday, April 17, 12

    View full-size slide

  54. objectives
    Tuesday, April 17, 12

    View full-size slide

  55. choices
    Tuesday, April 17, 12

    View full-size slide

  56. cost
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

  58. understand
    the
    framework of
    reference
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

  60. Tuesday, April 17, 12

    View full-size slide

  61. Tuesday, April 17, 12

    View full-size slide

  62. Tuesday, April 17, 12

    View full-size slide

  63. Tuesday, April 17, 12

    View full-size slide

  64. Tuesday, April 17, 12

    View full-size slide

  65. Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

  67. ruby
    Tuesday, April 17, 12

    View full-size slide

  68. Yukihiro Matsumoto
    Tuesday, April 17, 12

    View full-size slide

  69. expressiveness
    Tuesday, April 17, 12

    View full-size slide

  70. harmony &
    consistency
    Tuesday, April 17, 12

    View full-size slide

  71. freedom with
    guidelines
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  74. not
    performance
    Tuesday, April 17, 12

    View full-size slide

  75. not simplicity
    Tuesday, April 17, 12

    View full-size slide

  76. not web
    oriented
    Tuesday, April 17, 12

    View full-size slide

  77. Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  82. Tuesday, April 17, 12

    View full-size slide

  83. how
    much
    longer?
    Tuesday, April 17, 12

    View full-size slide

  84. Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  87. Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  90. Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  93. Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  97. Tuesday, April 17, 12

    View full-size slide

  98. Tuesday, April 17, 12

    View full-size slide

  99. “rails”
    developers
    Tuesday, April 17, 12

    View full-size slide

  100. “ruby”
    developers
    Tuesday, April 17, 12

    View full-size slide

  101. developers
    Tuesday, April 17, 12

    View full-size slide

  102. problem
    solvers
    Tuesday, April 17, 12

    View full-size slide

  103. product
    builders
    Tuesday, April 17, 12

    View full-size slide

  104. ruby is
    just a
    detail
    Tuesday, April 17, 12

    View full-size slide

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

    View full-size slide

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

    View full-size slide