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
910
Lotus
jodosha
8
570
A Rails Criticism
jodosha
4
1.7k
Other Decks in Programming
See All in Programming
The NotImplementedError Problem in Ruby
koic
1
1.1k
トークンをケチるな、設計しろ:GitHub Copilotを賢く使うコンテキスト戦略
ochtum
0
270
Performance Engineering for Everyone
elenatanasoiu
0
250
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
820
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
140
Datadog × OpenTelemetry 入門と実践のあいだ
kn_to_maxpno
1
180
分散システム、なんですぐ死んでしまうん?耐障害性を高めたいあなたのためのレジリエンスパターン入門
mshibuya
2
350
Observability in Practice:Grafana 與 Edge Device SRE 的那些事
blueswen
0
180
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2.7k
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
ADKを使って簡単にAIエージェントを作ってみよう
k1mu21
0
290
Oxcを導入して開発体験が向上した話
yug1224
4
370
Featured
See All Featured
We Are The Robots
honzajavorek
0
260
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
Building AI with AI
inesmontani
PRO
1
1.1k
Site-Speed That Sticks
csswizardry
13
1.2k
Un-Boring Meetings
codingconduct
0
330
Abbi's Birthday
coloredviolet
3
8.4k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
480
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
300
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
280
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
410
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