SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Making CLI app in ruby
Making CLI app in rubyMaking CLI app in ruby
Making CLI app in rubyHuy Do
 
Week 8 intro to python
Week 8   intro to pythonWeek 8   intro to python
Week 8 intro to pythonbrianjihoonlee
 
Learn Ruby 2011 - Session 1
Learn Ruby 2011 - Session 1Learn Ruby 2011 - Session 1
Learn Ruby 2011 - Session 1James Thompson
 
Peeling back the Lambda layers
Peeling back the Lambda layersPeeling back the Lambda layers
Peeling back the Lambda layersPatrick McCaffrey
 
Intro to Crystal Programming Language
Intro to Crystal Programming LanguageIntro to Crystal Programming Language
Intro to Crystal Programming LanguageAdler Hsieh
 
Introduction to Scala for Java Developers
Introduction to Scala for Java DevelopersIntroduction to Scala for Java Developers
Introduction to Scala for Java DevelopersSolix JJ
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Henry S
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Espen Brækken
 
Better Framework Better Life
Better Framework Better LifeBetter Framework Better Life
Better Framework Better Lifejeffz
 
Day 1 - Intro to Ruby
Day 1 - Intro to RubyDay 1 - Intro to Ruby
Day 1 - Intro to RubyBarry Jones
 
Ruby formatters
Ruby formattersRuby formatters
Ruby formattersVisuality
 
Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Takuya Nishimoto
 
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]Huy Do
 
Ruby in office time reboot
Ruby in office time rebootRuby in office time reboot
Ruby in office time rebootKentaro Goto
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyelliando dias
 

Was ist angesagt? (18)

Making CLI app in ruby
Making CLI app in rubyMaking CLI app in ruby
Making CLI app in ruby
 
Day 8 - jRuby
Day 8 - jRubyDay 8 - jRuby
Day 8 - jRuby
 
Week 8 intro to python
Week 8   intro to pythonWeek 8   intro to python
Week 8 intro to python
 
Learn Ruby 2011 - Session 1
Learn Ruby 2011 - Session 1Learn Ruby 2011 - Session 1
Learn Ruby 2011 - Session 1
 
Peeling back the Lambda layers
Peeling back the Lambda layersPeeling back the Lambda layers
Peeling back the Lambda layers
 
Intro to Crystal Programming Language
Intro to Crystal Programming LanguageIntro to Crystal Programming Language
Intro to Crystal Programming Language
 
Jax keynote
Jax keynoteJax keynote
Jax keynote
 
Introduction to Scala for Java Developers
Introduction to Scala for Java DevelopersIntroduction to Scala for Java Developers
Introduction to Scala for Java Developers
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1
 
Crystal
CrystalCrystal
Crystal
 
Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex Ruby on Rails (RoR) as a back-end processor for Apex
Ruby on Rails (RoR) as a back-end processor for Apex
 
Better Framework Better Life
Better Framework Better LifeBetter Framework Better Life
Better Framework Better Life
 
Day 1 - Intro to Ruby
Day 1 - Intro to RubyDay 1 - Intro to Ruby
Day 1 - Intro to Ruby
 
Ruby formatters
Ruby formattersRuby formatters
Ruby formatters
 
Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6Rubykaigi 2017-nishimotz-v6
Rubykaigi 2017-nishimotz-v6
 
NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]NoSQL for great good [hanoi.rb talk]
NoSQL for great good [hanoi.rb talk]
 
Ruby in office time reboot
Ruby in office time rebootRuby in office time reboot
Ruby in office time reboot
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRuby
 

Ähnlich wie Ruby and Rails short motivation

Ruby on rails | iteron
Ruby on rails | iteronRuby on rails | iteron
Ruby on rails | iteronIteron Group
 
Ruby on Rails : First Mile
Ruby on Rails : First MileRuby on Rails : First Mile
Ruby on Rails : First MileGourab Mitra
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on railspmashchak
 
Ruby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingRuby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingDan Davis
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHPGautam Rege
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBrian Sam-Bodden
 
Úvod do Ruby on Rails
Úvod do Ruby on RailsÚvod do Ruby on Rails
Úvod do Ruby on RailsKarel Minarik
 
Introduction To Rails
Introduction To RailsIntroduction To Rails
Introduction To RailsEric Gruber
 
Ruby'izing iOS development
Ruby'izing iOS developmentRuby'izing iOS development
Ruby'izing iOS developmenttoamitkumar
 
Libraries Frameworks And Cms
Libraries Frameworks And CmsLibraries Frameworks And Cms
Libraries Frameworks And CmsMark Casias
 
Workin ontherailsroad
Workin ontherailsroadWorkin ontherailsroad
Workin ontherailsroadJim Jones
 
WorkinOnTheRailsRoad
WorkinOnTheRailsRoadWorkinOnTheRailsRoad
WorkinOnTheRailsRoadwebuploader
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 

Ähnlich wie Ruby and Rails short motivation (20)

Ruby on rails
Ruby on railsRuby on rails
Ruby on rails
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Ruby on rails | iteron
Ruby on rails | iteronRuby on rails | iteron
Ruby on rails | iteron
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
Ruby on Rails : First Mile
Ruby on Rails : First MileRuby on Rails : First Mile
Ruby on Rails : First Mile
 
Instruments ruby on rails
Instruments ruby on railsInstruments ruby on rails
Instruments ruby on rails
 
Ruby on Rails All Hands Meeting
Ruby on Rails All Hands MeetingRuby on Rails All Hands Meeting
Ruby on Rails All Hands Meeting
 
Rails Vs CakePHP
Rails Vs CakePHPRails Vs CakePHP
Rails Vs CakePHP
 
Ruby on rails for beginers
Ruby on rails for beginersRuby on rails for beginers
Ruby on rails for beginers
 
Bitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRubyBitter Java, Sweeten with JRuby
Bitter Java, Sweeten with JRuby
 
RubyonRails
RubyonRailsRubyonRails
RubyonRails
 
Úvod do Ruby on Rails
Úvod do Ruby on RailsÚvod do Ruby on Rails
Úvod do Ruby on Rails
 
TorqueBox
TorqueBoxTorqueBox
TorqueBox
 
Introduction To Rails
Introduction To RailsIntroduction To Rails
Introduction To Rails
 
Ruby'izing iOS development
Ruby'izing iOS developmentRuby'izing iOS development
Ruby'izing iOS development
 
Libraries Frameworks And Cms
Libraries Frameworks And CmsLibraries Frameworks And Cms
Libraries Frameworks And Cms
 
Workin ontherailsroad
Workin ontherailsroadWorkin ontherailsroad
Workin ontherailsroad
 
WorkinOnTheRailsRoad
WorkinOnTheRailsRoadWorkinOnTheRailsRoad
WorkinOnTheRailsRoad
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Ruby Beyond Rails
Ruby Beyond RailsRuby Beyond Rails
Ruby Beyond Rails
 

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.