IronSprog<br />//kristiankristensen.dk<br />twitter.com/kkristensen<br />kristian.kristensen@microsoft.com<br />
Agenda<br />
Why Dynamic Languages<br />
What makes a language “dynamic”? <br />
http://www.flickr.com/photos/35064820@N00/3950391591/<br />
http://www.flickr.com/photos/janineberben/3219556705/<br />
Why Dynamic Languages<br />
http://www.flickr.com/photos/parksy/828680991/sizes/o/<br />
http://www.flickr.com/photos/jamesdale10/2151196493/<br />http://www.flickr.com/photos/pandiyan/1339056452/<br />
The traditional view of the world<br />
Dynamic Language Runtime<br />
Dynamic Languages on .NET<br />IronPython<br />IronRuby<br />Iron?<br />VB.NET<br />C#<br />Common Language Runtime<br />
Multiple Language Dynamic Dispatch<br />IronPython<br />x.Foo<br />IronRuby<br />x.Foo<br />C#<br />x.Foo<br />VB.NET<br /...
Common Language = CLR + DLR<br />Today’s view of the world<br />
Iron languages arefirst class .NET citizens<br />
IronWhat?<br />True language implementation<br />True to the language<br />True to the community<br />True to the experien...
Languages on DLR<br />Pictures<br />
Why Iron* Languages?<br />
” Talk is cheap. Show me the code.”- Linus Torvalds<br />http://en.wikiquote.org/wiki/Linus_Torvalds<br />
Ruby Test Framework<br />
[TestClass]<br />public class StackTest{<br />    [TestMethod]<br />public void NewStackHasZeroElements(){<br />var s = ne...
IronPython in Visual Studio<br />http://ironpython.net/tools<br />
Easy to embed aka BadPaint<br />
The road ahead (picture)<br />
http://ironpython.codeplex.com<br />http://ironruby.net<br />http://dlr.codeplex.com<br />
The end.<br />
//kristiankristensen.dk//twitter.com/kkristensenkristian.kristensen@microsoft.com<br />
Upcoming SlideShare
Loading in …5
×

IronSprog - Community Day 2010

705
-1

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
705
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

IronSprog - Community Day 2010

  1. 1. IronSprog<br />//kristiankristensen.dk<br />twitter.com/kkristensen<br />kristian.kristensen@microsoft.com<br />
  2. 2. Agenda<br />
  3. 3. Why Dynamic Languages<br />
  4. 4. What makes a language “dynamic”? <br />
  5. 5.
  6. 6. http://www.flickr.com/photos/35064820@N00/3950391591/<br />
  7. 7.
  8. 8. http://www.flickr.com/photos/janineberben/3219556705/<br />
  9. 9. Why Dynamic Languages<br />
  10. 10. http://www.flickr.com/photos/parksy/828680991/sizes/o/<br />
  11. 11. http://www.flickr.com/photos/jamesdale10/2151196493/<br />http://www.flickr.com/photos/pandiyan/1339056452/<br />
  12. 12. The traditional view of the world<br />
  13. 13. Dynamic Language Runtime<br />
  14. 14. Dynamic Languages on .NET<br />IronPython<br />IronRuby<br />Iron?<br />VB.NET<br />C#<br />Common Language Runtime<br />
  15. 15. Multiple Language Dynamic Dispatch<br />IronPython<br />x.Foo<br />IronRuby<br />x.Foo<br />C#<br />x.Foo<br />VB.NET<br />x.Foo<br />Dynamic Language Runtime<br />GetMember<br />Name=“Foo”, IgnoreCase=false<br />ObjectBinder<br />PythonBinder<br />RubyBinder<br />COMBinder<br />
  16. 16. Common Language = CLR + DLR<br />Today’s view of the world<br />
  17. 17.
  18. 18. Iron languages arefirst class .NET citizens<br />
  19. 19. IronWhat?<br />True language implementation<br />True to the language<br />True to the community<br />True to the experience<br />Excellent performance<br />Great integration with .NET<br />Easy to use .NET libraries<br />Easy to use other .NET languages<br />Easy to use in .NET hosts<br />Easy to use with .NET tools<br />Implementation Running On .NET<br />
  20. 20.
  21. 21. Languages on DLR<br />Pictures<br />
  22. 22. Why Iron* Languages?<br />
  23. 23. ” Talk is cheap. Show me the code.”- Linus Torvalds<br />http://en.wikiquote.org/wiki/Linus_Torvalds<br />
  24. 24. Ruby Test Framework<br />
  25. 25. [TestClass]<br />public class StackTest{<br /> [TestMethod]<br />public void NewStackHasZeroElements(){<br />var s = new Stack<string>();<br />Assert.AreEqual<int>(0,s.Count); }<br /> [TestMethod]<br />public void StackPeekTopElement() {<br />var s = new Stack<string>();<br />s.Push("bob");<br />Assert.AreEqual<int>(1,s.Count);<br />Assert.AreEqual<string>("bob",s.Peek()); }<br /> [TestMethod]<br />public void StackPopTopElement() {<br />var s = new Stack<string>();<br />s.Push("bob");<br />Assert.AreEqual<string>("bob",s.Pop());<br />Assert.AreEqual<int>(0,s.Count); } }<br />
  26. 26. IronPython in Visual Studio<br />http://ironpython.net/tools<br />
  27. 27. Easy to embed aka BadPaint<br />
  28. 28. The road ahead (picture)<br />
  29. 29.
  30. 30. http://ironpython.codeplex.com<br />http://ironruby.net<br />http://dlr.codeplex.com<br />
  31. 31. The end.<br />
  32. 32. //kristiankristensen.dk//twitter.com/kkristensenkristian.kristensen@microsoft.com<br />
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×