Asides

Diwali '09

Technorati Tags:

In my previous posts we saw important aspects regarding

  1. Interops-Why and Ways to do it
  2. Interops-Win32<->.NET
  3. Interops-COM<->.NET

Moving further into world of interops lets now check some of  interesting aspects of Interlanguage interoperability on .NET framework.

The problems of interoperability have been around for many years and I found this useful info on MSDN which describes number of standards and architectures developed to address this issues

  1. Representation Standards
  2. Architecture Standards
  3. Language Standards
  4. Execution Environments

Representation Standards

External Data Representation(XDR) and Network Data Representation (NDR ), address the issue of passing data types between different machines. ( e.g. big-endian issues, little-endian issues,  and different word sizes)

Architecture Standards

Remote Procedure Call by Distributed Computing Environment

Common Object Request Broker Architecture

Component Object Model

All these standards handle issues of calling methods across language, process and machine boundaries.

Language Standards

ECMA C# and Common Language Infrastructure Standards

ANSI C standards which allow distribution of source code across compilers and machines.

Execution Environments

Common Language Runtime

Dynamic Language Runtime

Referring to CLR info on MSDN we can easily figure out it consists of 3 main components

  1. Common Type System which supports many of the operations found in modern programming languages.
  2. A metadata system, which allows metadata to be persisted with types at compile time and the used by execution system at run time.
  3. A execution system which allows which allows .NET programs execution providing features such as memory management.

Dynamic Language Runtime provides following services

  1. A dynamic type system
  2. Dynamic method dispatch
  3. Dynamic code generation
  4. Hosting API

DLR is used to implement dynamic languages like Python and Ruby on the .NET framework.

There are still interesting aspects to be covered in interoperability and I will be covering it in next two posts. Keep visiting 🙂

Interops – Inter Language Approach

Advertisements