IronRuby<br />Twitter - @Ben_Hall<br />Blog.BenHall.me.uk<br />Ben@BenHall.me.uk<br />
Tell you why you should care<br />
Ruby 101<br />Creating WPF applications - DiskUsage<br />Silverlight – browser repl<br />Powershell - irpowershell<br />In...
WPF<br />Powershell<br />C#<br />Ruby<br />
Reason #1<br />
Dynamic Language <br />Runtime<br />http://www.flickr.com/photos/lastrounds/3199561205/sizes/o/<br />
IronPython<br />
IronPython<br />?<br />
Gary Short<br />IronSmallTalk<br />
Reason #2<br />
http://www.flickr.com/photos/mag3737/1914076277/<br />
MS-PL<br />http://www.flickr.com/photos/25501212@N05/2934269081/<br />
Reason #3<br />
RUBY, RUBY, RUBY, Ruby...<br />
Optional Syntax<br />puts ‘Hello World’<br />puts(‘Hello World’)<br />puts(‘Hello World’);<br />
Simple declarations<br />x = 1<br />
Natural Programming<br />x = [1,2,3]<br />y = [4,5,6]<br />x + y == [1,2,3,4,5,6]<br />
Everything is an object<br />“Hello World”.upcase<br />[5,3,4,1,6].sort<br />10.times { }<br />
Blocks<br />10.times do |i|<br />       puts i<br />end<br />10.times { |i| puts i }<br />
Duck Typing<br />def print_name(obj)<br />    puts obj.get_name<br />end<br />http://www.flickr.com/photos/normis/33718342...
Duck Typing<br />class A<br />   def get_name<br />       “My name is A”<br />   end<br />end<br />
Duck Typing<br />class Q<br />   def get_name<br />       “My name is Q”<br />   end<br />end<br />
Duck Typing<br />print_nameA.new<br />print_name(Q.new)<br />
Libraries<br />require ‘rake’<br />
RubyGems<br />gem install rake<br />Successfully installed rake-0.8.4<br />1 gem installed<br />Installing ri documentatio...
Reason #4<br />
.NetInterop<br />http://www.flickr.com/photos/mendhak/2117622450/sizes/o/<br />
Reason #5<br />
Reason #6<br />
String code = “puts ‘Hello World’”<br />Engine = IronRuby.Ruby.CreateEngine();<br />Scope = Engine.CreateScope();<br />Scr...
Data Gen Screenshot<br />
Reflector Screenshot<br />
Resolver Systems<br />
How will IronRuby<br />change<br />your world?<br />
Thank you!<br />Twitter - @Ben_Hall<br />Blog.BenHall.me.uk<br />Ben@BenHall.me.uk<br />
Upcoming SlideShare
Loading in …5
×

IronRuby

2,409 views
2,312 views

Published on

IronRuby presentation for VistaSquad on 15th July 2009.

Video of presentation can be found on my blog @ blog.benhall.me.uk

Published in: Technology, Business
1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
2,409
On SlideShare
0
From Embeds
0
Number of Embeds
282
Actions
Shares
0
Downloads
10
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide
  • Microsoft have invested in the platform.
  • http://www.flickr.com/photos/lastrounds/3199561205/sizes/o/
  • http://www.flickr.com/photos/mag3737/1914076277/It’s open source
  • http://www.flickr.com/photos/25501212@N05/2934269081/
  • The Ruby language
  • Works with WPF,Silverlight, ASP.net MVC, Powershell and your own .Net assemblies and frameworks.
  • Ruby has a great community and some amazing open source frameworks
  • You can embedIronRuby into your own applications
  • IronRuby

    1. 1. IronRuby<br />Twitter - @Ben_Hall<br />Blog.BenHall.me.uk<br />Ben@BenHall.me.uk<br />
    2. 2. Tell you why you should care<br />
    3. 3. Ruby 101<br />Creating WPF applications - DiskUsage<br />Silverlight – browser repl<br />Powershell - irpowershell<br />Interacting with any .Net framework – Nhibernate<br />Sinarta – very lightweight way to show data<br />IronRuby<br />Testing C#<br />Embedding the DLR<br />
    4. 4. WPF<br />Powershell<br />C#<br />Ruby<br />
    5. 5. Reason #1<br />
    6. 6.
    7. 7. Dynamic Language <br />Runtime<br />http://www.flickr.com/photos/lastrounds/3199561205/sizes/o/<br />
    8. 8. IronPython<br />
    9. 9.
    10. 10. IronPython<br />?<br />
    11. 11. Gary Short<br />IronSmallTalk<br />
    12. 12. Reason #2<br />
    13. 13. http://www.flickr.com/photos/mag3737/1914076277/<br />
    14. 14. MS-PL<br />http://www.flickr.com/photos/25501212@N05/2934269081/<br />
    15. 15.
    16. 16. Reason #3<br />
    17. 17. RUBY, RUBY, RUBY, Ruby...<br />
    18. 18. Optional Syntax<br />puts ‘Hello World’<br />puts(‘Hello World’)<br />puts(‘Hello World’);<br />
    19. 19. Simple declarations<br />x = 1<br />
    20. 20. Natural Programming<br />x = [1,2,3]<br />y = [4,5,6]<br />x + y == [1,2,3,4,5,6]<br />
    21. 21. Everything is an object<br />“Hello World”.upcase<br />[5,3,4,1,6].sort<br />10.times { }<br />
    22. 22. Blocks<br />10.times do |i|<br /> puts i<br />end<br />10.times { |i| puts i }<br />
    23. 23. Duck Typing<br />def print_name(obj)<br /> puts obj.get_name<br />end<br />http://www.flickr.com/photos/normis/337183421/<br />
    24. 24. Duck Typing<br />class A<br /> def get_name<br /> “My name is A”<br /> end<br />end<br />
    25. 25. Duck Typing<br />class Q<br /> def get_name<br /> “My name is Q”<br /> end<br />end<br />
    26. 26. Duck Typing<br />print_nameA.new<br />print_name(Q.new)<br />
    27. 27. Libraries<br />require ‘rake’<br />
    28. 28. RubyGems<br />gem install rake<br />Successfully installed rake-0.8.4<br />1 gem installed<br />Installing ri documentation for rake-0.8.4...<br />Installing RDoc documentation for rake-0.8.4...<br />
    29. 29. Reason #4<br />
    30. 30. .NetInterop<br />http://www.flickr.com/photos/mendhak/2117622450/sizes/o/<br />
    31. 31. Reason #5<br />
    32. 32.
    33. 33. Reason #6<br />
    34. 34. String code = “puts ‘Hello World’”<br />Engine = IronRuby.Ruby.CreateEngine();<br />Scope = Engine.CreateScope();<br />ScriptSourcesource = Engine.CreateScriptSourceFromString(code, SourceCodeKind.Statements);<br />object result = source.Execute(Scope);<br />
    35. 35. Data Gen Screenshot<br />
    36. 36. Reflector Screenshot<br />
    37. 37. Resolver Systems<br />
    38. 38. How will IronRuby<br />change<br />your world?<br />
    39. 39. Thank you!<br />Twitter - @Ben_Hall<br />Blog.BenHall.me.uk<br />Ben@BenHall.me.uk<br />
    40. 40. Links<br />http://www.codeplex.com/dlr<br />http://www.codeplex.com/Ironruby<br />http://www.codeplex.com/ironpython<br />http://blog.benhall.me.uk/2009/04/embedding-ironruby-and-dlr-into-red.html<br />http://msdn.microsoft.com/en-us/magazine/dd434651.aspx<br />http://msdn.microsoft.com/en-us/magazine/dd453038.aspx<br />http://www.resolversystems.com<br />http://www.manning.com/foord/<br />

    ×