27
Embracing a new world - dynamic languages and .NET Twitter - @Ben_Hall Blog.BenHall.me.uk [email protected]

Embracing a new world - dynamic languages and .NET

Embed Size (px)

DESCRIPTION

Presentation on dynamic languages and .Net for DeveloperDay Scotland on 2nd May 2009.

Citation preview

Page 1: Embracing a new world - dynamic languages and .NET

Embracing a new world - dynamic languages and .NET

Twitter - @[email protected]

Page 3: Embracing a new world - dynamic languages and .NET

What is the DLR?

http://www.flickr.com/photos/lastrounds/3199561205/sizes/o/

Page 4: Embracing a new world - dynamic languages and .NET
Page 5: Embracing a new world - dynamic languages and .NET

IronSmallTalkGary Short

Page 6: Embracing a new world - dynamic languages and .NET

dynamic What is a

Language?

Page 7: Embracing a new world - dynamic languages and .NET

RUBY, RUBY, RUBY

Page 8: Embracing a new world - dynamic languages and .NET

Optional Syntax

puts ‘Hello World’

puts(‘Hello World’)puts(‘Hello World’);

Page 9: Embracing a new world - dynamic languages and .NET

Simple declarations

x = 1

Page 10: Embracing a new world - dynamic languages and .NET

Natural Programming

x = [1,2,3]y = [4,5,6]

x + y == [1,2,3,4,5,6]

Page 11: Embracing a new world - dynamic languages and .NET

Everything is an object

“Hello World”.upcase

[5,3,4,1,6].sort

10.times { }

Page 12: Embracing a new world - dynamic languages and .NET

Blocks

10.times do |i| puts iend

10.times { |i| puts i }

Page 13: Embracing a new world - dynamic languages and .NET

Duck Typing

def print_name(obj) puts obj.get_nameend

http://www.flickr.com/photos/normis/337183421/

Page 14: Embracing a new world - dynamic languages and .NET

Duck Typing

class A def get_name “My name is A” endend

Page 15: Embracing a new world - dynamic languages and .NET

Duck Typing

class Q def get_name “My name is Q” endend

Page 16: Embracing a new world - dynamic languages and .NET

Duck Typing

print_name A.newprint_name(Q.new)

Page 17: Embracing a new world - dynamic languages and .NET

Libraries

require ‘rake’

Page 18: Embracing a new world - dynamic languages and .NET

RubyGems

gem install rake

Successfully installed rake-0.8.41 gem installedInstalling ri documentation for rake-0.8.4...Installing RDoc documentation for rake-0.8.4...

Page 19: Embracing a new world - dynamic languages and .NET

If that’s Ruby

http://www.flickr.com/photos/bflv/3328427869/

What’s IronRuby?

Page 20: Embracing a new world - dynamic languages and .NET

http://www.flickr.com/photos/djwhelan/8395783/

Page 21: Embracing a new world - dynamic languages and .NET

http://www.flickr.com/photos/mendhak/2117622450/sizes/o/

Combing the two worlds

Page 22: Embracing a new world - dynamic languages and .NET

Data Gen Screenshot

Page 23: Embracing a new world - dynamic languages and .NET

Reflector Screenshot

Page 24: Embracing a new world - dynamic languages and .NET

Resolver Systems

Page 25: Embracing a new world - dynamic languages and .NET

change How will the DLR

your world?

Page 26: Embracing a new world - dynamic languages and .NET

Thank you!

Twitter - @Ben_HallBlog.BenHall.me.uk

[email protected]

Page 27: Embracing a new world - dynamic languages and .NET

Links

• http://www.codeplex.com/dlr• http://www.codeplex.com/Ironruby• http://www.codeplex.com/ironpython• http://blog.benhall.me.uk/2009/04/embedding-ironruby-

and-dlr-into-red.html• http://msdn.microsoft.com/en-us/magazine/dd434651.aspx• http://msdn.microsoft.com/en-us/magazine/dd453038.aspx• http://www.resolversystems.com• http://www.manning.com/foord/