1 / 10

Dynamic languages for dynamic applications

Dynamic languages for dynamic applications. Miha Valen čič. Poznavanje tematike. DLR Funkcijski jeziki Python IronPython, IronRuby. Kaj je DLR?. Dynamic Language Runtime Microsoft.Scripting.dll Vsebovan v IronPython, IronRuby, Silverlight, Managed JScript Oz. Glavne značilnosti DLR.

rhett
Télécharger la présentation

Dynamic languages for dynamic applications

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Dynamic languages for dynamic applications Miha Valenčič

  2. Poznavanje tematike • DLR • Funkcijski jeziki • Python • IronPython, IronRuby

  3. Kaj je DLR? • Dynamic Language Runtime • Microsoft.Scripting.dll • Vsebovan v IronPython, IronRuby, Silverlight, Managed JScript • Oz....

  4. Glavne značilnosti DLR • “Enostavna” gradnja dinamičnih jezikov • Interoperabilnost med dinamičnim jezikom in CLR • Interoperabilnost med različnimi dinamičnimi jeziki, ki so zgrajeni na DLRju (DLRConsoleDemo) • “The DLR adds functionality such as a shared dynamic type system, a standard hosting model, and support to make it easy to generate fast dynamic code and fast symbol tables.”

  5. 3 nivoji uporabe DLRja • ScriptRuntime.Create().Execute(file | text) • Engine, compiled code, sources, obj operations • Full control, including language tools, remoting...

  6. Primeri uporabe DLR • Dinamična .NET koda • Bogato "skriptno" okolje • Kreiranje DSL • LOLcode - http://www.iunknown.com/2007/11/lolcode-on-dlr.html • Dinamično širjenje funkcionalnosti aplikacije • Primer: Resolver (http://www.resolversystems.com/)

  7. IronPython / IronRuby • Open source projekta (codeplex, rubyforge) • “Še ena” implementacija jezika • Podpora native funkcijam, razredom • Podpora za C extensione, ki so platformsko neodvisni (IronClad za IPY) • Integracija z .NET svetom, in to v obe smeri • Dokumentacija (je ni, ker je prejšnja zastarela  ) • Primer

  8. DLR in klasične .NET aplikacije • Hosting specifikacija • (http://compilerlab.members.winisp.net/dlr-spec-hosting.pdf) • Primer aplikacije

  9. Vprašanja?

  10. Reference • DLR Resources • http://compilerlab.members.winisp.net/ (hosting specification) • http://blogs.msdn.com/mmaly/ • http://blogs.msdn.com/ironpython/archive/2008/03/16/dlr-resources.aspx • http://www.dotnetguru.org/us/dlrus/DLR2.htm • http://www.iunknown.com/2007/11/lolcode-on-dlr.html • http://blogs.msdn.com/hugunin/ • http://jimmy.schementi.com/silverlight/dlrconsole/ • IPY resources • http://msdn.microsoft.com/en-us/magazine/cc300810.aspx • http://blog.jimmy.schementi.com/2008/05/story-of-ruby-and-python-in-silverlight.html • http://www.resolversystems.com • http://www.jjude.com/index.php/archives/2008/09/07/ironpython-learnings/

More Related