Jacinto A. Limjap, Jr.
Microsoft MVP for Visual C# Senior Software Design Engineer, Cormant Technologies
Dynamic
Typed Languages Why they matter The Dynamic Language Runtime A brief history of Ruby, RoR, and IronRuby What’s so cool about Ruby? Quirks Next steps
Type checking is done at runtime Fewer or no type checking Most of them Examples:
are interpreted
Expressive syntax Object-oriented Duck typing Object runtime
alteration Metaprogramming
Allows
dynamic languages to run on top of CLR Compilation process
Allows
for dynamic languages to run on top of the .NET Framework
Conceived and written by Yukihiro Matsumoto in the mid 1990s A “balance between imperative and functional programming” Gained huge popularity after David Heinemeir Hansson came out
Open source project headed by John Lam since 2007 Matched with Ruby 1.8.6 specification Released under Microsoft Public License IronRuby 0.5.0 was released last May 20, 2009
Object
oriented
Everything,
including literals, methods, and classes, are objects! “True” object orientation as opposed to “class-oriented programming”
Expressiveness Allows for high
readability, and potentially higher maintainability Allows for more succint code Less code = less mistakes
Duck
Typing
If it quacks like a
duck, it’s a duck! If an object contains the methods called by another method, it’s good to go Look ma, no interfaces!
Object
runtime alteration Objects can be
changed to a different type during runtime Objects can be extended at runtime
No
Visual Studio / intellisense support... yet No LINQ tools... yet No WPF databinding... yet Not sure if it make it to .NET 4.0/Visual Studio 2010
More languages, more options DLR gives apps instant scripting abilities C# is moving in that direction too!
LINQ Lambda expressions Parallel extensions
(C# 4.0) ‘dynamic’ (C# 4.0) and ‘var’ keywords
C# 4.0 C# 3.0 C# 2.0 C# 1.0
Dynamic Programming
Language Integrated Query
Generics
Managed Code
Polyglot
programmer trend
Use the best language for the job
Scripting
capabilities for the .NET Framework IronRuby to have better support for Visual Studio as it progresses More demo apps are becoming available as we speak Next MSDN Session!: IronRuby on ASP.NET MVC
www.ironruby.net http://ironruby.codeplex.com Why’s (poignant) guide to Ruby:
http://poignantguide.net/ruby IronRuby and Silverlight demos:
http://github.com/jschementi/mix09/tree/mast Getting Ready with Iron Ruby and RSpec, Part 1: http://msdn.microsoft.com/en-us/magazine/dv
Learning
Ruby via IronRuby and C#
series: http://codethinked.com/post/2008/07/21 IronRuby presentation slides and demo code http://devpinoy.org/blogs/cruizer/archive
Blog: http://dotnet.kapenilattex.com Twitter: http://twitter.com/LaTtEX Email:
[email protected] Microsoft Forums:
http://msforums.ph/forums MSDN Philippines: http://msdnphilippines.net/blogs/limjap
© 2009 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.