.Net –одна из возможных реализаций так называемой общей инфраструктуры языков (Common Language Infrastructure, сокращенно CLI), спецификация которой разработана корпорацией Microsoft.
Можно, руководствуясь этой спецификацией, разработать собственную реализацию CLI. В настоящее время ведутся по крайней мере два посвященных этому проекта. Это платформа Mono, создаваемая компанией Ximian, и разрабатываемый в рамках GNU проект Portable.Net. Кроме того, Microsoft распространяет в исходных текстах еще одну свою реализацию CLI, работающую как в Windows, так и под управлением FreeBSD. Эта реализация называется Shared Source CLI (иногда можно услышать другое название – Rotor).
Чтобы понять, как работает .Net, необходимо изучить спецификацию CLI. Это ее составные части:
· Общая система типов (Common Type System, сокращенно CTS). Охватывает большую часть типов, встречающихся в распространенных языках программирования.
· Виртуальная система исполнения (Virtual Execution System, сокращенно VES). Отвечает за загрузку и выполнение программ, написанных для CLI.
· Общеязыковая среда выполнения(Common Language RunTime, сокращенноCLR). Осуществляет исполнение кода на промежуточном языке IL, общем для разных языков высокого уровня.
· Система метаданных (Metadata System). Предназначена для описания типов, хранится в независимом от конкретного языка программирования виде, используется для передачи информации о типах между различными метаинструментами, а также между этими инструментами и VES.
· Общий промежуточный язык (Common Intermediate Language, сокращенно CIL) – независимый от платформы объектно-ориентированный байт-код, выступающий в роли целевого языка для любого поддерживающего CLI компилятора. Программа создается на одном из поддерживаемых в .NET языков программирования, компилируется в код CIL, из которого затем CLR собирает исполняемый файл. Для каждого языка используется свой компилятор.
· Общая спецификация языков (Common Language Specification, сокращенно CLS). Это соглашение между разработчиками языков программирования и разработчиками библиотек классов, в котором определено подмножество CTS и набор правил. Если разработчики языка реализуют хотя бы определенное в этом соглашении подмножество CTS и при этом действуют в соответствии с указанными правилами, то пользователь языка получает возможность использовать любую соответствующую спецификации CLS библиотеку.
Средства разработки для .NET Framework
В настоящее время для создания программного обеспечения (ПО) для платформы .NET Framework используются ИСР - интегрированные среды разработки (IDE – Integrated Development Environment), в которых поддерживается технология быстрой разработки RAD (Rapid Application Development). Для работы в операционных системах Microsoft для платформы .NET Framework доступны две ИСР:
· Платная - Visual Studio 2010 .Net. Включает полный набор языков программирования. Устанавливается общая ИСР, в которой выбирается желаемый язык.
· Бесплатная - Visual Studio 2010 .Net Express. Включает ограниченный набор языков программирования. Для каждого языка ИСР устанавливается автономно.
Visual Studio 2010 .Net 4.0 имеет версии:
· Professional. Включает базовые функции разработки, интегрированную среду разработки (IDE), поддержку платформы и параллельную отладку.
· Premium. Добавлены анализ кода, развертывание баз данных, тестирование пользовательского интерфейса и анализ влияния тестов. Добавление подписки MSDN обеспечит серверную платформу для Dynamics, SharePoint и Exchange, а также Office, Expression и некоторые из функций Team Foundation Server.
· Ultimate. Добавлены UML-инструменты, возможность отладки по истории (historical debugging), инструменты ручного тестирования.
Visual Studio 2010 .Net 4.0 включает базовые средства:
· Visual Basic .Net – язык Visual Basic. Совершенно новая версия, по функционалу совпадающая с C#.
· Visual C# .Net – язык C#.
· Visul C++ .Net – язык C++.
· Visual F# .Net – язык F#, язык функционального программирования.
· Visual JScript# .Net – язык JScript#.
· Visual Web Developer – разработка Web приложений.
Visual Studio 2010 .Net Express включает:
· Visual Basic .Net – язык Visual Basic.
· Visul C++ .Net – язык C++.
· Visual C# .Net – язык C#.
· Visual Web Developer – разработка Web приложений.
В настоящее время наиболее популярен язык Visual C#.
Тема 1.2 Основные типы алгоритмов. Трансляция программ