Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Роль языка C#
Роль языка C#
С учетом того, что принципы .NET так радикально отличаются от предшествующих технологий, Microsoft разработала новый язык программирования, C# (произносится "си-диез"), специально для использования с этой новой платформой. Язык C# является языком программирования, по синтаксису очень похожим на Java (но не идентичным ему). Однако называть C# "переработанным" вариантом Java будет неверно. C#, как и Java, основан на синтаксических конструкциях C++. Так же, как и Java, C# можно называть "рафинированной" версией C++ – в конце концов, это языки одного семейства.
Многие синтаксические конструкции C# построены с учетом решений, принятых в Visual Basic 6.0 и C++. Например, как и в VB6, в C# поддерживаются формальные свойства типов (в противоположность традиционным методам get и set) и возможность объявления методов с переменным числом аргументов (через массивы параметров). Подобно C++, в C# позволяется перегрузка операций, а также создание структур, перечней и функций обратного вызова (посредством делегатов).
Благодаря тому, что C# является гибридом множества языков, он является продуктом, который синтаксически так же "чист", как Java (если не "чище"), почти так же прост, как VB6, и обладает почти такой же мощью и гибкостью, как C++ (без соответствующих "ужасных" конструкций). По сути, язык C# предлагает следующие возможности (многие из которых присущи и всем другим языкам программирования, обеспечивающим поддержку .NET).
• Не требуется никаких указателей! Программы на C# обычно не требуют прямого обращения к указателям (хотя имеется возможность получить к ним доступ на более низком уровне, если вы сочтете это абсолютно необходимым).
• Автоматическое управление памятью через сборку мусора. По этой причине в C# не поддерживается ключевое слово delete.
• Формальные синтаксические конструкции для перечней, структур и свойств классов.
• Аналогичная C++ перегрузка операций для пользовательских типов, но без лишних сложностей (например, вам не требуется контролировать "возвращение *this для связывания").
• В C# 2005 имеется возможность строить общие типы и общие члены с использованием синтаксиса, очень похожего на шаблоны C++.
• Полная поддержка техники программирования, основанной на использовании интерфейсов.
• Полная поддержка технологии аспектно-ориентированного программирования (АОП) через атрибуты. Эта ветвь разработки позволяет назначать характеристики типам и их членам, чтобы уточнять их поведение.
Возможно, самым важным для правильного понимания языка C#, поставляемого Microsoft в связке с платформой .NET, является то, что получаемый с помощью C# программный код может выполняться только в среде выполнения .NET (вы не сможете использовать C# для построения "классического" COM-сервера или автономного приложения Win32 API). Официальный термин, который используется для описания программного кода, предназначенного для среды выполнения .NET, – управляемый программный код (managed code). Бинарный объект, содержащий такой управляемый программный код, называется компоновочным блоком (подробнее о компоновочных блоках мы поговорим немного позже). С другой стороны, программный код, который не может непосредственно управляться средой выполнения .NET, называется неуправляемым программным кодом (unmanaged code).
- Предыдущее состояние дел
- Решение .NET
- Главные компоненты платформы .NET (CLR, CTS и CLS)
- Роль языка C#
- Другие языки программирования с поддержкой .NET
- Компоновочные блоки .NET
- Одномодульные и многомодульные компоновочные блоки
- Роль CIL
- Роль метаданных типов .NET
- Роль манифеста компоновочного блока
- Общая система типов
- Общеязыковые спецификации
- Общеязыковая среда выполнения
- Различия между компоновочными блоками, пространствами имен и типами
- Использование ildasm.exe
- Инсталляция среды выполнения .NET
- Платформенная независимость .NET
- Резюме
- Роль папки Bin
- Роль объектных графов
- Роль атрибута [OneWay]
- Роль товарной категории и установление цены
- Реализация языка SQL
- Дальнейшее развитие языка SQL
- 1. Оператор Select – базовый оператор языка структурированных запросов
- Контрольные вопросы
- Глава 14. Почему потребительский опыт играет важную роль в выстраивании клиентских взаимоотношений
- Запуск сценариев на удаленных машинах. Контроль за ходом выполнения таких сценариев
- З.1.2. Пароль BIOS не сбрасывается даже при удалении батарейки. Почему?
- Не хочу, чтобы компьютером пользовались в мое отсутствие. Как установить пароль и блокировать машину?