Б. Страуструп - Дизайн и Эволюция C++. 2006 (1160775), страница 44
Текст из файла (страница 44)
Мой опыт показывает, что оба подхода уместны, хотя любое решение, затрагивающее интернационализацию н разные наборы символов, становится наилучшим поводом для споров и эмоциональных оценок. Нс менее сложен вопрос о том, стоит ли — и сели ла, то как — разрешить расширенные наборы символов в исходных текстах программ на С++. Разумеется, мне хотелось бы употреблять датские названия яблока, дерева, лодки и острова в программах, оперирующих такими понятиями. Разрешить их в комментариях нетрудно, тем более что комментарии на других языках встрс ~аются ловольно часто.
Допустить жс символы из расширенных наборов в имснах идентификаторов сложнее. В целом в программах иа С и С++ я бы разрешил употреблять латские, японские, корейские, да и любыс другие идентификаторы. Технически здеа нет ничего трулного. Локальный компилятор С, написанный Кеном Томпсоном (Кеп Т[1ощрзоп), допускает в илентификаторах любые символы из набора ()п|сог[с. С другой стороны, могут возникнуть проблемы, связанные с переносимостью и способностью понимать чужие программы. Технически проблему переносимости вполне можно решить. Однако английский щраст важную роль как международный Примеры предлагавшихся расширений ЦффффЯЯЩ язык общения программистов и, очевидно, не стоит отказываться от этого без серьезных причин.
Для большинства программистов систематическое использование иврита, китайского, корейского и таь будет означать непреодолимый барьер для понимания программ, написанных другими людьми. Даже мой ролной латский язык для среднего англоговорящего программиста — проблема. Пока комитет по С++ не принял окончательного решения по этому вопросу, но думаю, что сделать это придется, и любое возможное решение вызовет ожесточе>шые споры. Глава 7.
Заинтересеваннесть и испельзевание Деннис Рнчн 7.1. Рост интереса к С++ С++ проектировался, чтобы служить интересам пользователей. Это пе был академический эксперимент по созданию идеального языка программирования. Не являлся С++ и коммерческим продуктом, имеющим целью обогатить своих создателей. Поэтому у языка должен были быть приверженцы (см. табл. 7.1). Таблица Т.
1 Примерное число пользователей С++ Дата октябрь 1979 г. октябрь 1980 г. октябрь 1981 г. 38 ??+2 (без учета Срге) ??+50 (без учета Срге) 500 2000 4000 15000 50000 150000 400000 За двенадцать лет число пользователей С++ в среднем удваивалось каждые семь с половиной месяцев. И это еще осторожные оценки. Определить точное число пользователей С++ всегда было нелегко. Во-первых, такие реализации, как С)ч(() С++ (С++) и С(голд передаются в университеты, где на иих работают стуленты (неизвестио, сколько именно). Во-вторых, многие компании — и поставщики, октябрь 1982 г. октябрь 1983 г.
октябрь 1984 г. октябрь 1985 г. октябрь 1985 г. октябрь 1987 г. октябрь 1988 г. октябрь 1989 г. октябрь 1990 г. октябрь 1991 г. Одни языки создаются для решения задачи, другие — для доказательства тай или иной точки зрения. Рост интереса к С++ ЛИИИИИИП и потребители — лержат в секрете число пользователей и характер их леятельности. Однако у меня всегда было много друзей, коллег и знакомых, готовых сообщить необходимые цифры при условии ответственного обращения с ними, что и позволило мне слслать довольно верную оценку.
Приведенные цифры отражают расчеты, сделанные в то время, и с тех пор не корректировались. Для подтверждения того, что они занижены, я могу сослаться на публичное заявление компании Вог!апг1— крупнейшего поставщика компилятора С++ — о том, что к октябрю 1991 г. ими было продано 500 тыс. копий компилятора. В настоящее время число пользователей С++ выросло настолько, что я уже не могу подсчитать их с лостаточной степенью лостоверности. Опубликованные цифры говорят, что уже к концу 1992 г. было продано свыше 1 млн. копий компиляторов С+в.
7.1.1. Отсутствие маркетинга С++ Больше всего меня уливляет тот факт, что первых пользователей С++ обрел без какого-либо традиционного маркетинга (см. разлел 7.4). Главную роль в распространении языка сыграли различные формы электронных коммуникаций. В первые годы дистрибуция (в основном) и поддержка (полностью) осуществлялись по электронной почте. Довольно быстро сами пользователи организовали электронные коифереппии, посвященные С++. Благодаря интенсивному использованию сетей, информация о языке, приемах программирования на ием и текущем состоянии распространялась очень широко.
Ныне это обычное явление, по в 1981 г. было относительно новым. Полагаю, что С++ был первым из основных языков, который пошел по этому пути. Позже появились и более традиционные формы маркетинга и обмена информацией. В 1988 г., после того как АТ8 Т выпустила С(гопг 1.0, некоторые посрепники, прсжлс всего компания О1ос)гепзр)е! Джона Кэролана () опп Саго!ап) в Ирландии и ее американский дистрибьютер Оазуз (позжс — часть Огссп Н111з) начали ограниченную рекламную кампанию. А когда появились независимо разработанные компиляторы С++, такие как Огейоп Яо(гв агс С++ и Хоггесп С++, название С++ уже не схолило с рекламных обьявлепий (примерно с 1988 г.).
7.1.2. Конференции В 1987 г. Давил Йост (1)ачк) Уоз1) из ()ЯЕН1Х вЂ” Ассоциации пользователей П)ч)1Х вЂ” взял па себя инициативу организации первой конференции, посвященной исключительно С++. Поскольку Дэвид не был уверен, много ли народу проявит интерес к мероприятию, конференция была названа всеминаромм По секрету Йост сказал мне, что, если чзарегистрирустся нслостаточпо участников (менее 30 человек), нам придется свернуть лавочку». На роль координатора программы был выбран Кит Горлен из Национального института здравоохранения.
Оп собирал электронные адреса интересных проектов, о которых мы были наслышаны, и рассылал отлельным специалистам предложения выступить с локладом. В конце концов было принято 30 локладов, и в ноябре 1987 г. на семинар в Санта-Фе собрались 214 человек. ПИИИИИИ1! Заинтересованность и использование Состоявшееся мероприятие стало образном лля последующих конференций.
В Санта-Фе прозвучали доклады но приложениям, метолам программирования и обучения, библиотекам, технике реализации компиляторов, идеи по у.чучшенпю языка. Уливляст, что на конференции, организованной ПБЕЫ1Х, были сообщения по работе С++ на платформе Лрр!с Мас!псозЬ, 05у2, компьютере Соппссс!оп и по реализации отличных от (1Ы1Х операционных систем (например, С1.ЛМ [Сац, 1987] и СЬо!ссз [СашрЪе!1, 1987]). О библиотеках Ы1Н [Оог!еп, 1987] и 1пгегч!евч [1лпгоп, 1987] также заговорили в Санта-Фс. Там была пролемонстрирована ранняя версия разработки, позже ставшей С!топе 2.0 [Ягопзггпр, 1987с]. Предполагалось, что конференция в Санта-Фе будет семинаром и, несмотря ца наличие 200 участников, так оно н случилось.
С большой интенсивностью проходили лпскуссии. Однако было ясно, что на слсдуюгцую конференцию съелутся в основном начинающие пользователи и люди, пытающиеся понять, что прелставляст собой С-~+. Позтому нс булет глубокой и открытой полемики и ее место займут вопросы обучения и коммерческого распространения языка.
По прелложснию Эндрю Кснига конференцию О5ЕЬ!1Х по С++ в Денвере было решено назвать «семинаром разработчиков». После конференции локладчики, разработчики компиляторов н лр. отправились из Денвера в Эстес Парк на олнолневную «живую» лнскуссию. Здесь с таким воодушевлением были приняты идеи о статических (см. раздел 13А) и константных (см. разлел 13.3) функциях-членах, что я решил включить их в версию С1топс 2.0, выпуск которой все еще отклалывался ЛТе Т по внутренним причинам.
По моей настоятельной просьбе Майк Миллер (М!!се М!!1ег) представил поклал [М1!!ег,1988], который положил начало серьезному публичному обсужлепию обработки псклк>чспий в С++. Помимо конференций 115ЕЬ!1Х теперь есть много коммерческих и полукоммерчсских конференций, посвященных С и С++, именно С««, а также объектноориентированному программированию, в том числе и с применением С++.
В Европе конференции организует Ассоциация пользователей С и С++ (ЛССП). УЛЗ. Журналы и книги К середине 1992 г. только па английском языке вьппло порядка 100 книг по С-н-, нс считая псрсволов и оригинальных книг на китайском, датском, французском, немецком, итальянско»с японском, русском и лругих языках. Разумеется, они неодинаковы по качеству. Приятно, что мои собственные книги переведены уже на десять языков.
Первый посвященный С++ журнал — ТЬе С++ керогг, пол релакцией Роба Мюррея (ВоЬ Мпггау) — начал выходить в январе 1989 г. Более объемное, красочное издание ТЬе С++ 1оигпа1, пол редакцией Ливлина Сингха (1лч!ееп 81п8Ь), появилось весной 1991 г. и стало выхолить ежеквартально. Есть еще несколько информационных бюллетеней, издаваемых фирмами-производителями инструментальных средств, а в таких журналах, как Сотригег Еагкиаке, ТЬе 1оптпа1 оу ОЬ7есг-Опепгег( Ргокгаглглтд (1ООР), Оп ОоЬЬ'» 1оигпа1, Тйе С (7зегх 1оигпа! и .ЕХЕ регулярно публикуются статьи или колонки, посвященные С-н., Состав изданий, па страницах которых обсуждаются вопросы, относящиеся к С«+, н политика нх редколлегий меняются ловольно быстро.
Рост интереса к С++ 'ФИИИИИИБ В электронных конференциях и лосках объявлений, таких как совр.!апй.с++ в П5ЕЫЕТ и с.р!цз.р1пз в В1Х, за несколько лет появились лесяткн тысяч нояых сообщений. Если следить за всем, что пишется о С++, то не хватит и целого рабочего лня. 7Л.4. Компиляторы Конференция в Санта-Фе (см. раздел 7.1.2) знаменовала начало второй воляы реализаций С++.
Стив Дьюхерст описал архитектуру компилятора, которьш оц вместе с коллегами разрабатывал в отделении ЛТЬТ в Саммите. Майк Болл (Мйе ВаИ) рассказал о некоторых идеях, положенных в основу компилятора ТацМсспс С++, созданный совместно со Стивом Клэмплжсм в Сан-Диего (чан1с его называют компилятором Огейоп Бо!гшагс С++).