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.

Embracing a new world - dynamic languages and .NET

1,582 views

Published on

Presentation on dynamic languages and .Net for DeveloperDay Scotland on 2nd May 2009.

Published in: Technology, Sports
  • Be the first to comment

  • Be the first to like this

Embracing a new world - dynamic languages and .NET

  1. 1. Embracing a new world - dynamic languages and .NET Twitter - @Ben_Hall Blog.BenHall.me.uk [email_address]
  2. 2. Dynamic Language Runtime
  3. 3. What is the DLR? http://www.flickr.com/photos/lastrounds/3199561205/sizes/o/
  4. 5. IronSmallTalk Gary Short
  5. 6. dynamic What is a Language?
  6. 7. R UBY, R UBY, R UBY
  7. 8. Optional Syntax <ul><li>puts ‘Hello World’ </li></ul><ul><li>puts(‘Hello World’) </li></ul><ul><li>puts(‘Hello World’); </li></ul>
  8. 9. Simple declarations <ul><li>x = 1 </li></ul>
  9. 10. Natural Programming <ul><li>x = [1,2,3] </li></ul><ul><li>y = [4,5,6] </li></ul><ul><li>x + y == [1,2,3,4,5,6] </li></ul>
  10. 11. Everything is an object <ul><li>“ Hello World”.upcase </li></ul><ul><li>[5,3,4,1,6].sort </li></ul><ul><li>10.times { } </li></ul>
  11. 12. Blocks <ul><li>10.times do |i| </li></ul><ul><li>puts i </li></ul><ul><li>end </li></ul><ul><li>10.times { |i| puts i } </li></ul>
  12. 13. Duck Typing <ul><li>def print_name(obj) </li></ul><ul><li>puts obj.get_name </li></ul><ul><li>end </li></ul>http://www.flickr.com/photos/normis/337183421/
  13. 14. Duck Typing <ul><li>class A </li></ul><ul><li>def get_name </li></ul><ul><li>“ My name is A” </li></ul><ul><li>end </li></ul><ul><li>end </li></ul>
  14. 15. Duck Typing <ul><li>class Q </li></ul><ul><li>def get_name </li></ul><ul><li>“ My name is Q” </li></ul><ul><li>end </li></ul><ul><li>end </li></ul>
  15. 16. Duck Typing <ul><li>print_name A.new </li></ul><ul><li>print_name(Q.new) </li></ul>
  16. 17. Libraries <ul><li>require ‘rake’ </li></ul>
  17. 18. RubyGems <ul><li>gem install rake </li></ul><ul><li>Successfully installed rake-0.8.4 </li></ul><ul><li>1 gem installed </li></ul><ul><li>Installing ri documentation for rake-0.8.4... </li></ul><ul><li>Installing RDoc documentation for rake-0.8.4... </li></ul>
  18. 19. If that’s Ruby http://www.flickr.com/photos/bflv/3328427869/ What’s IronRuby?
  19. 20. http://www.flickr.com/photos/djwhelan/8395783/
  20. 21. http://www.flickr.com/photos/mendhak/2117622450/sizes/o/ Combing the two worlds
  21. 22. Data Gen Screenshot
  22. 23. Reflector Screenshot
  23. 24. Resolver Systems
  24. 25. change How will the DLR your world?
  25. 26. Thank you! Twitter - @Ben_Hall Blog.BenHall.me.uk [email_address]
  26. 27. Links <ul><li>http://www.codeplex.com/dlr </li></ul><ul><li>http://www.codeplex.com/Ironruby </li></ul><ul><li>http://www.codeplex.com/ironpython </li></ul><ul><li>http://blog.benhall.me.uk/2009/04/embedding-ironruby-and-dlr-into-red.html </li></ul><ul><li>http://msdn.microsoft.com/en-us/magazine/dd434651.aspx </li></ul><ul><li>http://msdn.microsoft.com/en-us/magazine/dd453038.aspx </li></ul><ul><li>http://www.resolversystems.com </li></ul><ul><li>http://www.manning.com/foord/ </li></ul>

×