
41
событиями и обратными вызовами. Внедренная концепция ссылки на функцию –
«делегат», использует объектно-ориентированный и безопасный подход с точки
зрения системы типов. Используя данное новшество, язык C# допускает
описание события компонента, исключая возвратные интерфейсы и
дополнительные усилия. На практике, программисту достаточно применить
ключевой термин event. Индексаторы и свойства органично дополняют события
до создания описываемого сигнатурой компонента. Следующие параграфы
относятся к спецификации языка C#, чтобы дать понять читателям
представление о достаточно революционном продукте от создателей Windows.
Отталкиваясь от таких характеристик, как возможности предоставляемые
языком и сложность его конструкций, C# занимает промежуточное место между
C++ и Visual Basic. Особенно это почувствуют программисты, привыкшие к
работе на платформе Microsoft, которые найдут в продукте много общего с его
популярными предшественниками. Несмотря на присутствие собственного
«программного колорита» в языке C# много заимствований:
От C взят синтаксис таких элементов, как управляющие конструкции,
описания сигнатуры методов и блоки кода;
Java напоминает о себе сборщиком мусора и отсутствием
множественного наследования;
У Дельфи копируется ориентированность на создание компонент.
При разработке языка, основной акцент был сделан именно на простоту,
легкость, даже комфорт его использования, тогда как в жертву были принесены
мощность и скорость. Яркий пример этому - сборщик мусора. Алгоритм его
работы по управляемым объектным ссылкам, освобождает память
автоматически, избавляя разрабьотчика от дополнительных забот. Однако
данная процедура забирает процессорное время. Программист также получаете
безопасность работы с типами, а это по мнению многих является вторым
важнейшим фактором избежания ошибок.
Несмотря на разработку C# как объектно-ориентированного языка,
наследуя собственно, побудившую к его выпуску, платформу .NET, он позволяет
писать и неуправляемый код. Хотя конечно, язык больше ориентирован на