ruby loves dot net

37
www.visug.be www.visug.be Ruby <3 .NET Ivan Porto Carrero http://flanders.co.nz http://twitter.com/casualjim

Upload: ivan-porto-carrero

Post on 15-May-2015

1.428 views

Category:

Technology


3 download

DESCRIPTION

Presentation for the belgian VISUG about IronRuby

TRANSCRIPT

Page 1: Ruby Loves Dot Net

www.visug.bewww.visug.be

Ruby <3 .NETIvan Porto Carrero

http://flanders.co.nzhttp://twitter.com/casualjim

Page 2: Ruby Loves Dot Net

Upcoming sessions

• June 18 : Domain Driven Design (Yves Goeleven)• June 30 : IronRuby (Ivan Porto Carrero)• September 10 : ORMs, NHibernate – Entity Framework

(Davy Brion, Kurt Claeys)• Week of October 5 (TBD) : Dino Esposito• November 18 : Modeling with VSTS2010 (Marcel De Vries)• November 26 : RIA Services (Miguel De Lathouwer

& Steven Van Den Eynde)

Page 3: Ruby Loves Dot Net
Page 4: Ruby Loves Dot Net

www.visug.be

The plan

• CLR, DLR, WTF??• All ur Rubyz are now belongs to us• Ruby why should I care?• Gotcha’s• BDD with Bacon and Caricature• Sinatra has not left the building• IronRuby MVC• Ruby + Silverlight == Teh cake

Page 5: Ruby Loves Dot Net

www.visug.be

CLR as we knew it

Common Type system

Class Loader, GC, JIT, Execution Support

Security

Base Class Libraries

C# VB.NET …

Page 6: Ruby Loves Dot Net

www.visug.be

CLR but mo betterer

Common Type system

Class Loader, GC, JIT, Execution Support

Security

Base Class Libraries

C# VB.NET IronPython

DLR Runtime

Page 7: Ruby Loves Dot Net

www.visug.be

Page 8: Ruby Loves Dot Net

www.visug.be

All ur Rubyz are now…

• MRI ‐ “The Normal” Ruby • JRuby ‐ Sun • MacRuby ‐ Apple • IronRuby ‐ Microsoft • Rubinius ‐ EngineYard • MagLev ‐ Gemstone • HotRuby

Page 9: Ruby Loves Dot Net

www.visug.be

All ur Rubyz are now…

• MRI ‐ “The Normal” Ruby • JRuby ‐ Sun • MacRuby ‐ Apple

• IronRuby ‐ Microsoft • Rubinius ‐ EngineYard • MagLev ‐ Gemstone • HotRuby

Page 10: Ruby Loves Dot Net

www.visug.be

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

Page 11: Ruby Loves Dot Net

www.visug.be

Why should I care?

Actually, I'm trying to make Ruby natural, not simple. - Yukihiro “Matz” Matsumoto

Page 12: Ruby Loves Dot Net

www.visug.be

Page 13: Ruby Loves Dot Net

www.visug.be

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 14: Ruby Loves Dot Net

www.visug.be

Page 15: Ruby Loves Dot Net

www.visug.be

Duck typing

if it looks like a duckand acts like a duck it might as well be a

duck

Page 16: Ruby Loves Dot Net

www.visug.be

Page 17: Ruby Loves Dot Net

www.visug.be

Metaprogramming

The computer should be doing the hard work.That’s what it’s paid to do, after all.

- Larry Wall

Page 18: Ruby Loves Dot Net

www.visug.be

Metaprogramming

I don’t think the idea here is to save memory or speed.The idea behind metaprogramming is

to teach Ruby your conventionsAnd let it do some guessing

In order to save you some code - Why, author of why’s poignant guide to Ruby

Page 19: Ruby Loves Dot Net

www.visug.be

STOP!!!! Demo time

Page 20: Ruby Loves Dot Net

www.visug.be

REPL

Read Eval Print Loop

Read Eval Print Loop

Read Eval Print Loop

Read Eval Print

Page 21: Ruby Loves Dot Net

www.visug.be

STOP!!!! Demo time

Page 22: Ruby Loves Dot Net

www.visug.be

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 23: Ruby Loves Dot Net

www.visug.be

STOP!!!! Demo time

Page 24: Ruby Loves Dot Net

www.visug.be

Classes are open

Page 25: Ruby Loves Dot Net

www.visug.be

STOP!!!! Demo time

Page 26: Ruby Loves Dot Net

www.visug.be

CLR classes open for business

Page 27: Ruby Loves Dot Net

www.visug.be

STOP!!!! Demo time

Page 28: Ruby Loves Dot Net

www.visug.be

Adding Iron to Ruby

I have always imagined that paradise will be a kind of library- Jorge Luis Borges

Page 29: Ruby Loves Dot Net

www.visug.be

Gotcha’s

Page 30: Ruby Loves Dot Net

www.visug.be

BDD Ruby/CLR interop

Page 31: Ruby Loves Dot Net

www.visug.be

IronRuby MVC

Page 32: Ruby Loves Dot Net

www.visug.be

Sinatra

Page 33: Ruby Loves Dot Net

www.visug.be

Silverlight

Page 34: Ruby Loves Dot Net

www.visug.be

Kweshiunz?

Page 35: Ruby Loves Dot Net

www.visug.be

“A language that doesn't affect the way you think about programming is not worth knowing.”

- Alan Perlis

Page 36: Ruby Loves Dot Net

www.visug.be

References

• http://flanders.co.nz• http://ironruby.net• http://ironruby.info• http://iunknown.com• http://manning.com/carrero• http://rubydoes.net• http://blog.prokrams.com/• http://nightlybuilds.cloudapp.net/Project.

aspx?project=dlr• http://blog.jimmy.schementi.com/

Page 37: Ruby Loves Dot Net

www.visug.be

go_to(http://ironruby.net).play.create.have_fun