SlideShare une entreprise Scribd logo
1  sur  48
Learn Ruby 2011
     Session 1
Our Sponsors
Flatsourcing, iSeatz, Koda, and Launchpad
Welcome
Ready to learn Ruby?
Why Are We Here?
 More to the point, why are you here?
Why Learn Ruby?
 Other than the obvious street cred
Features
Features

• REALLY Object-Oriented
Features

• REALLY Object-Oriented
• Clean & Readable Syntax
Features

• REALLY Object-Oriented
• Clean & Readable Syntax
• “Funner” To Program
Features

• REALLY Object-Oriented
• Clean & Readable Syntax
• “Funner” To Program
• Ruby on Rails
So, Why Ruby & You?
 Really, why do you want to learn Ruby?
Installing Ruby
  Windows, Linux or Mac
The Ruby Toolbox
ruby
The actual interpreter
ri
Ruby Interactive Documentation
rdoc
Ruby Documentation Generator
irb
Interactive Ruby Environment
Ruby Gems
Ruby Package Management
Playing Around
  This is what IRB is for
$ irb
$ irb
> puts “Hello, World!”
$ irb
> puts “Hello, World!”
Hello, World!
=> nil
> “Hello, World!”.class
> “Hello, World!”.class
=> String
> 2.class
> 2.class
=> Fixnum
> Fixnum.class
> Fixnum.class
=> Class
> nil.class
> nil.class
=> NilClass
> 5.times { puts “Hello!” }
> 5.times { puts “Hello!” }
Hello!
Hello!
Hello!
Hello!
Hello!
=> 5
Resources
Resources

• rubydoc.info
Resources

• rubydoc.info
• rubygems.org
Resources

• rubydoc.info
• rubygems.org
• ruby-toolbox.com
For Next Week
For Next Week


• Play around in IRB
For Next Week


• Play around in IRB
• Explore rubydoc.info, especially the Stdlib
  section

Contenu connexe

Tendances

Tendances (19)

Wed Development on Rails
Wed Development on RailsWed Development on Rails
Wed Development on Rails
 
Introducing Ruby
Introducing RubyIntroducing Ruby
Introducing Ruby
 
2012-02-15 jfokus2012 - regex applied
2012-02-15 jfokus2012 - regex applied2012-02-15 jfokus2012 - regex applied
2012-02-15 jfokus2012 - regex applied
 
Ruby an overall approach
Ruby an overall approachRuby an overall approach
Ruby an overall approach
 
Value Objects
Value ObjectsValue Objects
Value Objects
 
A (very brief) into to Functional Programming
A (very brief) into to Functional ProgrammingA (very brief) into to Functional Programming
A (very brief) into to Functional Programming
 
Comparing Golang and understanding Java Value Types
Comparing Golang and understanding Java Value TypesComparing Golang and understanding Java Value Types
Comparing Golang and understanding Java Value Types
 
Scala days mizushima
Scala days mizushimaScala days mizushima
Scala days mizushima
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
Scala.io
Scala.ioScala.io
Scala.io
 
Domain driven design @FrOSCon
Domain driven design @FrOSConDomain driven design @FrOSCon
Domain driven design @FrOSCon
 
Domain Driven Design & NoSQL
Domain Driven Design & NoSQLDomain Driven Design & NoSQL
Domain Driven Design & NoSQL
 
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)
Akka.NET: Concurrency Without the Pain (Intro to the Actor Model)
 
Introduction to Ruby & Modern Programming
Introduction to Ruby & Modern ProgrammingIntroduction to Ruby & Modern Programming
Introduction to Ruby & Modern Programming
 
Intro for RoR
Intro for RoRIntro for RoR
Intro for RoR
 
Ruby Metaprogramming 08
Ruby Metaprogramming 08Ruby Metaprogramming 08
Ruby Metaprogramming 08
 
Python training in hyderabad
Python training in hyderabadPython training in hyderabad
Python training in hyderabad
 
Scala.js
Scala.js Scala.js
Scala.js
 
RubyMotion #jbday
RubyMotion #jbdayRubyMotion #jbday
RubyMotion #jbday
 

En vedette

FAMILY TREE STRUCTURE
FAMILY TREE STRUCTUREFAMILY TREE STRUCTURE
FAMILY TREE STRUCTURE
ahLot
 
Targeting change efforts at organizational subsystems
Targeting change efforts at organizational subsystemsTargeting change efforts at organizational subsystems
Targeting change efforts at organizational subsystems
Sharon Johnson
 
20081128 Bee
20081128 Bee20081128 Bee
20081128 Bee
cemera
 

En vedette (20)

FAMILY TREE STRUCTURE
FAMILY TREE STRUCTUREFAMILY TREE STRUCTURE
FAMILY TREE STRUCTURE
 
Leadership
LeadershipLeadership
Leadership
 
Beautiful
BeautifulBeautiful
Beautiful
 
Slide set 7 faith integration in business - stage perspectives
Slide set 7   faith integration in business - stage perspectivesSlide set 7   faith integration in business - stage perspectives
Slide set 7 faith integration in business - stage perspectives
 
Standard ot sb presentation updated 20130402
Standard ot sb presentation updated 20130402Standard ot sb presentation updated 20130402
Standard ot sb presentation updated 20130402
 
Internet Tabanli Yildiz Teknik Universitesi Bilgi Sistemi
Internet Tabanli Yildiz Teknik Universitesi Bilgi SistemiInternet Tabanli Yildiz Teknik Universitesi Bilgi Sistemi
Internet Tabanli Yildiz Teknik Universitesi Bilgi Sistemi
 
Targeting change efforts at organizational subsystems
Targeting change efforts at organizational subsystemsTargeting change efforts at organizational subsystems
Targeting change efforts at organizational subsystems
 
Turkey -Tax And Social Security Legislation Annual Update 2011
Turkey -Tax And Social Security Legislation Annual Update 2011Turkey -Tax And Social Security Legislation Annual Update 2011
Turkey -Tax And Social Security Legislation Annual Update 2011
 
Reading Busines Papers
Reading Busines PapersReading Busines Papers
Reading Busines Papers
 
Ojo.Html
Ojo.HtmlOjo.Html
Ojo.Html
 
Great Films
Great FilmsGreat Films
Great Films
 
Feliz Navidad
Feliz NavidadFeliz Navidad
Feliz Navidad
 
Dad 1
Dad 1Dad 1
Dad 1
 
0culture centre
0culture centre0culture centre
0culture centre
 
IBC of Madeira
IBC of MadeiraIBC of Madeira
IBC of Madeira
 
20081128 Bee
20081128 Bee20081128 Bee
20081128 Bee
 
The Latin Mass
The Latin MassThe Latin Mass
The Latin Mass
 
Emarketing
EmarketingEmarketing
Emarketing
 
PART I.2 - Physical Mathematics
PART I.2 - Physical MathematicsPART I.2 - Physical Mathematics
PART I.2 - Physical Mathematics
 
Octubre
OctubreOctubre
Octubre
 

Similaire à Learn Ruby 2011 - Session 1

Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby world
Orest Ivasiv
 
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
Henry S
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
knoppix
 
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
Shanda innovation institute
 
Ruby in prijatelji
Ruby in prijateljiRuby in prijatelji
Ruby in prijatelji
Oto Brglez
 
Intro To Ror
Intro To RorIntro To Ror
Intro To Ror
myuser
 

Similaire à Learn Ruby 2011 - Session 1 (20)

Meta Programming in Ruby - Code Camp 2010
Meta Programming in Ruby - Code Camp 2010Meta Programming in Ruby - Code Camp 2010
Meta Programming in Ruby - Code Camp 2010
 
Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0Gemification for Ruby 2.5/3.0
Gemification for Ruby 2.5/3.0
 
Freelancing and side-projects on Rails
Freelancing and side-projects on RailsFreelancing and side-projects on Rails
Freelancing and side-projects on Rails
 
TSSJS 2011 - JRuby
TSSJS 2011 - JRubyTSSJS 2011 - JRuby
TSSJS 2011 - JRuby
 
Keeping ruby reasonable
Keeping ruby reasonableKeeping ruby reasonable
Keeping ruby reasonable
 
Adventures of java developer in ruby world
Adventures of java developer in ruby worldAdventures of java developer in ruby world
Adventures of java developer in ruby world
 
Polyglot Grails
Polyglot GrailsPolyglot Grails
Polyglot Grails
 
6 reasons Jubilee could be a Rubyist's new best friend
6 reasons Jubilee could be a Rubyist's new best friend6 reasons Jubilee could be a Rubyist's new best friend
6 reasons Jubilee could be a Rubyist's new best friend
 
RubyConfBD 2013 decouple, bundle and share with ruby gems
RubyConfBD 2013   decouple, bundle and share with ruby gems RubyConfBD 2013   decouple, bundle and share with ruby gems
RubyConfBD 2013 decouple, bundle and share with ruby gems
 
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
 
Ruby On Rails
Ruby On RailsRuby On Rails
Ruby On Rails
 
The story of language development
The story of language developmentThe story of language development
The story of language development
 
Week2
Week2Week2
Week2
 
Ruby tutorial
Ruby tutorialRuby tutorial
Ruby tutorial
 
Setup ruby
Setup rubySetup ruby
Setup ruby
 
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
[.Net开发交流会][2010.06.19]better framework better life(吕国宁)
 
Better Framework Better Life
Better Framework Better LifeBetter Framework Better Life
Better Framework Better Life
 
Ruby in prijatelji
Ruby in prijateljiRuby in prijatelji
Ruby in prijatelji
 
Intro To Ror
Intro To RorIntro To Ror
Intro To Ror
 
Functional Ruby
Functional RubyFunctional Ruby
Functional Ruby
 

Plus de James Thompson

Wrapping an api with a ruby gem
Wrapping an api with a ruby gemWrapping an api with a ruby gem
Wrapping an api with a ruby gem
James Thompson
 

Plus de James Thompson (12)

Interfaces Not Required — RubyHACK 2018
Interfaces Not Required — RubyHACK 2018Interfaces Not Required — RubyHACK 2018
Interfaces Not Required — RubyHACK 2018
 
Bounded Contexts for Legacy Code
Bounded Contexts for Legacy CodeBounded Contexts for Legacy Code
Bounded Contexts for Legacy Code
 
Beyond Accidental Arcitecture
Beyond Accidental ArcitectureBeyond Accidental Arcitecture
Beyond Accidental Arcitecture
 
Effective Pair Programming
Effective Pair ProgrammingEffective Pair Programming
Effective Pair Programming
 
Wrapping an api with a ruby gem
Wrapping an api with a ruby gemWrapping an api with a ruby gem
Wrapping an api with a ruby gem
 
Microservices for the Monolith
Microservices for the MonolithMicroservices for the Monolith
Microservices for the Monolith
 
Mocking & Stubbing
Mocking & StubbingMocking & Stubbing
Mocking & Stubbing
 
Learn Ruby 2011 - Session 5 - Looking for a Rescue
Learn Ruby 2011 - Session 5 - Looking for a RescueLearn Ruby 2011 - Session 5 - Looking for a Rescue
Learn Ruby 2011 - Session 5 - Looking for a Rescue
 
Learn Ruby 2011 - Session 4 - Objects, Oh My!
Learn Ruby 2011 - Session 4 - Objects, Oh My!Learn Ruby 2011 - Session 4 - Objects, Oh My!
Learn Ruby 2011 - Session 4 - Objects, Oh My!
 
Rails: Scaling Edition - Getting on Rails 3
Rails: Scaling Edition - Getting on Rails 3Rails: Scaling Edition - Getting on Rails 3
Rails: Scaling Edition - Getting on Rails 3
 
Ruby For Web Development
Ruby For Web DevelopmentRuby For Web Development
Ruby For Web Development
 
Ruby Testing: Cucumber and RSpec
Ruby Testing: Cucumber and RSpecRuby Testing: Cucumber and RSpec
Ruby Testing: Cucumber and RSpec
 

Learn Ruby 2011 - Session 1

Notes de l'éditeur

  1. \n
  2. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. \n
  13. \n
  14. \n
  15. \n
  16. \n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. \n
  24. \n
  25. \n
  26. \n
  27. \n
  28. \n
  29. \n
  30. \n
  31. \n
  32. \n
  33. \n
  34. \n
  35. \n
  36. \n
  37. \n
  38. \n
  39. \n