Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Lotus RubyDay 2015
Search
Luca Guidi
November 13, 2015
Programming
960
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Lotus RubyDay 2015
Luca Guidi
November 13, 2015
More Decks by Luca Guidi
See All by Luca Guidi
Functional Web with Hanami
jodosha
4
450
Lessons Learned While Building Hanami
jodosha
4
1.2k
Lotus For Rails Developers
jodosha
2
330
Lotus - Brighton Ruby 2015
jodosha
3
910
Lotus
jodosha
8
570
A Rails Criticism
jodosha
4
1.7k
Other Decks in Programming
See All in Programming
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
6
4k
運用エージェントは "作る" から "育てる" へ - 記憶と自己進化の3層設計パターン / self-evolving-agents-three-layer-agent-design
gawa
12
3.6k
TAKTでAI駆動開発の品質を設計する
j5ik2o
6
1.2k
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
220
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
530
フロントエンドとバックエンドで「1文字」を揃えよう
youkidearitai
PRO
0
260
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
4.9k
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
390
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
Oxlintのカスタムルールの現況
syumai
6
1.1k
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
330
CSC307 Lecture 17
javiergs
PRO
0
320
Featured
See All Featured
Impact Scores and Hybrid Strategies: The future of link building
tamaranovitovic
0
300
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Paper Plane (Part 1)
katiecoart
PRO
0
8.8k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
210
HDC tutorial
michielstock
2
700
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.3k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
ラッコキーワード サービス紹介資料
rakko
1
3.6M
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
200
Transcript
Lotus & The Future Of Ruby @jodosha / #lotusrb
None
None
None
None
The future of Ruby
Will Ruby die?
None
None
Programming Languages Rank 0% 0,75% 1,5% 2,25% 3% Ruby Erlang
Haskell Go Rust Elixir Clojure Source: TIOBE
Let’s imagine the future
The future is polyglot
Modern system languages are more developer friendly than C/C++
Maintenance costs for infrastructure will be less and less relevant
Ruby isn’t used anymore for components that require improved performances
Web applications will still use Ruby
Ruby is here to stay
Ruby is desperately trying to catch these new languages’ features,
but this is a mistake
“We can’t make promises” - Matz
We need to find a new sense of purpose for
Ruby
Ruby has to become the first-class solution for a well
defined set of problems
Let’s have a look at the present
Homebrew
None
None
Thanks to a beautiful DSL, Homebrew has become a successful
project with ~4000 formulæ
ORMs
None
Sonic Pi
None
Thanks to its expressiveness, Ruby can build bridges that reach
complex systems
Docker uses raw BASH commands
None
MRuby
None
Let’s talk about humans
Like a natural language, a programming language is dead without
people using it
Kids creating music with Sonic PI Credit: sonic-pi.net
Kids playing with “Hello Ruby” Credit: helloruby.com
People learning Ruby & web development Credit: railsgirls.com
Ruby can be an entry point for life changing careers
I hope that the Ruby Community of the future will
be a safe place where everyone can feel welcome
We should improve Ruby ecosystem in order to attract experienced
engineers from other languages
Web
Why not Rails?
None
None
None
Lotus Philosophy
Lightweight
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..
0 17,5 35 52,5 70 Ruby Rack Sinatra Lotus Rails
Dependencies Memory
On average, we use only a fraction of the features
that a gem provides.
Lotus depends on a few gems. You can be sure
that all the loaded code is useful for your application.
A complete framework
Lotus goes beyond “Flat-MVC” by providing a set of collaborators
for “Full-MVC”.
Future plans
Lotus::Assets • Helpers • Third Party Gems • Preprocessors •
Deployment
“Today’s good practices are HTTP/2 antipatterns” - Ilya Grigorik
Experimental HTTP/2 support
None
None
GitHub: jodosha/panther jodosha/instants
http://lotusrb.org/hackday
http://lotusrb.org/mailing-list Subscribe to the mailing list at:
http://lotusrb.org
http://lucaguidi.com
Q&A
https://speakerdeck.com/jodosha/ lotus-rubyday-2015 Slides available at:
Thank you
Credits Ruby picture by Orbital Joe https://flic.kr/p/79UqQM