Apress Access

Pro DLR in .NET 4

By Chaur Wu

  • eBook Price: $45.99
Buy eBook Buy Print Book
Pro DLR in .NET 4 brings comprehensive coverage of Microsoft's Dynamic Language Runtime, that for the first time places dynamic languages such as Python and Ruby on an equal footing with compiled languages such as C# and VB.NET.

Full Description

  • Add to Wishlist
  • ISBN13: 978-1-4302-3066-3
  • 328 Pages
  • User Level: Intermediate to Advanced
  • Publication Date: December 8, 2010
  • Available eBook Formats: EPUB, MOBI, PDF

Related Titles

  • Go Recipes
  • Python Recipes Handbook
  • Lean Python
  • Practical Microsoft Visual Studio 2015
  • Develop Microsoft HoloLens Apps Now
  • Beginning Ruby, Third Edition
Full Description

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

Table of Contents

  1. Introduction to DLR
  2. DLR Expression
  3. Late Binding and Caching
  4. Late Binding and Interoperability
  5. Dynamic Objects
  6. DLR Hosting API
  7. DLR and Aspect-Oriented Programming
  8. Metaprogramming
  9. Stitch — A DSL for Hosting Languages
  10. Application Scripting
  11. DLR in Silverlight
  12. Dynamic Languages on JVM
Source Code/Downloads

Downloads are available to accompany this book.

Your operating system can likely extract zipped downloads automatically, but you may require software such as WinZip for PC, or StuffIt on a Mac.


If you think that you've found an error in this book, please let us know by emailing to editorial@apress.com . You will find any confirmed erratum below, so you can check if your concern has already been addressed.
No errata are currently published


    1. Pro Python


      View Book

    2. Python Data Analytics


      View Book

    3. Beginning Python


      View Book

    4. Beginning Python Visualization


      View Book