an introduction to ironruby and the dynamic language
DESCRIPTION
Presentation given during the MSDN Session of the same title, last May 27, 2009, at the Microsoft Philippines Offices.These slides discuss about the merits of learning a dynamic language, a brief history of Ruby, and its main language featuresTRANSCRIPT
Jacinto A. Limjap, Jr. Microsoft MVP for Visual C#
Senior Software Design Engineer, Cormant Technologies
Dynamic Typed LanguagesWhy they matterThe Dynamic Language RuntimeA brief history of Ruby, RoR, and
IronRubyWhat’s so cool about Ruby?QuirksNext steps
Type checking is done at runtimeFewer or no type checkingMost of them are interpretedExamples:
Expressive syntaxObject-orientedDuck typingObject runtime
alterationMetaprogramming
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 with Ruby on Rails
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# 1.0
C# 2.0
C# 3.0
Managed Code
Generics
Language Integrated Query
C# 4.0Dynamic Programming
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.nethttp://ironruby.codeplex.comWhy’s (poignant) guide to Ruby:
http://poignantguide.net/ruby IronRuby and Silverlight demos:
http://github.com/jschementi/mix09/tree/master
Getting Ready with Iron Ruby and RSpec, Part 1: http://msdn.microsoft.com/en-us/magazine/dvdarchive/dd434651.aspx
Learning Ruby via IronRuby and C# series: http://codethinked.com/post/2008/07/21/Learning-Ruby-via-IronRuby-and-C-Part-1.aspx
IronRuby presentation slides and demo code http://devpinoy.org/blogs/cruizer/archive/2009/05/24/ironruby-presentation-slides-and-demo-code.aspx
Blog: http://dotnet.kapenilattex.comTwitter: http://twitter.com/LaTtEXEmail: [email protected] Forums:
http://msforums.ph/forumsMSDN 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.