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
340
Lotus - Brighton Ruby 2015
jodosha
3
930
Lotus
jodosha
8
570
A Rails Criticism
jodosha
4
1.7k
Other Decks in Programming
See All in Programming
jsmini JavaScript Engine を作ってみた話
yosuke_furukawa
PRO
0
330
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
810
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
700
「人を評価する AI」の設計と実装
ryoyanara
0
210
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
240
数百円から始めるRuby電子工作
tarosay
0
170
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
570
わからない話を追いかけたら、プログラミング言語を作る側にいた
ydah
3
520
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
VibeCodingからAgenticWorkflowへ
starfish719
0
650
仕様書を書く前にハーネスを作る - Agent Native開発は「探索を速く、判定を固く」
gotalab555
4
1.7k
「寝てても仕事が進む」Claude Codeで組む第二の脳
tomoyafujita2016
0
340
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
New Earth Scene 8
popppiees
3
2.5k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Building Adaptive Systems
keathley
44
3.2k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
240
Automating Front-end Workflow
addyosmani
1369
210k
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.9k
Scaling GitHub
holman
464
140k
Bash Introduction
62gerente
615
220k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Design in an AI World
tapps
1
280
Discover your Explorer Soul
emna__ayadi
2
1.3k
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