an introduction to ironruby and the dynamic language

22
Jacinto A. Limjap, Jr. Microsoft MVP for Visual C# Senior Software Design Engineer, Cormant Technologies

Upload: lattex

Post on 10-Apr-2015

662 views

Category:

Documents


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

Page 1: An Introduction to IronRuby and the Dynamic Language

Jacinto A. Limjap, Jr. Microsoft MVP for Visual C#

Senior Software Design Engineer, Cormant Technologies

Page 2: An Introduction to IronRuby and the Dynamic Language

Dynamic Typed LanguagesWhy they matterThe Dynamic Language RuntimeA brief history of Ruby, RoR, and

IronRubyWhat’s so cool about Ruby?QuirksNext steps

Page 3: An Introduction to IronRuby and the Dynamic Language

Type checking is done at runtimeFewer or no type checkingMost of them are interpretedExamples:

Page 4: An Introduction to IronRuby and the Dynamic Language

Expressive syntaxObject-orientedDuck typingObject runtime

alterationMetaprogramming

Page 5: An Introduction to IronRuby and the Dynamic Language

Allows dynamic languages to run on top of CLR

Compilation process

Page 6: An Introduction to IronRuby and the Dynamic Language

Allows for dynamic languages to run on top of the .NET Framework

Page 7: An Introduction to IronRuby and the Dynamic Language

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

Page 8: An Introduction to IronRuby and the Dynamic Language

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

Page 9: An Introduction to IronRuby and the Dynamic Language
Page 10: An Introduction to IronRuby and the Dynamic Language

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
Page 11: An Introduction to IronRuby and the Dynamic Language

Expressiveness Allows for high

readability, and potentially higher maintainability

Allows for more succint code

Less code = less mistakes

Page 12: An Introduction to IronRuby and the Dynamic Language

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!

Page 13: An Introduction to IronRuby and the Dynamic Language

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
Page 14: An Introduction to IronRuby and the Dynamic Language
Page 15: An Introduction to IronRuby and the Dynamic Language

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

Page 16: An Introduction to IronRuby and the Dynamic Language

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

Page 17: An Introduction to IronRuby and the Dynamic Language

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

Page 18: An Introduction to IronRuby and the Dynamic Language
Page 19: An Introduction to IronRuby and the Dynamic Language

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

Page 20: An Introduction to IronRuby and the Dynamic Language

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

Page 21: An Introduction to IronRuby and the Dynamic Language

Blog: http://dotnet.kapenilattex.comTwitter: http://twitter.com/LaTtEXEmail: [email protected] Forums:

http://msforums.ph/forumsMSDN Philippines:

http://msdnphilippines.net/blogs/limjap

Page 22: An Introduction to IronRuby and the Dynamic Language

© 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.