.NET Framework и среда Common Language Runtime


.NET Framework представляет собой основу концепции .NET. При помощи этой структуры, содержащей библиотеку классов, становится возможным управлять приложениями, защищать их. Узнать подробнее о .NET Framework можно в спецификации универсального языка (CLS – аббревиатура Common Language Specification) – именно в ней имеется в частности информация о сохранении объектов. Создатели программ имеют возможность делать .NET Framework для разных программ, но наибольшее распространение все же получила версия под Windows; ей занимается Microsoft.

Одна из основных частей .NET Framework – это CLR (аббревиатура от Common Language Runtime – общеязыковая среда исполнения) – именно эта часть и занимается запуском программ, которые пишутся на языке C#. Машинный код для конкретной платформы получается в результате компиляции программы в два этапа. На первом этапе приложение преобразовывается в промежуточный язык от Microsoft (MSIL), в котором определяются команды для CLR. А уже на втором этапе MSIL преобразуется в машинные команды и получается целое приложение.

Здесь может возникнуть вопрос: а зачем производится компиляция в два этапа? Почему не сделать сразу же в машинные коды? Есть несколько причин для этого, основные таковы:

  • Поддержка переносимости кода для разных операционных систем
  • Особенности управления памятью в ОС и её защита
  • Взаимная функциональность языков
Если на некоторой системе имеется установленная .NET Framework, то тогда в этой системе можно исполнять любые приложения .NET. Возможность того, что программное обеспечение может запускаться без изменения на разных платформах, называют независимостью от платформы. Это позволяет экономить на «подгонке» программ под системы.

Возможность взаимодействия языков, которая обеспечивается .NET Framework позволяет разработчикам на разных языках (C# и Visual Basic .NET, к примеру) работать совместно над одним проектом – не изучая другие языки: код может быть объединен в цельную программу с помощью MSIL. Помимо этого, .NET Framework дает возможность объединять уже имеющиеся компоненты (написанные ранее, до появления .NET) с созданными позднее. Такая интеграция особенно важна для крупных компаний, в которых изменения проходят трудно.

В .NET Framework имеются функции, позволяющие управлять CLR, а уже сама CLR управляет памятью и защитой. Сравните: программисты C++ самостоятельно заботятся о памяти и вынуждены уделять этому свое время – тогда как могут прорабатывать в это время логику приложения.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, .NET




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Наш в другом мире, или юмористическое фэнтези
Перебор всех дней в году на PHP
Коллекции Java: интерфейс List