Managed code

Managed code

Managed code is a term coined by Microsoft to identify computer program code that requires and will only execute under the "management" of a Common Language Runtime virtual machine (resulting in Bytecode).

This disambiguation is prevalent and only relevant when developing applications that interact with the .NET Framework or other Common Language Runtime implementations, like Mono. Since some of the classic programming languages have been ported into the Common Language Runtime, the differentiation is needed to identify "managed" code, especially in a mixed setup. In this same context programmers also refer to code that doesn't depend on the Common Language Runtime as unmanaged.

Microsoft's Visual C++ development environment can produce both managed code (running under the .NET Common Language Runtime) or compiled binaries, running directly on the Windows platform with the help of its C++ Runtime Library.[1]

Benefits of using managed code include programmer convenience (by increasing the level of abstraction, creating smaller models) and enhanced security guarantees, depending on the platform (including the VM implementation). There are many historical examples of code running on virtual machines, such as UCSD Pascal utilizing p-code and the Inferno operating system from Bell Labs utilizing the Dis virtual machine. Java popularized this approach with its bytecode executed by the Java Virtual Machine.

Another source of confusion was created when Microsoft started connecting the .NET Framework with C++, and the selection on how to name the Managed Extensions for C++, it was first named Managed C++ and then renamed to C++/CLI. Bjarne Stroustrup, creator of the C++ programming language and member of the C++ standards committee even commented on this issue, "On the difficult and controversial question of what the CLI binding/extensions to C++ is to be called, I prefer C++/CLI as a shorthand for "The CLI extensions to ISO C++". Keeping C++ as part of the name reminds people what is the base language and will help keep C++ a proper subset of C++ with the C++/CLI extensions."[2]

References

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Managed Code — NET Framework Basisdaten Entwickler: Microsoft Aktuelle Version …   Deutsch Wikipedia

  • Managed code — Dans la terminologie de Microsoft, le managed code est un code source qui s exécute sous le contrôle de la machine virtuelle CLR, ou d une autre machine virtuelle. Ce terme est employé par opposition au unmanaged code (code non géré), qui est… …   Wikipédia en Français

  • Managed Extensions for C++ — or just Managed C++ is a now deprecated Microsoft set of deviations from C++, including grammatical and syntactic extensions, keywords and attributes, to bring the C++ syntax and language to the .NET Framework. These extensions allowed C++ code… …   Wikipedia

  • Code managé — Managed code En informatique, le managed code (en français, code géré, ou code managé) permet d améliorer la sûreté de fonctionnement d un programme (et de simplifier le travail du programmeur). Ce terme fait partie de la terminologie Microsoft,… …   Wikipédia en Français

  • Managed C++ — Класс языка: мультипарадигменный: объектно ориентированное, обобщённое, процедурное программирование Тип исполнения: компилируемый Появился в: 2002 Релиз: 1.1.4322.573 (1 апре …   Википедия

  • Code signing — is the process of digitally signing executables and scripts to confirm the software author and guarantee that the code has not been altered or corrupted since it was signed by use of a cryptographic hash. Code signing can provide several valuable …   Wikipedia

  • Managed Extensibility Framework — Developer(s) Microsoft Stable release V1 in .NET Framework 4.0 / April 12, 2010; 18 months ago (2010 04 12) …   Wikipedia

  • Code Access Security — (CAS), in the Microsoft .NET framework, is Microsoft s solution to prevent untrusted code from performing privileged actions. When the CLR loads an assembly it will obtain evidence for the assembly and use this to identify the code group that the …   Wikipedia

  • Code injection — is the exploitation of a computer bug that is caused by processing invalid data. Code injection can be used by an attacker to introduce (or inject ) code into a computer program to change the course of execution. The results of a code injection… …   Wikipedia

  • Code of Personal Status (Tunisia) — The Code of Personal Status (CPS) (Arabic: مجلة الأحوال الشخصية‎) is a series of progressive Tunisian laws aiming at the institution of equality between women and men in a number of areas. It was promulgated by beylical decree on August 13, 1956… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”