Описание языка PascalABC.NET | страница 9



Важнейшими средствами, предоставляемыми платформой .NET, являются единый способ обработки ошибок - генерация и перехват исключений, - а также автоматическое управление освобождением динамической памяти, называемое сборкой мусора. Последнее, в частности, означает, что отсутствует необходимость в деструкторах классов.

Имеются программы, которые могут восстанавливать текст программы по IL-коду (например, программа ILSpy).

Помимо JIT-компилятора, важной частью платформы .NET является набор стандартных библиотек (FCL - Foundation Class Library - общая библиотека классов). Среди них - библиотеки работы с графикой, сетью, базами данных, XML, контейнерами, потоками, содержащие тысячи классов. Каждый .NET-язык может пользоваться всеми возможностями этих библиотек.

Имеется открытая кроссплатформенная реализация среды Microsoft.NET - среда Mono, позволяющая в частности разрабатывать и запускать .NET-программы под Linux.

Кратко отметим достоинства и недостатки платформы .NET.

Достоинства платформы .NET

* Платформа .NET поддерживает множество .NET-языков. В их числе C#, Visual Basic.NET, F#, управляемый C++, Delphi Prism, Oberon, Zonnon, Iron Python, Iron Ruby, PascalABC.NET.

* Любой .NET-язык содержит самые современные языковые возможности: классы, свойства, полиморфизм, исключения, перегрузка операций, легкое создание библиотек.

* .NET-языки легко сочетаются друг с другом, похожи друг на друга по синтаксическим конструкциям и системе типов.

* Имеется обширная библиотека стандартных классов FCL.

* .NET-приложения компактны.

* Платформа .NET активно развивается фирмой Microsoft, добавляются как новые языковые возможности, так и новые библиотеки.

* Компилятор .NET-языка создать значительно проще, чем компилятор обычного языка.

Недостатки платформы .NET

* Запуск .NET-приложения выполняется в несколько раз медленнее запуска обычного приложения, поскольку требует загрузки в оперативную память компонентов виртуальной машины и внешних библиотек.

* .NET-код в некоторых ситуациях работает медленнее обычного (однако, в большинстве задач это отставание незначительно, а в некоторых - приложения .NET могут опережать обычные программы).

* Сборщик мусора начинает работу в момент исчерпания динамической памяти, его работа занимает несколько миллисекунд. Для приложений реального времени это непозволительно.

* Запуск .NET-приложения обязательно требует установки на компьютере платформы .NET. Без нее приложение работать не будет (Отметим, что в Windows Vista и в Windows 7 платформа .NET встроена).