what's eating ruby?
DESCRIPTION
Presentation given at RuLu 2014 in Lyon, France.TRANSCRIPT
![Page 1: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/1.jpg)
What’s Eating Ruby?The Future of Ruby the Language
and the Community
![Page 5: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/5.jpg)
What’s up with Ruby?
“Ruby is maturing up nicely” “Ruby isn't cool any more”
http://blog.codinghorror.com/why-ruby/
![Page 6: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/6.jpg)
What’s up with Ruby?
“Ruby is a dying language”
http://rubini.us/2013/10/15/introducing-rubinius-x/
![Page 7: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/7.jpg)
What’s up with Ruby?
http://www.tiobe.com/index.php/content/paperinfo/tpci/Ruby.html
![Page 8: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/8.jpg)
Oh NOES!!1!
Is Ruby Dying?Are you at a Ruby
Conference?
![Page 9: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/9.jpg)
http://rubyconferences.org/
![Page 10: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/10.jpg)
![Page 11: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/11.jpg)
Take a trip with me…
![Page 12: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/12.jpg)
Take a trip with me…
Whoops!
![Page 13: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/13.jpg)
…a little further
![Page 14: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/14.jpg)
…a little further
![Page 15: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/15.jpg)
“Begin at the beginning”C
![Page 16: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/16.jpg)
“Begin at the beginning”C
![Page 17: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/17.jpg)
“Begin at the beginning”Java
![Page 18: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/18.jpg)
“Begin at the beginning”Perl
![Page 19: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/19.jpg)
A Better Way
Do we really need header files, verbose types, and crazy sigils?
![Page 20: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/20.jpg)
A Better WayRuby
"I hope to see Ruby help every programmer in the world to be productive, and to enjoy
programming, and to be happy. That is the primary purpose of Ruby language."
![Page 21: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/21.jpg)
A Better WayWhy didn’t C, Java, or Perl “optimize for
programmer happiness”?
• Technical limitations
• Laziness
• Complacency
![Page 22: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/22.jpg)
The Problem…
“Optimize for programmer happiness”– Matz
“We’re not happy…”– Every programmer
…ever
![Page 23: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/23.jpg)
More happiness…Literals
Common Lisp
![Page 24: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/24.jpg)
More happiness…Literals
Clojure
![Page 25: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/25.jpg)
More happiness…Pipes
C
![Page 26: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/26.jpg)
More happiness…Pipes
C
![Page 27: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/27.jpg)
More happiness…Pipes
C
![Page 28: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/28.jpg)
More happiness…Pipes
Ruby
![Page 29: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/29.jpg)
More happiness…Pipes
Go
![Page 30: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/30.jpg)
More happiness…Multimethods
Ruby
![Page 31: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/31.jpg)
More happiness…Multimethods
Julia
![Page 32: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/32.jpg)
Is ?
![Page 33: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/33.jpg)
Ruby’s Still Got It• When was the last time you used threads?
• Is there another (better) way to do concurrency?
![Page 34: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/34.jpg)
Ruby’s Still Got It
• Don’t let them tell you dynamic typing is no good!
Ruby
![Page 35: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/35.jpg)
Ruby’s Still Got It
• Don’t let them tell you dynamic typing is no good!
Julia
![Page 36: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/36.jpg)
Ruby’s Still Got It
• Community is a wonderful thing…
![Page 37: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/37.jpg)
A Ruby Wish List
• JavaScript is assembly for the web
![Page 38: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/38.jpg)
A Ruby Wish List
• Mobile is the (near-term) future
![Page 39: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/39.jpg)
A Ruby Wish List• Maybe types aren’t all bad?
• Kill the “sacred cow”!
![Page 40: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/40.jpg)
Will I be using Ruby 20 years from now?
Maybe…
Maybe not…
I’ll always be a part of the Ruby Community
![Page 41: What's Eating Ruby?](https://reader033.vdocuments.us/reader033/viewer/2022052505/5555a93bd8b42afe5d8b4693/html5/thumbnails/41.jpg)
fin