Русская Америка - Russian America.
Новости на Русской Америке News События на Русской Америке Events Yellow Pages на Русской Америке Yellow Pages Доска объявлений на Русской Америке Classifieds Russian TV and Video TV/Video Знакомства на Русской Америке Dating Форум на Русской Америке Forum Чат на Русской Америке Chat Фотоальбомы RussianAmerica Photos
Русские в Америке. Русские знакомства, чат, форум.
Russian Chat, russian forum, russian dating.
 News Central
В мире
  Политика
  Разное
Бизнес
  Деньги
Общество
  Мода
  Религия
  Светская жизнь
  Шоу Бизнес
  Пикантные новости
  Животные
  Криминал
Спорт
Искусство
  Кино
  Музыка
Авто
Hi-Tech
  Интернет
  Hardware
  SoftNews
Здоровье
Путешествия
Вокруг света
USA
Россия
CureNet - Connected Health
  
Ресурсы
  Самые последние
  Самые читаемые
Архив
 Другие ресурсы
Все Ресурсы

Рассылки
Газеты
Журналы
ТВ - Online
Радио

Юмор
  Анекдоты
  Игры
  Этикетки
  
Открытки
  Поздравь друга
  
Программа TV
Кино
  Новости кино
  Кинообзоры
  
Музыка
  Радио в internet
  Russian Top
  
Спорт
Web Обзоры Exler.ru
  
Читальный зал
ЭКСпромт - статьи для чайников
Компьютерные игры
Finance News
Автообзоры
Russian America Journal Digest
 Смотрите также
Yellow Pages
Объявления
Чат
Форум
  последнее

Читальный зал
  Стихи
  Проза
  Кулинария

Едем в Америку!
  Иммиграция
  Визы
  Советы

Знакомства
Фотоальбомы
Top Rating
  America TOP
  
Последние новости со всего мира.
 
NEWS CENTRAL >> Hi-Tech >> SoftNews

SoftNews

Первые спецификации С# version 2.0
4:02PM Thursday, Oct 30, 2003
Компьюлента. 29 октября 2003 года, 14:25

Похоже, что Microsoft хочет сделать язык C# самым удобным, совершенным, быстрым, надежным. Иными словами, компания не останавливается на достигнутом и продолжает совершенствовать C#.

Как известно, C# обязан своим появлением скандалу между Sun и Microsoft по поводу несоответствия языка J++, входящего в состав MS Visual Studio 6.0 (а кажется, это было совсем недавно...), спецификациям на язык Java от фирмы Sun. В результате этих действий в следующей версии Visual Studio язык J++ был основательно переработан и представлен общественности под новым именем С#, дабы исключить всякие поводы для судебных трений с Sun.

Сейчас C# является одним из наиболее популярных среди разработчиков языков программирования, ибо сочетает в себе простоту и безопастность Java по работе с классами и огромные возможности по взаимодействию с уже написанным на многих языках программным кодом.

Сейчас уже ходят слухи, что С# version 2.0 выйдет уже в начале следующего года. В спецификации, которую удалось раскопать в залежах сайта Microsoft, описываются основные нововведения, которые разработчики увидят в новой версии.

Судя по этой спецификации, Microsoft планирует встроить в C# все полезные наработки, которые уже встречались ранее в других языках программирования, по тем или иным причинам сейчас уже позабытых или использующихся для решения узкоспециализированных задач. Как сообщается, в качестве источника полезных идей были взяты Ada и Lisp, при этом стояла непростая задача сохранить совместимость с уже наработанным для C# програмным кодом. Сообщается, что для сохранения совместимости, в С# 2.0 не появится новых ключевых слов, которые могли использоваться ранее в качестве идентификаторов переменных.

Напомню, что Ada - язык повышенной надежности, разработанный по заказу министерства обороны США. Это чисто процедурный язык программирования, в котором отсутствует даже определение класса. Язык задает очень жесткие требования к правилам оформления кода, в результате, первые версии программы, которые удается скомпилировать, с высокой вероятностью могут вообще не содержать ошибок. Lisp - язык, основу которого составляют не операции с числами, а символьные преобразования. На нем естественным образом реализуются алгоритмы искуственного интеллекта и программы для символьных решений уранений, логическое программирование и т.п. Очевидно, что языки эти совершенно разные, и при этом не имеют почти ничего общего с наиболее распространенными сегодня С, Delphi, Java и Vb.

Итак, какие же нововведения ждут нас в следующей версии C#? В вышеупомянутой спецификации подробно расписаны четыре из них:

1. Generics

Это понятие пришло из Ada, где существует понятие generic unit - настраиваемый сегмент.

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

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

2. Iterators

Итераторы - это средство, позволяющее облегчить использование оператора foreach. Оператор этот, пришедший на смену циклам, очень удобен, так как позволяет легко проделать какую-либо операцию с набором (коллекцией) объектов. Недостаток его заключается в том, что эти объекты должны содержать реализацию интерфейса IEnumerable, для чего программисту приходится самостоятельно писать реализацию трех методов, позволяющих оператору foreach перебирать все объекты из коллекции.

По сути, итератор представляют собой заготовку, призванную заменить написание этих трех методов буквально парой строчек кода.

3. Partial types

Сегодняшние классы могут достигать гигантских размеров. Нередки случаи, когда разрабатываемый класс имеет сотни методов. Даже учитывая, что описание класса хранится в одном файле, можно легко запутаться в получающихся нагромождениях кода. Отчасти эту проблему позволяют решить Case-средства, позволяя сренерировать описание интерфейса, и в дальнейшем реализовывать его. Однако описания интерфейсов в ходе работы над проектом часто меняются, что заставляет вносить изменения в уже наполовину готовый код, добавляя в работу элемент бардака.

Решить эту проблему как раз и призваны partial types ("разделяемые типы"). Стоит, например, объявить класс как partial, и вы получите возможность хранить его члены в нескольких раздельных файлах. При этом есть возможность разделить код написанный человеком и полученный в результате автоматической генерации. Поддерживается возможность раздельной комипляции элементов такого класса.

4. Anonymous methods

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

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

С помощью же безымянных методов все необходимые действия можно записать в одну строку, в которой мы создаем делегат и объявляем необходимый метод. По смыслу, это очень напоминает безымянные классы в Java, или вложенные (nested) типы в С#.

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

Смотрите также: Hi-Tech, Интернет, Hardware
 
Читайте также:

Microsoft продемонстрировал раннюю версию Palladium

Microsoft продемонстрировала СУБД Yukon и среду программирования Whidbey

Microsoft выпустит ОС для портативных плееров

Разделение Palm и слияние с Handspring одобрены

Новые инструменты разработчика серверов на базе Itanium 2

Microsoft урегулировала еще шесть коллективных исков


Подробности о новых технологиях в Longhorn

Языки программирования

Вышла новая версия антивируса PC-cillin

Новая версия браузера Opera для смартфонов

В SuSE разработали альтернативу MS Exchange

Билл Гейтс о компьютере эпохи Longhorn

Вышла бета-версия ядра Linux 2.6

Borland выпускает JBuilder X

Veritas и SuSE заявили о сотрудничестве

Еврокомиссия не станет спешить с Microsoft

Очередной выпад SCO против IBM

Сотовые телефоны позволят людям совместно сочинять музыку

Компьютер на Linux помог NASA ускорить процесс моделирования океана

Вышла новая версия MacOS

Финансовый отчет Microsoft за очередной квартал



Рассылки:
  Новости-почтой
  TV-Программа
  Гороскопы
  Job Offers
  Концерты
  Coupons
  Discounts
  Иммиграция
  Business News
  Анекдоты
Многое другое...

News Central Home | News Central Resources | Portal News Resources | Help | Login
Russian America Top Rating © 2019 RussianAMERICA Holding
All Rights Reserved • Contact