Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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,514 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
  • Be the first to like this

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 />

×