In my previous posts we saw important aspects regarding
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
- Representation Standards
- Architecture Standards
- Language Standards
- Execution Environments
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)
All these standards handle issues of calling methods across language, process and machine boundaries.
ANSI C standards which allow distribution of source code across compilers and machines.
Referring to CLR info on MSDN we can easily figure out it consists of 3 main components
- Common Type System which supports many of the operations found in modern programming languages.
- A metadata system, which allows metadata to be persisted with types at compile time and the used by execution system at run time.
- A execution system which allows which allows .NET programs execution providing features such as memory management.
Dynamic Language Runtime provides following services
- A dynamic type system
- Dynamic method dispatch
- Dynamic code generation
- 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 🙂