Ruby PowerPoint PPT Presentation
description
Transcript of Ruby PowerPoint PPT Presentation
![Page 1: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/1.jpg)
Ruby <3 .NETIvan Porto Carrero
http://flanders.co.nz
![Page 2: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/2.jpg)
The plan CLR, DLR, WTF?? All ur Rubyz are now belongs to us Ruby why should I care? Using RSpec for BDD Ruby + WPF => RAD but pretty Ruby + Silverlight == Ruby in the
browser
![Page 3: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/3.jpg)
CLR as we knew it
Common Type system
Class Loader, GC, JIT, Execution Support
Security
Base Class Libraries
Common Language Runtime
C# VB.NET …
![Page 4: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/4.jpg)
A better CLR
Common Type system
Class Loader, GC, JIT, Execution Support
Security
Base Class Libraries
Common Language Runtime
C# VB.NET IronPython
DLR Runtime
![Page 5: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/5.jpg)
![Page 6: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/6.jpg)
All ur Rubyz are now… MRI ‐ “The Normal” Ruby JRuby ‐ Sun MacRuby ‐ Apple IronRuby ‐ Microsoft Rubinius ‐ EngineYard MagLev ‐ Gemstone HotRuby
![Page 7: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/7.jpg)
For me the purpose of life is partly to have joy. Programmers often feel joy when they can concentrate
on the creative side of programming, so Ruby is designed to make programmers happy.
- Yukihiro “Matz” Matsumoto
Why should I care?
![Page 8: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/8.jpg)
Why should I care?
Actually, I'm trying to make Ruby natural, not simple. - Yukihiro “Matz” Matsumoto
![Page 9: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/9.jpg)
![Page 10: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/10.jpg)
Best of breed
If Python was the result of Lisp and C++ having a baby,Ruby is the result of Perl and Smalltalk having a baby.--MeowMeow Jones, 11/8/2001 on slashdot.
![Page 11: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/11.jpg)
![Page 12: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/12.jpg)
Duck typing
If it looks like a duck and acts like a duck it might as well be a duck
![Page 13: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/13.jpg)
![Page 14: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/14.jpg)
Metaprogramming
The computer should be doing the hard work. That's what it's paid to do, after all.-- Larry Wall
![Page 15: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/15.jpg)
Metaprogramming
I don’t think the idea here is to save memory or speed. The idea behind metaprogramming is
to teach Ruby your conventions and let it do some guessing,
in order to save you some code. – Why, author of why’s poignant guide to Ruby
![Page 16: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/16.jpg)
STOP!!!! Demo time
![Page 17: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/17.jpg)
REPL
Read Eval Print Loop
Read Eval Print Loop
Read Eval Print Loop
Read Eval Print
![Page 18: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/18.jpg)
STOP!!!! Demo time
![Page 19: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/19.jpg)
Everything is an object
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.
-- Alan Kay
![Page 20: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/20.jpg)
STOP!!!! Demo time
![Page 21: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/21.jpg)
Classes are open
![Page 22: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/22.jpg)
STOP!!!! Demo time
![Page 23: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/23.jpg)
CLR classes open for business
Isn't this dangerous? What if someone changes the logic of + for math expressions?
No, because if one of your programmers overrides methods that break things –
you take them out in the parking lotand beat them with a rubber hose!
The language shouldn't prohibit us from doing powerful things.-- http://raibledesigns.com/rd/entry/oscon_monday_morning
![Page 24: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/24.jpg)
STOP!!!! Demo time
![Page 25: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/25.jpg)
Adding Iron to Ruby
I have always imagined that Paradise will be a kind of library.-- Jorge Luis Borges
![Page 26: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/26.jpg)
STOP!!!! Demo time
![Page 27: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/27.jpg)
Kweshiunz?
![Page 28: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/28.jpg)
“A language that doesn't affect the way you think about programming is not worth knowing.”
-- Alan Perlis
![Page 29: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/29.jpg)
References http://flanders.co.nz http://ironruby.net http://iunknown.com http://manning.com/carrero http://rubydoes.net http://blog.prokrams.com/ http://nightlybuilds.cloudapp.net/Projec
t.aspx?project=dlr
![Page 30: Ruby PowerPoint PPT Presentation](https://reader036.fdocuments.net/reader036/viewer/2022081507/568161db550346895dd1e6be/html5/thumbnails/30.jpg)
go_to(http://ironruby.net).play.create.have_fun