An Introduction to IronRuby and the Dynamic Language

Post on 10-Apr-2015

662 views 1 download

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 features

Transcript of An Introduction to IronRuby and the Dynamic Language

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”

Jacinto A. Limjap, Jr.
Insert some sort of image - maybe animated code samples.Picture/caption style, just like a motivator poster? LOL

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

Jacinto A. Limjap, Jr.
Insert image of T900 from Terminator 2, preferably during shape shifting process, or with deadly weapon transform

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: jonlimjap@gmail.comMicrosoft 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.