Управляемый код
Управля́емый код (англ. managed code) — термин, введённый фирмой Microsoft, для обозначения кода программы, исполняемой под «управлением» виртуальной машины .NET[1][2][3] — Common Language Runtime или Mono. При этом машинный код называется неуправля́емым кодом (англ. unmanaged code).
Слово «управляемый» (англ. managed) здесь относится к методу обмена информацией между программой и исполняющей средой. Оно означает, что в любой точке исполнения управляющая среда может приостановить исполнение и получить информацию, специфичную для текущего состояния. Необходимая для этого информация представлена в управляемом коде на языке Intermediate Language и в связанных с этим кодом метаданных.
С формальной точки зрения управляемым кодом является любой программный код, исполняемый в среде отладчика.
Языки программирования
Управляемый код может быть написан на одном из языков программирования, которые поддерживаются .NET или MONO.
Основные языки, поддерживаемые .NET[4][5]: C#, C++/CLI, Microsoft Visual Basic, JavaScript, а также F# и многие другие.
Проект Mono поддерживает[6] C#, F#, Java, Scala, Boo, Nemerle, Visual Basic.NET, Python, JavaScript, Оберон, PHP, Object Pascal, Lua, Cobra, Synergy-DBL, а также #Smalltalk, DotLisp и другие.
Использование
Среда разработки Microsoft C++ позволяет создавать и управляемый код, и скомпилированный, который запускается на платформах Windows с помощью библиотек среды выполнения C++.
Преимущества использования управляемого кода — удобство программиста (более высокий уровень абстракции), гарантии безопасности, платформная независимость. К недостаткам можно отнести долгое время загрузки и увеличение использования системных ресурсов.
См. также
Примечания
- Брэд Абрамс из Microsoft дает определение управляемому коду (англ.) (9 января 2004). Дата обращения: 8 июля 2010. Архивировано 27 августа 2011 года.
- Перевод статьи Брэда Абрамса на форуме RSDN (9 февраля 2009). Дата обращения: 8 июля 2010. Архивировано 27 августа 2011 года.
- msdn What Is Managed Code?
- Languages, tools and frameworks
- Programming Languages Visual Studio .NET
- mono-project Mono-compatible compilers
Литература
- Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. C# 2005 и платформа .NET 3.0 для профессионалов = Professional C# 2005 with .NET 3.0. — М.: «Диалектика», 2007. — ISBN 978-5-8459-1317-3.