The Evolution of the Programming Model

The nature of CLR contracts naturally lends itself to a programming model that is independent of task or programming language. The programming model implied by the CLR is a refinement of the COM programming model and is very type-centric because every entity your program can deal with is affiliated with a type. This applies to objects, values, strings, primitives, and arrays. The type-centricity of the programming model is a necessity because one of the key services provided by the CLR is that code can be verifiably type-safe. This prevents malicious code from hijacking an object reference and invoking methods that are not part of the object's contract.

Although developers can recompile existing C++ programs ...

Get Essential .NET, Volume 1: The Common Language Runtime now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.