Технология .NET


.NET — программная технология, предложенная фирмой Microsoft в качестве платформы для создания как обычных программ, так и веб-приложений. Во многом является примером идей и принципов, заложенных в технологии Java.

Одной из основных идей .NET является совместимость различных служб, написанных на разных языках. Служба, написанная на C++ для .NET может обратиться к методу класса из библиотеки, написанной на Delphi для .NET. Каждая библиотека (сборка) в .NET имеет сведения о своей версии, что позволяет устранить возможные конфликты между разными версиями сборок.
.NET — кроссплатформенная технология, однако в настоящее время существует реализация для платформы Microsoft Windows, FreeBSD (от Microsoft) и ограниченный вариант технологии для ОС Linux в рамках свободных проектов Mono, DotGNU.
К сожалению, .NET является патентованной технологией фирмы Microsoft, что является препятствием для её распространения на другие платформы (относительно проекта Mono — Microsoft однозначно высказалась о нелигитимности данного проекта).
Хотелось бы отметить, что защита авторских прав относится к созданию сред исполнения (CLR — Common Language Runtime) для программ .NET. Компиляторы для .NET выпускаются множеством фирм для различных языков свободно. Множество используемых языков является несомненным преимуществом технологии .NET по сравнению с Java.
.NET делится на две основные части — ExecutionLayer (по сути, виртуальная машина), и инструментарий разработки.
Среды разработки .NET-приложений: Visual Studio .NET (C++, C#, J#), SharpDevelop, Eclipse, Borland Developer Studio (Delphi, C#) и т. д. Приложения также можно разрабатывать в текстовом редакторе и использовать консольный компилятор.
Так же как и технология Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной. Входной язык этой машины в .NET называется MSIL (Microsoft Intermediate Language) или просто IL. Применение байт-кода позволяет получить кроссплатформенность на уровне скомпилированного проекта (в терминах .NET: сборка), а не на уровне исходного текста, как, например, в С. Перед запуском сборки в среде исполнения (CLR) байт-код преобразуется встроенным в среду JIT-компилятором (just in time, компиляция на лету) в машинные коды целевого процессора.
Следует отметить, что один из первых JIT-компиляторов для Java был также разработан фирмой Microsoft (в настоящее время в Java используется более совершенная многоуровневая компиляция — Sun HotSpot). Современная технология динамической компиляции позволяет достигнуть аналогичного уровня быстродействия с традиционными «статическими» компиляторами (например, С++) и вопрос быстродействия зачастую зависит от качества того или иного компилятора.
По информации с сайта ru.wikipedia.org