* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
.NET Framework и языки программирования
7 февраля 2009
Конструкция .NET Framework обеспечивает межъязыковую совместимость. Проще говоря, компоненты, реализованные с применением .NET Framework, способны взаимодействовать друг с другом независимо от языка, на котором они написаны. Так, приложение на Visual Basic .NET может обращаться к DLL, написанной на С#, а та, в свою очередь, способна вызвать ресурсы, созданные на управляемом C++ или любом другом .NET-совместимом языке. Межъязыковая совместимость под- держивается и для наследования в ООП (объектно-ориентированном программи- ровании), например, на основе С#-класса можно объявлять классы в программах на Visual Basic .NET и наоборот.
Столь высокий уровень межъязыковой совместимости стал возможным благо- даря использованию общеязыковой исполняющей среды. Во время компиляции .NET-приложения, написанного на языке высокого уровня (таком, как Visual Basic .NET, C# или другом .NET-совместимом языке) генерируются команды языка Microsoft Intermediate Language (MSIL или просто IL). IL — это специальный низко- уровневый язык, который «понимает» CLR. Все DLL и исполняемые файлы .NET содержат команды этого языка, что позволяет им легко взаимодействовать. Стан- дарт под названием общеязыковая спецификация (Common Language Specification) определяет минимальный набор правил, которым должны следовать компиляторы для .NET-языков, чтобы откомпилированный ими код мог взаимодействовать с .NET Framework. Использование CTS обеспечивает совместимость типов между .NET-компонен- тами. Поскольку перед развертыванием и исполнением .NET-приложений выпол- няется их компиляция в IL-код, все элементарные типы данных будут представле- ны типами, поддерживаемыми .NET. Так, типы Integer (Visual Basic) и int (Visual C#) в IL-коде представлены типом System.Int32. Применение в обоих языках общей системы типов, которые можно преобразовать друг в друга, позволяет компонен- там обмениваться данными, избегая потерь времени на преобразование типов и «отлов» неизбежных при этом ошибок. С Visual Studio .NET поставляются языки Visual Basic .NET, Visual C#, Visual C++ с управляемыми расширениями, а также язык сценариев JScript. Есть и другие языки, на которых можно писать управляемый код для .NET Framework. Напри- мер, сторонними производителями созданы компиляторы для языков Fortran .NET, Cobol .NET, Perl .Net — и это далеко не полный список. Все они поддерживают межъязыковую совместимость, в том числе при наследовании. Таким образом, про- граммы для .NET Framework можно писать на любом из них — созданный код бу- дет способен к взаимодействию с кодом для этой платформы, написанным на дру- гих языках.