ruby and rails short motivation

42
Why Ruby, Why Rails @jistr

Upload: jistr

Post on 15-May-2015

697 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Ruby and Rails short motivation

Why Ruby, Why Rails

@jistr

Page 2: Ruby and Rails short motivation

Ruby

Programming language designed to

Page 3: Ruby and Rails short motivation

Ruby

Programming language designed tosave your time, make you more productive

Page 4: Ruby and Rails short motivation

Ruby

Programming language designed tosave your time, make you more productivemake programming fun

Page 5: Ruby and Rails short motivation

Ruby

Programming language designed tosave your time, make you more productivemake programming funbe easy to write and read

human over computer

Page 6: Ruby and Rails short motivation

Ruby = Productivity

Page 7: Ruby and Rails short motivation

Ruby = Productivity

Literal notation for arrays, hashes, regular expressions

Page 8: Ruby and Rails short motivation

Ruby = Productivity

Literal notation for arrays, hashes, regular expressionsStatement modifiers

Page 9: Ruby and Rails short motivation

Ruby = Productivity

Literal notation for arrays, hashes, regular expressionsStatement modifiersFunctional programming

Lambdas, closures, code blocksMap, reduce, ...

Page 10: Ruby and Rails short motivation

Ruby = Productivity

Literal notation for arrays, hashes, regular expressionsStatement modifiersFunctional programming

Lambdas, closures, code blocksMap, reduce, ...

Domain specific languages

Page 11: Ruby and Rails short motivation

Ruby = Productivity

Literal notation for arrays, hashes, regular expressionsStatement modifiersFunctional programming

Lambdas, closures, code blocksMap, reduce, ...

Domain specific languages RubyGems for code distribution

Page 12: Ruby and Rails short motivation

Ruby = Productivity

Literal notation for arrays, hashes, regular expressionsStatement modifiersFunctional programming

Lambdas, closures, code blocksMap, reduce, ...

Domain specific languages RubyGems for code distributionBundler for dependency management

Page 13: Ruby and Rails short motivation

Ruby = Freedom

Page 14: Ruby and Rails short motivation

Ruby = Freedom

The programmer has as much power as possible

Page 15: Ruby and Rails short motivation

Ruby = Freedom

The programmer has as much power as possibleDuck typing

Page 16: Ruby and Rails short motivation

Ruby = Freedom

The programmer has as much power as possibleDuck typingEvaluation of code in different contexts

Page 17: Ruby and Rails short motivation

Ruby = Freedom

The programmer has as much power as possibleDuck typingEvaluation of code in different contextsMonkey patching

Page 18: Ruby and Rails short motivation

Ruby = Freedom

The programmer has as much power as possibleDuck typingEvaluation of code in different contextsMonkey patching

"But what about safety?"

Page 19: Ruby and Rails short motivation

Ruby = Freedom

The programmer has as much power as possibleDuck typingEvaluation of code in different contextsMonkey patching

"But what about safety?"TestsEven restrictive languages don't provide enough sanity-checking to make testing unnecessary.

Page 20: Ruby and Rails short motivation

Rails

MVC framework with complementary functionality

Page 21: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityREST

Page 22: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityRESTORM (ActiveRecord)

MigrationsValidationsOhter libs (NoSQL etc.) available

Page 23: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityRESTORM (ActiveRecord)

MigrationsValidationsOhter libs (NoSQL etc.) available

E-mailing (ActionMailer)

Page 24: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityRESTORM (ActiveRecord)

MigrationsValidationsOhter libs (NoSQL etc.) available

E-mailing (ActionMailer)Internationalization

Page 25: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityRESTORM (ActiveRecord)

MigrationsValidationsOhter libs (NoSQL etc.) available

E-mailing (ActionMailer)InternationalizationModularization – plugins, engines

Page 26: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityRESTORM (ActiveRecord)

MigrationsValidationsOhter libs (NoSQL etc.) available

E-mailing (ActionMailer)InternationalizationModularization – plugins, enginesGenerators

Page 27: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityRESTORM (ActiveRecord)

MigrationsValidationsOhter libs (NoSQL etc.) available

E-mailing (ActionMailer)InternationalizationModularization – plugins, enginesGeneratorsTesting

Page 28: Ruby and Rails short motivation

Rails

MVC framework with complementary functionalityRESTORM (ActiveRecord)

MigrationsValidationsOhter libs (NoSQL etc.) available

E-mailing (ActionMailer)InternationalizationModularization – plugins, enginesGeneratorsTesting

Embraces the Ruby philosophy well (freedom, productivity).

Page 29: Ruby and Rails short motivation

Ruby & Rails – weak points

Page 30: Ruby and Rails short motivation

Ruby & Rails – weak points

Hosting

Page 31: Ruby and Rails short motivation

Ruby & Rails – weak points

HostingBeginning at 200 CZK?Better to have your own VPS.

Page 32: Ruby and Rails short motivation

Ruby & Rails – weak points

HostingBeginning at 200 CZK?Better to have your own VPS.

Development on Windows

Page 33: Ruby and Rails short motivation

Ruby & Rails – weak points

HostingBeginning at 200 CZK?Better to have your own VPS.

Development on WindowsYou might not google problem solutions (the community of Rubyists using Windows is small)

Page 34: Ruby and Rails short motivation

Ruby & Rails – weak points

HostingBeginning at 200 CZK?Better to have your own VPS.

Development on WindowsYou might not google problem solutions (the community of Rubyists using Windows is small)Some libs/tools require POSIX environment.

Might occur unsolvable problems.

Page 35: Ruby and Rails short motivation

Ruby & Rails – weak points

HostingBeginning at 200 CZK?Better to have your own VPS.

Development on WindowsYou 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.

Page 36: Ruby and Rails short motivation

Ruby & Rails – weak points

HostingBeginning at 200 CZK?Better to have your own VPS.

Development on WindowsYou 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

Page 37: Ruby and Rails short motivation

Ruby & Rails – why switch?

Personal viewpoint

Page 38: Ruby and Rails short motivation

Ruby & Rails – why switch?

Personal viewpoint"Rails is great, but similar solutions exist in other languages."

The advantage of Rails is coherency.

Page 39: Ruby and Rails short motivation

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?"

Page 40: Ruby and Rails short motivation

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.

Page 41: Ruby and Rails short motivation

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.

Page 42: Ruby and Rails short motivation

Thank you.

Discussion