Iron* - an Introduction to Getting Dynamic on .NET //Kristiankristensen.Dk Twitter.Com/Kkristensen [email protected] Question Agenda

Iron* - an Introduction to Getting Dynamic on .NET //Kristiankristensen.Dk Twitter.Com/Kkristensen Mail@Kristiankristensen.Dk Question Agenda

Iron* - An Introduction to Getting Dynamic on .NET //kristiankristensen.dk twitter.com/kkristensen [email protected] Question Agenda Dynamic Languages Dynamic Demo! Language Runtime 45 min 15 min Why Dynamic Languages Fashion Fortune Fame Weight Interest Loss What makes a language “dynamic”? http://www.flickr.com/photos/35064820@N00/3950391591/ http://www.flickr.com/photos/janineberben/3219556705/ Why Dynamic Languages Simplicity Perspective Expressive 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 Dynamic Language Runtime Dynamic Languages on .NET IronPython IronRuby Iron? C# VB.NET Common Language Runtime 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 COM Python Ruby Binder Binder Binder Binder 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 Iron languages are first class .NET citizens IronWhat? • 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 Languages on DLR • Pictures Why Iron* Languages? Easy to extend Easy to embed .NET Interop ” Talk is cheap. Show me the code.” - Linus Torvalds http://en.wikiquote.org/wiki/Linus_Torvalds Ruby Test Framework [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); } } IronPython in Visual Studio http://ironpython.net/tools Easy to embed aka BadPaint The road ahead (picture) http://ironpython.net http://ironruby.net http://dlr.codeplex.com The end. //kristiankristensen.dk //twitter.com/kkristensen [email protected] .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    33 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us