Главная » Просмотр файлов » Б. Страуструп - Дизайн и Эволюция C++. 2006

Б. Страуструп - Дизайн и Эволюция C++. 2006 (1160775), страница 36

Файл №1160775 Б. Страуструп - Дизайн и Эволюция C++. 2006 (Б. Страуструп - Дизайн и Эволюция C++. 2006) 36 страницаБ. Страуструп - Дизайн и Эволюция C++. 2006 (1160775) страница 362019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 36)

5.4. Стандартизация АМ51 и!50 С 1990 г. основные усилия для завершения С++ прилагались в комитете по стандартизации АХ51/150. Инициатива начать формальную стандартизацию С++ исходила от компании Нею 1е11-Раскагс1 совместно с АТЬТ, 1)ЕС и 1ВМ. Важную роль в этом сыграл Ларри Рослер из Неч')е11-Раскагб. Именно он связался со мной ближе к концу 1988 г., и между нами состоялся разговор о необходимости формальной стандартизации. Основной проблемой было время. Выражая интересы крупных пользователей, Ларри выступал за срочность, я же хотел оттянуть начало стандартизации, пока не будет накоплен достаточный опыт. Взвесив все не очень ясные технические и коммерческие факторы, мы пришли к выводу, что к стандартизации нужно приступить в течение года, если мы вообще рассчитываем на успех. Как мне помнится, первая техническая встрсча комитета АХ51 состоялась за три дня до истечения этого срока (в марте 1990 г.).

Предложение по стандартизации для комитета АХ51 написал Дмитрий Ленков из компании Неч! еи-Раск агд [(.епкок 19891. В нем приведено несколько причин, почему стандартизацию следует начинать немедленно: К первоначальному определению их областей действия мне настоятельно рекомендовали вернуться внешние рецензенты. К тому же я и сам отчаялся найти для областей действия в С++ непротиворечивые правила, так что пока действуют принятые в С (см. раздел 2.8.1). Более важными из новых возможностей были шаблоны (см. главу 15) и обработка исключений (см.

главу 16). Кроме того, в АКМ описывалась независимая перегрузка операций префиксного и постфиксного инкремента (++) — раздел 11.5.3. В целях совместимости с АН51 С была разрешена инициализация локальных статических массивов. С этой же целью введен модификатор чо1ас11е, облегчающий труд разработчиков компиляторов. Я вовсе не уверен, что семантическое сходство служит оправданием для синтаксических параллелей с сопя С, однако не вижу причин для попыток изменить решения комитета АЫ51 С в этом вопросе.

Итак, в АКМ были представлены следующие возможности: о все, что вошло в версию 2.0 (см. раздел 5.2.1); о шаблоны (см. главу 15); о исключения (см. главу 16); о вложенные классы (см. раздел 13.5); о раздельная перегрузка префиксных и постфиксных операций ++ и — (см. раздел 11.5.3)„. о чо1аст1е; о локальные статические массивы. Стандартизация АИ5! и!5О ИИИИИИКИ ' В июле 1994 г, комитет проголосовал за «С1З гея|зггаГюп» вЂ” так называется первый этап завершающей процедуры 180. Планирование работы пал стандартом — дело нелегкое.

В частности, такие «летали», как решение вопроса о том, что представляет собой ставларт и как его принимать, ве станлартизованы и меняются, похоже, каждый гол. а С++ завоевывает массовое признание значительно быстрее, чем большинство других языков; гт задержка процесса привепет к появлению Лиалектов; ш С++ нуждается в летальном проработанном определении, которое бы полностью описывало семантику каждого языкового срепства; а языку недостает нескольких важных возможностей, в том числе обработки исключений, некоторых особенностей множественного наслелования, средств лля поддержки параметрического полиморфизма и станлартпых библиотек. В этом предложении была также полчеркнута необходимость сохранения совместимости с АН51 С.

Организационное собрание комитета АН51 С++ ХЗ)16 состоялось в декабре 1989 г. в Вашингтоне. На нем присутствовали 40 человек, в том числе все принимавшие участие в станлартизации С, те, кого называли «старой гварлией С», и другие. Дмитрий Ленков был избран прелселателем, а Джонатан Шопиро — редактором комитета. Первое техническое заседание состоялось на территории компании АТ4 Т в Сомерсете в марте 1990 г.

АТЛЕТ удостоилась этой чести не из-за вклада в созлание С++, а потому что мы (члены комитета ХЗ)16, присутствовавшие на встрече в Вашингтоне) решили, что планирование места проведения заседаний на первые несколько лет булет зависеть от климатических условий местности в то или иное время гола. Так, второе заседание состоялось в помещении М1сгозо(1 в Сиэтле в июле, а третье — в Нетч1егг-Раскап( в Пало-Альто в ноябре. Таким образом, нам всегла сопутствовала прекрасная потопа, а заодно удалось избежать соперничества компаний. Сейчас в комитет вхолит более 250 человек, из которых около 70 посещают заселания регулярно. Первоначальной целью комитета была выработка прелварительного стандарта, который предполагалось передать на сул общественности в конце 1993 г.

или начале 1994 г. Была надежда, что еще через пару лет после этого можно будет принять официальный стандарт (ловольно оптимистичный прогноз лля стандартизации языка общего назначения). Для сравнения напомню, что стандартизация С заняла семь лет. В тот момент мы планировали опубликовать прелварительный станларт в апреле 1995 г. ' На заседаниях комитета АН51 Сч-+ присутствовали и представители других стран (Канала, Дания, Франция, Япония, Швеция, Великобритания).

В Лунце (Швеция) в июне 1991 г. собрались члены комитета %С21 по стандартизации С++ при 150, и обе структуры решили проводить совместные заседания, начав их незамеллительно, прямо в Лунле. Стоит отметить, что большинство участников из лругнх стран уже давно использовали С++ Перел комитетом по С++ стояли ловольно трупные задачи: гз опрелеление языка должно быть точным и полным; ст необхолимо принять во внимание совместимость с С; ПИИИИ>ИП Хронология 1985-1993 гг. о нужно рассмотреть расширения, выходяШие за пределы текущей практики применения С++; О должны быть рассмотрены библиотеки.

Ко всему прочему сообщество пользователей С++ было очень неоднородным и совершенно неорганизованным, поэтому комитету по стандартизации пришлось стать его центром. В краткосрочной перспективе именно это и было самой важной его целью: «Комитет по С++ — зто место, где разработчики компиляторов и инструментальных средств, их коллеги и предсгаеители могут обсудить проблемы определения языка и — насколько позволяет коммерческая конкуренция — его реализации. Таким образом, комитет уже сослужил добрую службу сообщестеуг помог сблизить различные реализации, предоставив площадку для дискуссий.

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

Стандартизация — непростой процесс. В комитет входили люди, стремившиеся сохранить згагпз г)цо; мечтавшие вернуться на несколько лет назад; были такие, кто хотел «порвать с проклятым прошлым» и спроектировать совершенно новый язык; те, кого волновал лишь один конкретный класс систем; люди, чьи голоса были куплены их работодателями, и представлявшие лишь самих себя; специалисты, озабоченные в основном теоретическими взглядами на программирование вообше и языки программирования в частности; нетерпеливые и требовавшие принять стандарт немедленно, даже если некоторые детали останутся неразрешенными, и наоборот, те, которых не устраивало ничего, кроме идеального определения языка.

Были такие, кто полагал, что С++ — совсем новый язык, у которого и пользователей-то почти нет, и представители организаций, написавших за минувшее десятилетие миллионы строк кода, и т.д. Но в соответствии с правилами стандартизации нам всем предстояло прийти к более или менее одинаковому мнению. Мы должны были достичь консенсуса (обычно под этим словом понимают подавляюшее большинство). Это разумные правила, они имеют национальный и интернациональный характер.

Все интересы законны, и если позволить большинству ущемлять интересы меньшинств, ~ го получится стандарт, полезный лишь ограниченному кругу пользователей. Поэтому каждому члену комитета предстоит научиться уважать другие, чуждые ему точки зрения и идти на компромиссы. И это вполне соответствует стилю С«» Совместимость с С вЂ” это первый вопрос, на котором мы споткнулись.

После длительных, иногда весьма ожесточенных споров было решено, что за стопроцентную совместимость с С бороться не стоит. Но и резкий уход от совместимости с С не годится. С++ — это самостоятельный язык, он не является строгим надмножеством А)ь)51 С, и сделать его таковым нельзя без существенного ослабления гарантий, предоставляемых системой контроля типов и не «поломав» миллионы строк написанного на С++ кода. С другой стороны, значительное уменьшение совместимости с С тоже разрушит существующий код, усложнит создание и сопровождение систем, написанных на смеси этих языков, и сделает Стандартизация АМ51 и 150 й!ИИ>ИИИБ более проблематичным переход от С к С++.

Решение, которое часто формулируют как уже упоминавшееся «настолько близко к С, насколько возможно, но не ближе», совпадает с тем, к которому снова и снова приходили все размышлявшие над языком С++ и направлениями его развития (см. раздел 3.12). Проработка деталей данного решения после независимых изменений, которые С«-~ и А)ч51 С внесли в исходное определение С, составила заметную часть работы комитета по стандартизации. Основной вклад в зто дело внес Томас Плам. 5.4.1.

Характеристики

Тип файла
DJVU-файл
Размер
2,78 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6439
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее