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

Lotus RubyDay 2015

76aa5b311fb40fdc2bb70c0282d66af3?s=47 Luca Guidi
November 13, 2015

Lotus RubyDay 2015

76aa5b311fb40fdc2bb70c0282d66af3?s=128

Luca Guidi

November 13, 2015
Tweet

Transcript

  1. Lotus & The Future Of Ruby @jodosha / #lotusrb

  2. None
  3. None
  4. None
  5. None
  6. The future of Ruby

  7. Will Ruby die?

  8. None
  9. None
  10. Programming Languages Rank 0% 0,75% 1,5% 2,25% 3% Ruby Erlang

    Haskell Go Rust Elixir Clojure Source: TIOBE
  11. Let’s imagine the future

  12. The future is polyglot

  13. Modern system languages are more developer friendly than C/C++

  14. Maintenance costs for infrastructure will be less and less relevant

  15. Ruby isn’t used anymore for components that require improved performances

  16. Web applications will still use Ruby

  17. Ruby is here to stay

  18. Ruby is desperately trying to catch these new languages’ features,

    but this is a mistake
  19. “We can’t make promises” - Matz

  20. We need to find a new sense of purpose for

    Ruby
  21. Ruby has to become the first-class solution for a well

    defined set of problems
  22. Let’s have a look at the present

  23. Homebrew

  24. None
  25. None
  26. Thanks to a beautiful DSL, Homebrew has become a successful

    project with ~4000 formulæ
  27. ORMs

  28. None
  29. Sonic Pi

  30. None
  31. Thanks to its expressiveness, Ruby can build bridges that reach

    complex systems
  32. Docker uses raw BASH commands

  33. None
  34. MRuby

  35. None
  36. Let’s talk about humans

  37. Like a natural language, a programming language is dead without

    people using it
  38. Kids creating music with Sonic PI Credit: sonic-pi.net

  39. Kids playing with “Hello Ruby” Credit: helloruby.com

  40. People learning Ruby & web development Credit: railsgirls.com

  41. Ruby can be an entry point for life changing careers

  42. I hope that the Ruby Community of the future will

    be a safe place where everyone can feel welcome
  43. We should improve Ruby ecosystem in order to attract experienced

    engineers from other languages
  44. Web

  45. Why not Rails?

  46. None
  47. None
  48. None
  49. Lotus Philosophy

  50. Lightweight

  51. Features as of v0.5.0 • Thread-safety • Full featured HTTP

    router • RESTful resources • Actions and views as objects • Actions callbacks • Code sharing • Exception handling • Sessions • Secure Cookies • HTTP Caching • Automatic MIME Types • 20+ Template engines • Partials and layouts • Presenters • Routing helpers • Form helpers • HTML helpers • Automatic markup escape • CSRF and XSS prevention • Force SSL • Entities • Repositories • Data Mapper • SQL and Memory adapters • Dirty Tracking • Reusable validations • Mailers • Multiple environments • Static assets • JSON body parser • Params whitelisting and validation • Code generators • Rack servers support • Application console • Database console • Powerful CLI • Migrations • RSpec, Minitest and Capybara support • Several architectures • And more..
  52. 0 17,5 35 52,5 70 Ruby Rack Sinatra Lotus Rails

    Dependencies Memory
  53. On average, we use only a fraction of the features

    that a gem provides.
  54. Lotus depends on a few gems. You can be sure

    that all the loaded code is useful for your application.
  55. A complete framework

  56. Lotus goes beyond “Flat-MVC” by providing a set of collaborators

    for “Full-MVC”.
  57. Future plans

  58. Lotus::Assets • Helpers • Third Party Gems • Preprocessors •

    Deployment
  59. “Today’s good practices are HTTP/2 antipatterns” - Ilya Grigorik

  60. Experimental HTTP/2 support

  61. None
  62. None
  63. GitHub: jodosha/panther jodosha/instants

  64. http://lotusrb.org/hackday

  65. http://lotusrb.org/mailing-list Subscribe to the mailing list at:

  66. http://lotusrb.org

  67. http://lucaguidi.com

  68. Q&A

  69. https://speakerdeck.com/jodosha/ lotus-rubyday-2015 Slides available at:

  70. Thank you

  71. Credits Ruby picture by Orbital Joe https://flic.kr/p/79UqQM