Что такое платформа .NET
Платформа .NET состоит из двух основных компонентов: исполняющей среды Common Language Runtime (CLR) и библиотеки классов (.NET Framework).
Первый основной компонент — исполняющая среда. Она интерпретирует и исполняет байт-код (CIL), в который компилируются приложения написанные на различных .NET-совместимых языках программирования. Помимо этого, исполняющая среда выполняет множество других задач, например управление распределением памяти, безопасностью исполняемого кода и пр.
Наиболее распространенным .NET-совместимым языком программирования стал объектно-ориентированный язык си- шарп (C#), который имеет С-подобный синтаксис, близкий к синтаксису языков си-плюс-плюс (C++) и джава (Java).
Второй основной компонент платформы .NET — библиотека классов .NET Framework. И здесь тоже все очень просто.
Базовая библиотека классов Base Class Library (BCL) определяет примитивные типы для всех .NET-совместимых языков программирования (об этом напишу более подробно) и предоставляет классы для работы с числами, строками, массивами, коллекциями, файлами, памятью, процессами.
Основная библиотека классов Framework Class Library (FCL) разработана целиком и полностью на основе базовой библиотеки классов и предоставляет классы для работы с конфигурацией, базами данных (ADO.NET), безопасностью и вебом (ASP.NET).
Базовая и основная библиотеки классов это и есть .NET Framework.
В терминологии .NET библиотеки в скомпилированном виде называются сборками и хранятся в файлах с расширением .dll (при этом в секции кода такой библиотеки находится не двоичный исполняемый код, а байт-код (CIL)).
Исполняющая среда может загружаться и настраиваться обычными «нативными» приложениями. Например, веб-сервер Internet Information Services (IIS) загружает среду посредством ISAPI-модуля и использует ее для запуска веб-приложений (ASP.NET).
Надо отметить, что подобная концепция исполняющей среды (виртуальной машины, «песочницы») используется более, чем всегда и везде. Например, виртуальные машины Java Virtual Machine (Java) или Zend Engine (PHP).
В следующем посте чуть более подробно расскажу о базовой библиотеке классов (BCL).
ссылка на оригинал статьи http://habrahabr.ru/post/184012/
Добавить комментарий