» Главная
eXcode.ru » Статьи » .NET » C#
» Новости
» Опросы
» Файлы
» Журнал
» Форум
Пользователей: 0
Гостей: 30





Углубление в C#




Интервью с ведущим разработчиком Microsoft - Андерсом Хейлсбергом (Anders Hejlsberg). В июле, редактор O`Reilly Джон Осборн посетил конференцию профессиональных разработчиков Microsoft, где взял интервью у Андерса Хейлсберга, выдающегося специалиста и ведущего разработчика C#, о платформе Microsoft .NET и языке программирования C#. Андерс Хейлсберг известен как человек, который разрабатывал Turbo Pascal, один из первых языков доступных на PC. Андерс лицензировал Turbo Pascal корпорации Borland и впоследствии возглавил команду, создавшую Delphi, действительно удачное визуальное средство разработки клиент-серверных приложений. Также в интервью принимали участие Тони Гудхью (Tony Goodhew) - Microsoft менеджер C#, и редактор раздела Windows в O`Reilly - Рон Петруша (Ron Petrusha).

Осборн: Я уже читал статьи в прессе о C# [произносится C sharp] и отметил, что многие из них поддерживают предположение (или гипотезу), о том, что C# является клоном или замещением Java от Microsoft. Если вы бы писали заголовки, что бы вы сказали людям об этом языке?

Хейлсберг: Во-первых, C# это не клон Java. Во время разработки C# мы смотрели на множество языков. Мы смотрели на C++, смотрели на Java, на Modula 2, C и SmallTalk. Существует много языков, имеющие основные идеи, такие же, как и те, которые использовали мы - например, полная объектная ориентированность, объектная простота и прочее.

Одно из ключевых отличий С# от других языков, в частности Java, в том, что мы пытались как можно больше приблизиться к C++. C# наследует большинство операторов, ключевых слов и выражений напрямую из С++. Мы также включили несколько особенностей этого языка, которые были забыты в Java. К примеру, почему в Java нет перечислений (enums)? Я имею ввиду, в чем смысл их исключения? Перечисление - здоровая и имеющая смысл концепция в С++. Мы оставили перечисления и сделали их также защищенным типом. В C# перечисления не просто целые. Теперь это в действительности мощный тип, который наследуется от System.Enum в библиотеке базовых классов платформы .NET. Перечисление типа "foo" не может быть неявно преобразовано в перечисление типа "bar". Мне кажется это важное отличие. Мы также оставили оператор перегрузки и преобразования типов. Вся наша структура пространств имен очень близка к C++.

Но в отличие от большинства традиционных языков, одним из наших ключевых достижений в разработке C# является его компонентная ориентированность, добавление в структуру языка всех концепций, которые могут понадобиться для написания компонентов. Такие концепции как опции (properties), методы, события, атрибуты, и документация являются конструкциями первого уровня в языке C#. Работа, которую мы проделали над атрибутами, особенностью используемой для добавления типизированных метаданных к любому объекту, является абсолютно новаторской. Я не видел подобного ни в каком другом языке. Также C# - первый язык работающий с XML тэгами комментариев, что может использоваться компилятором для создания документации прямо из исходного кода.

Еще одна важная концепция, то что я называю "все покупки на одной остановке". Когда вы пишете программу на C#, вы пишете все в одном месте. Не требуется файлов заголовков, IDL (Interface Definition Language) файлов, GUID и запутанных интерфейсов. И как только вы напишете приложение, которое будет само себя описывать, вы сразу можете начать его внедрять, так как оно является самодостаточным блоком. Вы можете связать его с ASP и расположить в любом из окружений, даже там, где ранее это было невозможно.

Вернемся к теме концепции компонентов. Было много споров о том, должны ли языки поддерживаться опции (properties) или события. Конечно, мы можем заменить эти концепции методами. Мы можем именовать паттерны как "get" и "set" блоки, которые заменяют использование опций. Мы можем использовать интерфейсы и адаптеры, которые реализуют интерфейс и обращаются к объекту. Мы можем это делать, также как мы можем писать объектно ориентированный код на C. Просто это сложнее и тут больше пыльной работы, а от этого в результате можно растерять все свои изначальные идеи. Просто мы думаем, что пришло время для языка, который позволяет легко создавать компоненты. Сегодня разработчики разрабатывают компонентное программное обеспечение. Они не пишут программы-монолиты или монолитные библиотеки классов. Каждый строит компонент, который наследован от другого базового компонента, поставляющегося некоторым окружением. Эти компоненты перекрывают некоторые методы и опции, реагируют на определенные события. Просто необходимо чтобы эти концепции входили уже в первые классы.

Источник: www.cyberguru.ru

К началу статьи





Добавил: LedWormДата публикации: 2008-02-29 13:56:11

Рейтинг статьи:0.00 [Голосов 0]Кол-во просмотров: 4143
Оцените статью:

Комментарии читателей

Всего комментариев: 0
Ваше имя: *
Текст записи: *
Имя:

Пароль:



Регистрация

Какой жанр фильмов вам нравится?
Ужасы
12% (23)
Триллеры
6% (12)
Комедии
29% (57)
Боевики
4% (8)
Фантастика
27% (53)
Элитарное кино
2% (4)
Мультфильмы (3D, Анимэ)
11% (22)
Мелодраммы
2% (3)
Драммы
2% (4)
Другой
6% (12)

Проголосовало: 198
Жили были дед да баба. Говорит старик старухе:
- Старая, давай колобка склеим и пусть он смастерит первый в лесу компьютер.
Бабка согласилась, слепила колобка, поручила ему собрать компьютер.
Катится Колобок по лесу, видит - волк идет. Колобок у него и спрашивает:
- Волк, а Волк, а хочешь системным блоком стать?
- А что это такое?
- Это значит, что ты будешь сидеть и тебя люди кормить сами будут: дискетками, дисками...
- Хочу! - сказал Волк и стал системным блоком. Идет колобок дальше. Вдруг видит - лиса, он ей и говорит:
- Лиса, а Лиса, а хочешь быть монитором?
- А что это такое?
- Ну, это когда ты будешь смотреть на людей, подглядывать, а они ничего и не заподозрят.
- Хочу! - сказала Лиса и стала монитором.
Покатился Колобок дальше. Тут ежик дорогу перебегает. Он его остановил и спрашивает:
- Ежик, а Ежик, а хочешь быть клавиатурой?
- А что это такое?
- Это когда люди тебе будут спинку почесывать, да поглаживать каждый день, а ты лежать будешь.
- Хочу! - сказал Ежик и стал клавиатурой.
Пошел Колобок дальше. Видит - мышь бежит. Он ее поймал и спрашивает:
- Мышь, а Мышь, а хочешь быть компьютерной мышкой?
- А это что такое, и как?
- Это когда люди тебя каждый день за шкирку будут брать и таскать по коврику туда - сюда, туда - сюда.
- Да пошел ты в ж#пу, Колобок!!!
С тех пор у мышки в ж#пе колобок...
Рейтинг: 4/10 (2)
Посмотреть все анекдоты
компьютерный форум
 
eXcode.ru » Статьи » .NET » C#