Microsoft’s Dynamic Language Runtime (DLR) is a platform for running dynamic languages such as Ruby and Python on an equal footing with compiled languages such as C#. Furthermore, the runtime is the foundation for many useful software design and architecture techniques you can apply as you develop your .NET applications.
Pro DLR in .NET 4 introduces you to the DLR, showing how you can use it to write software that combines dynamic and static languages, letting you choose the right tool for the job. You will learn the core DLR components such as LINQ expressions, call sites, binders, and dynamic objects—and how they work together to achieve language interoperability. You’ll see how to mix and match objects and functions from compiled and dynamic languages, so you can write code in the language of your choice while taking advantage of libraries written in other languages. And you’ll discover how the various languages interoperate behind the scenes.
With the basics out of the way, the book then details the various ways you can leverage the DLR in the design and architecture of your software applications. You’ll learn about runtime code generation, which lets you avoid much of the boilerplate code typical in layered business applications. You’ll see practical examples of using the DLR to build domain-specific languages, and you’ll learn how the DLR helps enable aspect-oriented programming.
What you’ll learn
- Mix and match dynamic and compiled code in your applications.
- Run Python, Ruby, PHP, and other dynamic code with full access to .NET functionality.
- Create domain-specific languages for use in your own applications.
- Host dynamic languages and provide scripting capability in your applications.
- Learn and apply the concepts of meta-programming and meta-object protocol.
- Streamline and automate unit-testing through scripts written in dynamic languages.
Who this book is for
Pro DLR in .NET 4 is for any .NET programmer wanting to benefit from the new ability of dynamic languages such as Python and Ruby to function as first-class citizens in a .NET environment. It’s a book for those wishing to mix and match dynamic and static languages in ways that improve programmer and user productivity. It’s also a book for those implementing domain-specific languages, who wish to add scripting capabilities to their applications.
Table of Contents
- Introduction to DLR
- DLR Expression
- Late Binding and Caching
- Late Binding and Interoperability
- Dynamic Objects
- DLR Hosting API
- DLR and Aspect-Oriented Programming
- Stitch — A DSL for Hosting Languages
- Application Scripting
- DLR in Silverlight
- Dynamic Languages on JVM