Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
закутнева_диплом_черновик.docx
Скачиваний:
7
Добавлен:
01.05.2025
Размер:
524.52 Кб
Скачать

3.2 Роль языка c#

Язык программирования C# является языком программирования, по синтаксису очень похожим на Java, но не идентичным ему. С# основан на синтаксических конструкциях С++, поэтому C# можно назвать «рафинированной» версией С++, ведь они являются языками одного семейства.

В C# поддерживаются формальные свойства типов и возможность объявления методов с переменным числом аргументов (через массивы параметров). Подобно С++, в C# позволяется перегрузка операций, а также создание структур, перечней и функций обратного вызова (посредством делегатов).

C# является гибридом множества языков, который синтаксически «чист» как Java, прост, как Visual Basic и обладает мощью и гибкостью, как С++.

В [7] перечислены следующие возможности языка C#:

- не требуется никаких указателей;

- автоматическое управление памятью через сборку мусора;

- формальные синтаксические конструкции для перечней, структур и свойств классов;

- аналогичная С++ перегрузка операций для пользовательских типов, но без лишних сложностей;

- возможность строить общие типы и общие члены с использованием синтаксиса, очень похожего на шаблоны С++;

- полная поддержка техники программирования, основанной на использовании интерфейсов;

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

Получаемый с помощью C# программный код может выполняться только в среде выполнения .NET. Официальный термин, используемый для описания программного кода, предназначенного для среды выполнения .NET, - управляемый программный код (managed code). Бинарный объект, содержащий такой управляемый программный код, называется компоновочным блоком.

3.3 Платформа .Net Framework

Язык С# и средства его поддержки в настоящее время крепко связаны с платформой разработки .NET Framework. Названная платформа[8] включает общеязыковую исполняющую среду (CLR – Common Language Runtime) и библиотеку классов (FCL – Framework Class Library). Платформа .Net Framework разработана Microsoft и реализована в последних версиях ОС Windows.

Следует заметить, что язык С# является только одним из многих языков, на которых можно писать программы, работающие на платформе .NET Framework. При использовании данной платформы подготовленный код программы вначале транслируется в код на общем для всех исходных языков промежуточном языке (CIL – Common Intermediate Language). На рисунке 2.4 это показано схематически.

Исходный код C#

Компилятор C#

CIL-инструкции, метаданные (*.dll or *.exe)

Исходный код C++

Компилятор C++

Рисунок 2.4 – Генерация .Net-компиляторами инструкций CIL и метаданных

Последовательность процессорных команд появляется позднее – во время выполнения команд CIL средой CLR.

Основным преимуществом платформы .NET Framework является возможность разработки приложений, используя одновременно несколько разных языков программирования. Такая возможность обеспечена общей системой типов (CTS – Common Type System), которую используют все языки, ориентированные на CLR.

Для обеспечения межъязыкового взаимодействия необходимо придерживаться общеязыковой спецификации (CLS – Common Language Specification). Эта спецификация ограничивает все разнообразие типов того или иного языка программирования тем подмножеством, которое присутствует одновременно во всех языках. Любой из типов, соответствующих спецификации CLS присутствует в каждом из языков и понятен в каждой части многоязыковой программы.