Каталог статей

Главная » Статьи » .NET

C#. Обзор языковых возможностей.
Введение.

Вместе с выпуском новой платформы .NET компания Microsoft представила новый язык, идеально подходящий для новой платформы - C# (читается "си шарп"). Станет ли он для Вас любимым и единственным или одним из постоянно используемых решать Вам, так как .NET дает такую возможность. Но на мой взгляд любой .NET программист должен знать C#, как язык специально созданный для работы с этой платформы. 

Тем более, что в нем многие найдут любимые черты. Он близок и Delphi, и C++, и Java программистам. 

Данная статья не научит Вас программировать на этом современном языке. Моя цель дать Вам представления о возможностях языка, его преимуществах и области применимости, то есть основополагающий базис, который позволит заняться изучением синтаксических особенностей. 

Публикация рассчитана на инженеров, знакомых с основными понятиями современных. 
Основные характеристики языка.

Программиста, привыкший к платформе Майкрософт, может представить себе C# как промежуточный вариант между C++ и Visual Basic, если рассматривать сложность языковых конструкций и возможности языка. 

C# имеет C стиль синтаксиса (для управляющих конструкций, блоков кода, описания сигнатуры методов и др.), много общего с Java (отсутствие множественного наследования и шаблонов, наличие сборщика мусора) и Дельфи (ориентированность на создание компонент), в то же время имеет и свой колорит. 

При создании языка в основу дизайна легла легкость использования, доминирующая над мощностью языка и скоростью выполнения. Отсюда и сборщик мусора с управляемыми объектными ссылками, который автоматически освобождает за Вас память, отбирая при этом процессорное время. Вы также получаете безопасность работы с типами, а это по мнению многих является вторым важнейшим фактором избежания ошибок. 

C# объектно-ориентированный язык, как и вся платформа .NET. Более того, это язык, ориентированный на написание компонент. C# создан для программирования в управляемой среде с присутствующим сборщиком мусора, но позволяет писать и неуправляемый (unmanaged) код. 

Цельность концепции видна, скажем в реализации упаковки/распаковки. Это позволяет рассматривать все типы (даже примитивные) как объекты, что разрешает многие проблемы дизайна приложений. 

При создании языка рассматривалась не только простота написания приложений, но и их поддержки - в связи с чем в язык включили поддержку XML комментариев и контроля версий. Настоящий подарок для программистов. 

Помимо сборщика мусора и безопасности работы с типами для избежания ошибок в языке также применяется автоматическая инициализация переменных. Все типы, которые размещаются в стеке (value types, к которым относятся примитивные типы, структуры и прочие наследники класса ValueType) инициализируются нулями. Объекты остальных типов размещаются в куче, доступ к ним осуществляется по объектной ссылке, и ссылки эти инициализируются в значение null (которая говорит, что данная ссылка не имеет ассоциированного объекта в куче). 

В C# представлена концепция пространств имен, аналогичная пакетам в Java. Это позволяет иерархически структурировать Вашу систему типов, делая код намного более понятным и позволяя избежать проблем с именованием. Вы можете рассматривать пространства имен как директории, а языковые типы как файлы в этих директориях. 
Приятности.

Коротко упомянем про некоторые из возможностей работы с языком. Подробнее с синтаксисом и примерами использования этих возможностей Вы можете ознакомиться на сайте www.dotsite.spb.ru . 

В языке для работы с событиями и обратными вызовами представлена новая концепция объектно-ориентированно и безопасной с точки зрения системы типов ссылки на функцию - "делегат". Именно эта концепция позволяет описывать события C# компонента без возвратных интерфейсов и дополнительных усилий, достаточно использовать ключевое слово event. 

Индексаторы и свойства органично дополняют события до создания описываемого сигнатурой компонента. 

C# позволяет использовать при разработке парадигму атрибутивного программирования, когда в компиляционных модулях вместе с типом может сохраняться мета-информация. Данная информация впоследствии может быть получена и использована во время выполнения. Более того, этой информацией может воспользоваться компилятор или, скажем, дизайнер, что позволяет, не запуская компонент, получать информацию о нем. 

Работа с атрибутам позволяет использовать COM, COM+ и DLL в C# приложениях, работающих в среде .NET. Перечисления позволяют обезопасить работу с перечисляемыми типами. 

Реализация структур как типов, работа с которыми идет по значению, вкупе с возможностью использовать не только вложенные массивы (как в Java), но и многомерные позволяет оптимизировать производительность приложений. 
Выбор.
При написании стандартных приложений под .NET трудно подобрать более подходящий язык, если Вы привыкли к синтаксису C-подобных языков. 

Если Вы хотите использовать шаблоны (templates, полиморфные типы), то сейчас Вам придется обратиться к C++. С другой стороны, шаблоны скорее всего будут реализованы во второй версии общеязыковой среды выполнения и C#. 

Если Вы не хотите отказываться от возможностей использования множественного наследования, то Вам стоит обратить внимание на Eiffel#. 

Если Вы привыкли к синтаксису и простоте бейсика, Ваш выбор наверняка падет на Visual Basic.NET. 

В любом случае стоит принять во внимание, что базовым языков одной из основных современных платформ разработки является именно C#, а это имеет отражение и на продуктах для разработчиков, которых для C# скорее всего будет больше чем для остальных языков, работающих под .NET.

Категория: .NET | Добавил: virusik (04.07.2009)
Просмотров: 567 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Имя *:
Email *:
Код *:
вход на сайт
Категории раздела
C/С++ [24]
статьи о языке C/С++
Visual FoxPro [1]
информация о языке Visual FoxPro
.NET [24]
статьи о языке программирования .NET
ваши статьи [4]
здесь вы можете размещать сваи статьи
модинг [4]
статьи о модинге ПК
Поиск по сайту
наши опросы
Оцените мой сайт
Всего ответов: 10
Мини-чат
помощь проекту
помоги проекту
ЯндексЯндекс. ДеньгиХочу такую же кнопку
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Каталог http://www.internetmir.ru Лучшие сайты интернета в каталоге Intenetmir
  • Delphi.int.ru - Сообщество программистов: общение, помощь, обмен опытом.
    реклама 88х31
    Каталог сайтов. Раскрутка. Хостинг. Каталог ссылок. Информационный портал - Старого.NET Шпоры, курсовые, пособия, рефераты, ВУЗы.
    Статистика
    webgari.com Рейтинг сайтов
    Раскрутка сайтов
    Яндекс цитирования
    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0