iron an introduction to getting dynamic on net
play

Iron* - An Introduction to Getting Dynamic on .NET - PowerPoint PPT Presentation

Iron* - An Introduction to Getting Dynamic on .NET //kristiankristensen.dk twitter.com/kkristensen mail@kristiankristensen.dk Question Agenda Dynamic Languages Dynamic Demo! Language Runtime 45 min 15 min Why Dynamic Languages


  1. Iron* - An Introduction to Getting Dynamic on .NET //kristiankristensen.dk twitter.com/kkristensen mail@kristiankristensen.dk

  2. Question

  3. Agenda Dynamic Languages Dynamic Demo! Language Runtime 45 min 15 min

  4. Why Dynamic Languages Fashion Fortune Fame Weight Interest Loss

  5. What makes a language “dynamic”?

  6. http://www.flickr.com/photos/35064820@N00/3950391591/

  7. http://www.flickr.com/photos/janineberben/3219556705

  8. Why Dynamic Languages Simplicity Perspective Expressive

  9. The traditional view of the world Dynamic Static Languages Languages Simple and succinct Robust Implicitly typed Performance Meta-programming Intelligent tools No compilation Better scaling

  10. Dynamic Language Runtime

  11. Dynamic Languages on .NET IronPython IronRuby Iron? VB.NET C# Common Language Runtime

  12. Multiple Language Dynamic Dispatch IronPython IronRuby C# VB.NET x.Foo x.Foo x.Foo x.Foo Dynamic Language Runtime GetMember Name=“ Foo ”, IgnoreCase=false Object Python Ruby COM Binder Binder Binder Binder

  13. Today’s view of the world Common Language = CLR + DLR Dynamic Static Languages Languages Simple and succinct Robust Implicitly typed Performance Meta-programming Intelligent tools No compilation Better scaling

  14. Iron languages are first class .NET citizens

  15. Iron What? • True language implementation – True to the language – True to the community – True to the experience – Excellent performance • Great integration with .NET – Easy to use .NET libraries – Easy to use other .NET languages – Easy to use in .NET hosts – Easy to use with .NET tools • Implementation Running On .NET

  16. Languages on DLR • Pictures

  17. Why Iron* Languages? Easy to extend Easy to embed .NET Interop

  18. ” Talk is cheap. Show me the code .” - Linus Torvalds http://en.wikiquote.org/wiki/Linus_Torvalds

  19. Ruby Test Framework

  20. [TestClass] public class StackTest { [TestMethod] public void NewStackHasZeroElements() { var s = new Stack<string>(); Assert.AreEqual<int>(0, s.Count); } [TestMethod] public void StackPeekTopElement() { var s = new Stack<string>(); s.Push("bob"); Assert.AreEqual<int>(1, s.Count); Assert.AreEqual<string>("bob", s.Peek()); } [TestMethod] public void StackPopTopElement() { var s = new Stack<string>(); s.Push("bob"); Assert.AreEqual<string>("bob", s.Pop()); Assert.AreEqual<int>(0, s.Count); } }

  21. IronPython in Visual Studio http://ironpython.net/tools

  22. Easy to embed aka BadPaint

  23. The road ahead (picture)

  24. http://ironpython.net http://ironruby.net http://dlr.codeplex.com

  25. The end.

  26. //kristiankristensen.dk //twitter.com/kkristensen mail@kristiankristensen.dk

Recommend


More recommend