Читаем Редкая профессия полностью

Не знаю, решились бы мы на этот проект, если бы сразу представляли (так, как знаем сейчас) его истинную трудоемкость. Тогда язык Си++, судя по учебным пособиям, казался нам… да, непростым для компиляции, с корявым и неоднозначным синтаксисом, сильно усложненной семантикой традиционных конструкций, но вполне сравнимым, например, с объектной версией Паскаля фирмы Borland. Так что срок, названный шефом, поначалу не вызвал у нас протеста. Однако чтение первой же действительно серьезной и подробной книги — перевода авторского определения языка[1]

, предложенного в качестве начальной версии для его стандартизации, повергло нас в ужас и панику. Казалось, это безумие невозможно реализовать вообще! Тогда мы поняли настоящую цену учебникам типа "Язык XXX за двадцать один день" или "YYY — это просто!". Подобные тексты (сами по себе, быть может, и неплохо написанные) оставляют за своими рамками настолько обширные области языка, избегают касаться стольких его тонкостей и особенностей, что в голове у читателя-программиста формируется зачастую усеченный и выхолощенный образ инструмента, который он собирается использовать.

Вообще, у автора вызывает некоторую настороженность, когда о сложных вещах пытаются говорить упрощенно (это касается не только программирования). Задачи, решаемые современными программными системами, очень и очень сложны. Для их создания приходится использовать адекватные инструменты, которые не могут не соответствовать сложности и ответственности задач и потому объективно не могут быть простыми. Поэтому писать о Си++ в стиле "Откройте файл myprog1.cpp с компакт-диска, прилагаемого к книге, и нажмите Ctrl-F9. Поздравляем! Вы выполнили вашу первую программу на Си++!" — недопустимая профанация предмета.

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

Стандарт принят в 1998 году — уже почти три года назад, а обещанных комментариев до сих пор нет… Собственно текст Стандарта я практически полностью перевел, надо бы засесть и за комментарии. Однако одному мне не справиться… Саша Кротов, где ты!?..

Комментарий 2001 года

Мы подошли к делу серьезно. Три или четыре месяца мы практически не программировали. Мы изучали Эллис и Страуструпа ("Зеленую книгу") вдоль и поперек и во всех мыслимых направлениях, продумывали общую конфигурацию компилятора, выбирали построение основных структур данных и важнейших алгоритмов, предлагали и обсуждали проектные и технические решения и писали проект.

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

Этот текст, кажется, произвел достаточное впечатление на бельгийцев; они вполне убедились в уровне нашей квалификации. Тогда показалось удивительным, но некоторых простых вещей они просто не знали: например, что typedef

-объявление не вводит новый тип, конструкции extern "С"
могут быть вложенными и т.д. Не говоря уже о более специфических аспектах. Когда мы описывали в проекте технику компиляции вызовов, мы употребили термин "thunk" (короткий код для вычисления фактического параметра). Оказывается, они, сделавшие несколько коммерческих компиляторов, не знали, что это такое! С удовольствием и тайным злорадством я выписал из классической книги Гриса[2] и послал им большую цитату, объясняющую этот термин…

Первые радости

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

Перейти на страницу:

Похожие книги

Первые шаги с Windows 7. Руководство для начинающих
Первые шаги с Windows 7. Руководство для начинающих

Просто и понятно для начинающих пользователей описана операционная система Windows 7 и ее новые возможности. Рассказано, как установить Windows 7 (в том числе на нетбук), как полностью использовать новые возможности графического интерфейса, как работать с файлами и стандартными программами. Отдельное внимание уделено вопросам работы в Интернете: настройке доступа, описанию популярных программ для работы в Интернете, обеспечению безопасности. Подробно рассмотрены мультимедиапрограммы Windows Media, Windows Media Center, DVD-студия Windows, прожиг CD/DVD средствами операционной системы. Даны практические рекомендации использования системы восстановления Windows 7, позволяющей в большинстве случаев обойтись без переустановки операционной системы в случае ее сбоя.Прилагаемый компакт-диск содержит видеокурс по основам работы в Windows 7.

Денис Николаевич Колисниченко , Денис Н. Колисниченко

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Самоучитель работы на компьютере: быстро, легко, эффективно
Самоучитель работы на компьютере: быстро, легко, эффективно

Тот факт, что умение работать на компьютере сегодня необходимо всем и каждому, не вызывает сомнений даже у скептиков.Книга, которую вы держите в руках, будет настоящим другом и помощником для тех, кто желает самостоятельно и в короткие сроки освоить премудрости работы на персональном компьютере. Написанная простым и понятным языком, она доступна и легка даже для новичков. Большое количество конкретных примеров и наглядных иллюстраций способствует быстрому и легкому усвоению предлагаемого материала.Его последовательное изложение, а также подробное пошаговое описание ключевых операций и процедур превращают изучение данной книги в увлекательный процесс, результатом которого будет умение общаться на «ты» с любым современным компьютером.Описание построено на примере системы Windows XP Professional.

Алексей Анатольевич Гладкий

Руководства / Прочая компьютерная литература / Книги по IT / Словари и Энциклопедии
Искусство цифровой самозащиты
Искусство цифровой самозащиты

Дмитрий Артимович – русский хакер, специалист по платежным системам и информационной безопасности, автор книг «Электронные платежи в интернете» и «Я – хакер! Хроника потерянного поколения». Его новая книга – настольный путеводитель для тех, кто заинтересован понять искусство цифровой безопасности. В ней он расскажет о многих видах и способах мошенничества в цифровом поле, научит, как правильно защитить от них себя и свои данные, чем именно обезопасить свою технику и какие правила необходимо соблюдать. В современном мире люди хранят свою информацию в цифровом пространстве: банковские реквизиты, паспортные данные и многое другое. Вместе с этим, растет количество способов эту информацию украсть. Именно поэтому сегодня людям необходимо знать, как защититься от любых возможных атак, будь то компьютерный вирус или же фальшивый звонок из банка.    

Дмитрий Александрович Артимович , Дмитрий Артимович

Публицистика / Самосовершенствование / Прочая компьютерная литература