300 likes | 604 Views
Ruby <3 .NET. Ivan Porto Carrero http:// flanders.co.nz. 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. CLR as we knew it. VB.NET. …. C#.
E N D
Ruby <3 .NET Ivan Porto Carrero http://flanders.co.nz
The plan • CLR, DLR, WTF?? • All urRubyz 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
CLR as we knew it VB.NET … C# Base Class Libraries Common Type system Security Class Loader, GC, JIT, Execution Support • Common Language Runtime
A better CLR VB.NET IronPython C# Base Class Libraries DLR Runtime Common Type system Security Class Loader, GC, JIT, Execution Support • Common Language Runtime
All urRubyz are now… • MRI ‐ “The Normal” Ruby • JRuby ‐ Sun • MacRuby ‐ Apple • IronRuby ‐ Microsoft • Rubinius ‐ EngineYard • MagLev ‐ Gemstone • HotRuby
Why should I care? 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? Actually, I'm trying to make Ruby natural, not simple. - Yukihiro “Matz” Matsumoto
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.
Duck typing If it looks like a duck and acts like a duck it might as well be a duck
Metaprogramming The computer should be doing the hard work. That's what it's paid to do, after all.-- Larry Wall
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
REPL ReadEval Print Loop ReadEval Print Loop ReadEval Print Loop ReadEval Print
Everything is an object I invented the term Object-Oriented, and I can tell you I did not have C++ in mind.-- Alan Kay
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 lot and beat them with a rubber hose! The language shouldn't prohibit us from doing powerful things. -- http://raibledesigns.com/rd/entry/oscon_monday_morning
Adding Iron to Ruby I have always imagined that Paradise will be a kind of library.-- Jorge Luis Borges
“A language that doesn't affect the way you think about programming is not worth knowing.” --Alan Perlis
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/Project.aspx?project=dlr