Vous êtes sur la page 1sur 13

> FT30

Using Dynamic Languages to Build Scriptable Apps


Dino to edit Master subtitle style Click Viehland Senior Software Development Engineer Microsoft

Why dynamic languages?


> Simple enough for non-programmers > Capable enough for programmers
>

Python, like many good technologies, soon spreads virally throughout your development team and finds its way into all sorts of applications and toolsPython scripts are used in many areas of the game.
>

Mustafa Thamer, Civilization IV development team

> Let users improve your application > Create an Application Ecosystem
> Users can share scripts, adding value to

your apps

> Virtuous cycle

> Enable Quick Fixes in the field

Dynamic Languages

Consumers

Keeping it Simple
def fact(n): if n == 0: return 1 return n * fact(n-1) def fact(n) return 1 if n == 0 n * fact(n-1) end puts fact(13)

print fact(13) using System; public class MathClass { public static int Factorial(int n) { if (n == 0) { return 1; } return n * Factorial(n 1); } public static void Main(string[] args) { Console.WriteLine(Factorial(13)); } }

Dynamic Language Runtime


> Infrastructure for creating dynamic

languages

> More languages available

> Shared interop protocol


> Dynamic languages can talk to each

other

> Static languages can talk to dynamic

languages

> Lightweight hosting API


> One API, multiple languages

DLR Hosting
ScriptRuntim e

ScriptScope

ScriptEngine

ScriptSource

Demo - Hosting
> Getting Started > Getting Languages > Scopes
> Injecting our object model > Getting delegates back > Working with classes

> Using C# Dynamic > Getting More Dynamic

Downloads
> IronPython
> http://ironpython.codeplex.com

> IronRuby
> http://ironruby.net

> DLR
> http://dlr.codeplex.com

> Source updated daily

Summary
> Scripting Languages can extend

your application > DLR provides common APIs for multiple languages > DLR enables C# and VB.NET to seamlessly access

YOUR FEEDBACK IS IMPORTANT TO Please fill out US! session evaluation


forms online at MicrosoftPDC.com

Learn More On Channel 9


> Expand your PDC experience through

Channel 9

> Explore videos, hands-on labs,

sample code and demos through the new Channel 9 training courses

channel9.msdn.com/learn Built by Developers for


Developers.

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.

Vous aimerez peut-être aussi