SlideShare a Scribd company logo
Why Ruby, Why Rails




       @jistr
Ruby
 Programming language designed to
Ruby
 Programming language designed to
    save your time, make you more productive
Ruby
 Programming language designed to
    save your time, make you more productive
    make programming fun
Ruby
 Programming language designed to
    save your time, make you more productive
    make programming fun
    be easy to write and read
       human over computer
Ruby = Productivity
Ruby = Productivity
 Literal notation for arrays, hashes, regular
 expressions
Ruby = Productivity
 Literal notation for arrays, hashes, regular
 expressions
 Statement modifiers
Ruby = Productivity
 Literal notation for arrays, hashes, regular
 expressions
 Statement modifiers
 Functional programming
     Lambdas, closures, code blocks
     Map, reduce, ...
Ruby = Productivity
 Literal notation for arrays, hashes, regular
 expressions
 Statement modifiers
 Functional programming
     Lambdas, closures, code blocks
     Map, reduce, ...
 Domain specific languages
Ruby = Productivity
 Literal notation for arrays, hashes, regular
 expressions
 Statement modifiers
 Functional programming
     Lambdas, closures, code blocks
     Map, reduce, ...
 Domain specific languages
 RubyGems for code distribution
Ruby = Productivity
 Literal notation for arrays, hashes, regular
 expressions
 Statement modifiers
 Functional programming
     Lambdas, closures, code blocks
     Map, reduce, ...
 Domain specific languages
 RubyGems for code distribution
 Bundler for dependency management
Ruby = Freedom
Ruby = Freedom
 The programmer has as much power as possible
Ruby = Freedom
 The programmer has as much power as possible
    Duck typing
Ruby = Freedom
 The programmer has as much power as possible
    Duck typing
    Evaluation of code in different contexts
Ruby = Freedom
 The programmer has as much power as possible
    Duck typing
    Evaluation of code in different contexts
    Monkey patching
Ruby = Freedom
 The programmer has as much power as possible
    Duck typing
    Evaluation of code in different contexts
    Monkey patching
 "But what about safety?"
Ruby = Freedom
 The programmer has as much power as possible
    Duck typing
    Evaluation of code in different contexts
    Monkey patching
 "But what about safety?"
    Tests
    Even restrictive languages don't provide enough
    sanity-checking to make testing unnecessary.
Rails
  MVC framework with complementary functionality
Rails
  MVC framework with complementary functionality
    REST
Rails
  MVC framework with complementary functionality
    REST
    ORM (ActiveRecord)
        Migrations
        Validations
        Ohter libs (NoSQL etc.) available
Rails
  MVC framework with complementary functionality
    REST
    ORM (ActiveRecord)
        Migrations
        Validations
        Ohter libs (NoSQL etc.) available
    E-mailing (ActionMailer)
Rails
  MVC framework with complementary functionality
    REST
    ORM (ActiveRecord)
        Migrations
        Validations
        Ohter libs (NoSQL etc.) available
    E-mailing (ActionMailer)
    Internationalization
Rails
  MVC framework with complementary functionality
    REST
    ORM (ActiveRecord)
        Migrations
        Validations
        Ohter libs (NoSQL etc.) available
    E-mailing (ActionMailer)
    Internationalization
    Modularization – plugins, engines
Rails
  MVC framework with complementary functionality
    REST
    ORM (ActiveRecord)
        Migrations
        Validations
        Ohter libs (NoSQL etc.) available
    E-mailing (ActionMailer)
    Internationalization
    Modularization – plugins, engines
    Generators
Rails
  MVC framework with complementary functionality
    REST
    ORM (ActiveRecord)
        Migrations
        Validations
        Ohter libs (NoSQL etc.) available
    E-mailing (ActionMailer)
    Internationalization
    Modularization – plugins, engines
    Generators
    Testing
Rails
  MVC framework with complementary functionality
     REST
     ORM (ActiveRecord)
         Migrations
         Validations
         Ohter libs (NoSQL etc.) available
     E-mailing (ActionMailer)
     Internationalization
     Modularization – plugins, engines
     Generators
     Testing
  Embraces the Ruby philosophy well (freedom,
  productivity).
Ruby & Rails – weak points
Ruby & Rails – weak points
 Hosting
Ruby & Rails – weak points
 Hosting
   Beginning at 200 CZK?
   Better to have your own VPS.
Ruby & Rails – weak points
 Hosting
   Beginning at 200 CZK?
   Better to have your own VPS.
 Development on Windows
Ruby & Rails – weak points
 Hosting
   Beginning at 200 CZK?
   Better to have your own VPS.
 Development on Windows
   You might not google problem solutions (the
   community of Rubyists using Windows is small)
Ruby & Rails – weak points
 Hosting
   Beginning at 200 CZK?
   Better to have your own VPS.
 Development on Windows
   You might not google problem solutions (the
   community of Rubyists using Windows is small)
   Some libs/tools require POSIX environment.
       Might occur unsolvable problems.
Ruby & Rails – weak points
 Hosting
   Beginning at 200 CZK?
   Better to have your own VPS.
 Development on Windows
   You might not google problem solutions (the
   community of Rubyists using Windows is small)
   Some libs/tools require POSIX environment.
       Might occur unsolvable problems.
   Windows development is theoretically possible,
   but not worth the trouble.
Ruby & Rails – weak points
 Hosting
   Beginning at 200 CZK?
   Better to have your own VPS.
 Development on Windows
   You might not google problem solutions (the
   community of Rubyists using Windows is small)
   Some libs/tools require POSIX environment.
       Might occur unsolvable problems.
   Windows development is theoretically possible,
   but not worth the trouble.
   StackOverflow link: http://bit.ly/fVnGNb
Ruby & Rails – why switch?
 Personal viewpoint
Ruby & Rails – why switch?
 Personal viewpoint
 "Rails is great, but similar solutions exist in other
 languages."
    The advantage of Rails is coherency.
Ruby & Rails – why switch?
 Personal viewpoint
 "Rails is great, but similar solutions exist in other
 languages."
     The advantage of Rails is coherency.
 "Still, they exist. Why would I switch then?"
Ruby & Rails – why switch?
 Personal viewpoint
 "Rails is great, but similar solutions exist in other
 languages."
     The advantage of Rails is coherency.
 "Still, they exist. Why would I switch then?"
     Because of Ruby.
Ruby & Rails – why switch?
 Personal viewpoint
 "Rails is great, but similar solutions exist in other
 languages."
     The advantage of Rails is coherency.
 "Still, they exist. Why would I switch then?"
     Because of Ruby.
     The solutions in other languages won't get you
     as much productivity and fun/happiness.
Thank you.


 Discussion

More Related Content

What's hot (18)

PDF
Making CLI app in ruby
Huy Do
 
PPTX
Day 8 - jRuby
Barry Jones
 
PPTX
Week 8 intro to python
brianjihoonlee
 
KEY
Learn Ruby 2011 - Session 1
James Thompson
 
PPTX
Peeling back the Lambda layers
Patrick McCaffrey
 
PDF
Intro to Crystal Programming Language
Adler Hsieh
 
PDF
Jax keynote
Marcus Lagergren
 
PDF
Introduction to Scala for Java Developers
Solix JJ
 
PDF
Code for Startup MVP (Ruby on Rails) Session 1
Henry S
 
PDF
Crystal
Kamil Lelonek
 
PPT
Ruby on Rails (RoR) as a back-end processor for Apex
Espen Brækken
 
PDF
Better Framework Better Life
jeffz
 
PPTX
Day 1 - Intro to Ruby
Barry Jones
 
PDF
Ruby formatters
Visuality
 
PPTX
Rubykaigi 2017-nishimotz-v6
Takuya Nishimoto
 
PDF
NoSQL for great good [hanoi.rb talk]
Huy Do
 
PDF
Ruby in office time reboot
Kentaro Goto
 
PDF
JRoR Deploying Rails on JRuby
elliando dias
 
Making CLI app in ruby
Huy Do
 
Day 8 - jRuby
Barry Jones
 
Week 8 intro to python
brianjihoonlee
 
Learn Ruby 2011 - Session 1
James Thompson
 
Peeling back the Lambda layers
Patrick McCaffrey
 
Intro to Crystal Programming Language
Adler Hsieh
 
Jax keynote
Marcus Lagergren
 
Introduction to Scala for Java Developers
Solix JJ
 
Code for Startup MVP (Ruby on Rails) Session 1
Henry S
 
Crystal
Kamil Lelonek
 
Ruby on Rails (RoR) as a back-end processor for Apex
Espen Brækken
 
Better Framework Better Life
jeffz
 
Day 1 - Intro to Ruby
Barry Jones
 
Ruby formatters
Visuality
 
Rubykaigi 2017-nishimotz-v6
Takuya Nishimoto
 
NoSQL for great good [hanoi.rb talk]
Huy Do
 
Ruby in office time reboot
Kentaro Goto
 
JRoR Deploying Rails on JRuby
elliando dias
 

Similar to Ruby and Rails short motivation (20)

KEY
Ruby On Rails
Eric Berry
 
PPT
Ruby On Rails
Gautam Rege
 
PDF
rubyonrails
tutorialsruby
 
PDF
rubyonrails
tutorialsruby
 
PDF
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
peter_marklund
 
PPT
Viridians on Rails
Viridians
 
PPTX
Ruby on Rails - An overview
Thomas Asikis
 
PDF
Ruby On Rails
Balint Erdi
 
PDF
Ruby On Rails Basics
Amit Solanki
 
KEY
Ruby on Rails survival guide of an aged Java developer
gicappa
 
PPTX
Ruby on rails for beginers
shanmukhareddy dasi
 
PDF
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
 
PDF
Connecting the Worlds of Java and Ruby with JRuby
Nick Sieger
 
ODP
Ruby On Rails - Rochester K Linux User Group
Jose de Leon
 
PDF
Rails - getting started
True North
 
PPTX
Exploring Ruby on Rails and PostgreSQL
Barry Jones
 
PPT
Ruby On Rails Seminar Basis Softexpo Feb2010
arif44
 
PPT
Workin ontherailsroad
Jim Jones
 
PPT
WorkinOnTheRailsRoad
webuploader
 
PPTX
Why Ruby?
IT Weekend
 
Ruby On Rails
Eric Berry
 
Ruby On Rails
Gautam Rege
 
rubyonrails
tutorialsruby
 
rubyonrails
tutorialsruby
 
Ruby on Rails 101 - Presentation Slides for a Five Day Introductory Course
peter_marklund
 
Viridians on Rails
Viridians
 
Ruby on Rails - An overview
Thomas Asikis
 
Ruby On Rails
Balint Erdi
 
Ruby On Rails Basics
Amit Solanki
 
Ruby on Rails survival guide of an aged Java developer
gicappa
 
Ruby on rails for beginers
shanmukhareddy dasi
 
Ruby on-rails-101-presentation-slides-for-a-five-day-introductory-course-1194...
Nilesh Panchal
 
Connecting the Worlds of Java and Ruby with JRuby
Nick Sieger
 
Ruby On Rails - Rochester K Linux User Group
Jose de Leon
 
Rails - getting started
True North
 
Exploring Ruby on Rails and PostgreSQL
Barry Jones
 
Ruby On Rails Seminar Basis Softexpo Feb2010
arif44
 
Workin ontherailsroad
Jim Jones
 
WorkinOnTheRailsRoad
webuploader
 
Why Ruby?
IT Weekend
 
Ad

Ruby and Rails short motivation

  • 1. Why Ruby, Why Rails @jistr
  • 3. Ruby Programming language designed to save your time, make you more productive
  • 4. Ruby Programming language designed to save your time, make you more productive make programming fun
  • 5. Ruby Programming language designed to save your time, make you more productive make programming fun be easy to write and read human over computer
  • 7. Ruby = Productivity Literal notation for arrays, hashes, regular expressions
  • 8. Ruby = Productivity Literal notation for arrays, hashes, regular expressions Statement modifiers
  • 9. Ruby = Productivity Literal notation for arrays, hashes, regular expressions Statement modifiers Functional programming Lambdas, closures, code blocks Map, reduce, ...
  • 10. Ruby = Productivity Literal notation for arrays, hashes, regular expressions Statement modifiers Functional programming Lambdas, closures, code blocks Map, reduce, ... Domain specific languages
  • 11. Ruby = Productivity Literal notation for arrays, hashes, regular expressions Statement modifiers Functional programming Lambdas, closures, code blocks Map, reduce, ... Domain specific languages RubyGems for code distribution
  • 12. Ruby = Productivity Literal notation for arrays, hashes, regular expressions Statement modifiers Functional programming Lambdas, closures, code blocks Map, reduce, ... Domain specific languages RubyGems for code distribution Bundler for dependency management
  • 14. Ruby = Freedom The programmer has as much power as possible
  • 15. Ruby = Freedom The programmer has as much power as possible Duck typing
  • 16. Ruby = Freedom The programmer has as much power as possible Duck typing Evaluation of code in different contexts
  • 17. Ruby = Freedom The programmer has as much power as possible Duck typing Evaluation of code in different contexts Monkey patching
  • 18. Ruby = Freedom The programmer has as much power as possible Duck typing Evaluation of code in different contexts Monkey patching "But what about safety?"
  • 19. Ruby = Freedom The programmer has as much power as possible Duck typing Evaluation of code in different contexts Monkey patching "But what about safety?" Tests Even restrictive languages don't provide enough sanity-checking to make testing unnecessary.
  • 20. Rails MVC framework with complementary functionality
  • 21. Rails MVC framework with complementary functionality REST
  • 22. Rails MVC framework with complementary functionality REST ORM (ActiveRecord) Migrations Validations Ohter libs (NoSQL etc.) available
  • 23. Rails MVC framework with complementary functionality REST ORM (ActiveRecord) Migrations Validations Ohter libs (NoSQL etc.) available E-mailing (ActionMailer)
  • 24. Rails MVC framework with complementary functionality REST ORM (ActiveRecord) Migrations Validations Ohter libs (NoSQL etc.) available E-mailing (ActionMailer) Internationalization
  • 25. Rails MVC framework with complementary functionality REST ORM (ActiveRecord) Migrations Validations Ohter libs (NoSQL etc.) available E-mailing (ActionMailer) Internationalization Modularization – plugins, engines
  • 26. Rails MVC framework with complementary functionality REST ORM (ActiveRecord) Migrations Validations Ohter libs (NoSQL etc.) available E-mailing (ActionMailer) Internationalization Modularization – plugins, engines Generators
  • 27. Rails MVC framework with complementary functionality REST ORM (ActiveRecord) Migrations Validations Ohter libs (NoSQL etc.) available E-mailing (ActionMailer) Internationalization Modularization – plugins, engines Generators Testing
  • 28. Rails MVC framework with complementary functionality REST ORM (ActiveRecord) Migrations Validations Ohter libs (NoSQL etc.) available E-mailing (ActionMailer) Internationalization Modularization – plugins, engines Generators Testing Embraces the Ruby philosophy well (freedom, productivity).
  • 29. Ruby & Rails – weak points
  • 30. Ruby & Rails – weak points Hosting
  • 31. Ruby & Rails – weak points Hosting Beginning at 200 CZK? Better to have your own VPS.
  • 32. Ruby & Rails – weak points Hosting Beginning at 200 CZK? Better to have your own VPS. Development on Windows
  • 33. Ruby & Rails – weak points Hosting Beginning at 200 CZK? Better to have your own VPS. Development on Windows You might not google problem solutions (the community of Rubyists using Windows is small)
  • 34. Ruby & Rails – weak points Hosting Beginning at 200 CZK? Better to have your own VPS. Development on Windows You might not google problem solutions (the community of Rubyists using Windows is small) Some libs/tools require POSIX environment. Might occur unsolvable problems.
  • 35. Ruby & Rails – weak points Hosting Beginning at 200 CZK? Better to have your own VPS. Development on Windows You might not google problem solutions (the community of Rubyists using Windows is small) Some libs/tools require POSIX environment. Might occur unsolvable problems. Windows development is theoretically possible, but not worth the trouble.
  • 36. Ruby & Rails – weak points Hosting Beginning at 200 CZK? Better to have your own VPS. Development on Windows You might not google problem solutions (the community of Rubyists using Windows is small) Some libs/tools require POSIX environment. Might occur unsolvable problems. Windows development is theoretically possible, but not worth the trouble. StackOverflow link: http://bit.ly/fVnGNb
  • 37. Ruby & Rails – why switch? Personal viewpoint
  • 38. Ruby & Rails – why switch? Personal viewpoint "Rails is great, but similar solutions exist in other languages." The advantage of Rails is coherency.
  • 39. Ruby & Rails – why switch? Personal viewpoint "Rails is great, but similar solutions exist in other languages." The advantage of Rails is coherency. "Still, they exist. Why would I switch then?"
  • 40. Ruby & Rails – why switch? Personal viewpoint "Rails is great, but similar solutions exist in other languages." The advantage of Rails is coherency. "Still, they exist. Why would I switch then?" Because of Ruby.
  • 41. Ruby & Rails – why switch? Personal viewpoint "Rails is great, but similar solutions exist in other languages." The advantage of Rails is coherency. "Still, they exist. Why would I switch then?" Because of Ruby. The solutions in other languages won't get you as much productivity and fun/happiness.