...
...

Вымышленное интервью со Страустрапом

Окончание. Начало в N№ 13.

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

Корреспондент: Как это?
Страустрап: Вы немного отстали от жизни, не так ли? Помните "typedef"?

Корреспондент: Да, конечно...
Страустрап: Припоминаете, как долго приходилось продираться через файлы заголовков, чтобы выяснить, что тип "RoofRaised" означает число двойной точности? Ну так представьте себе, чего потребует проверка всех неявных typedef'ов во всех описаниях классов для большого проекта...

Корреспондент: Так почему же вы считаете, что добились успеха?
Страустрап: Назовите длительность среднего проекта на Си. Около шести месяцев. Даже приблизительно недостаточно, чтобы парень, имеющий жену и детей, мог заработать на поддержание приличного уровня жизни своей семьи. Возьмем тот же проект, но на Си++, и что же получим? Я вам скажу.
От одного до двух лет. Разве это не великолепно? А защищенность от вмешательства посторонних в работу над вашей программой, которую обеспечивает недопустимость единой ошибки в интерпретации кода? И еще: в университетах так давно не преподавали Си, что число стоящих Си-программистов сократилось. Особенно таких, кто хотя бы немного разбирается в системном программировании Unix. Сколько парней способно понять, что делать с "malloc", если все эти годы они пользовались "new" и не давали себе труда проверить код возврата? Сущая правда: большинство программистов С++ игнорируют коды возврата! Что случилось с добрым старым кодом "-1"? Вы, по меньшей мере, знали, что произошла ошибка, без всей этой мороки со "throw", "catch" и "try"...

Корреспондент: А наследование? Оно, разумеется, экономит массу времени?
Страустрап: В самом деле? Вы никогда не замечали разницы между графиками проектов на Си и Си++? Этап планирования для Си++ в три раза длиннее. Именно для того, чтобы удостовериться, что все подлежащее наследованию будет наследоваться, а все не подлежащее - не будет. И все равно ошибки планирования неизбежны. Кто-нибудь слыхал об "утечках памяти" в программах на Си? А в наше время обнаружение утечек - крупная область программной индустрии. Большинство компаний, махнув рукой, выпускает программы, зная, что они текут, как решето. Просто экономят на поиске и устранении всех утечек...

Корреспондент: Есть ведь соответствующий инструментарий...
Страустрап: Большая часть которого написана на Си++...

Корреспондент: Если мы опубликуем интервью, вас, вероятно, линчуют. Вы это понимаете?
Страустрап: Сомневаюсь. Как я уже говорил, Си++ уже пережил пик своей популярности, и ни одна здравомыслящая компания теперь не начнет на нем проект без пробной попытки. Если же нет, она всего лишь получит то, чего заслуживает... А знаете, я пробовал убедить Денниса Ричи переписать Unix на Си++...

Корреспондент: О, Господи! И что же он ответил?
Страустрап: Ну, к счастью, чувство юмора ему не изменило. Подозреваю, что они с Брайаном с первых же дней поняли, что я затеял, но вида ни разу не показали. Деннис сказал, что поможет мне переписать на Си++ DOS, если мне захочется...

Корреспондент: И вам захотелось?
Страустрап: Да. Я переписал DOS на Си++ - продемонстрирую вам результат по окончании интервью. Моя система стоит на Sparc 20 в машинном зале. На четырех процессорах летает, как ракета, занимая при этом всего 70 мегабайт на диске...

Корреспондент: А на что она похожа на персональном компьютере?
Страустрап: Теперь уже вы шутите. Разве вы никогда не видели Windows 95? Я считаю эту систему своим крупнейшим успехом. Правда, она чуть не испортила до срока всю шутку...

Корреспондент: Знаете, идея Unix++ действительно меня увлекла. Представьте себе, что где-то есть человек, вполне готовый приступить к ее осуществлению...
Страустрап: Только не после того, как он прочтет это интервью...

Корреспондент: Простите, но не думаю, чтобы мы смогли опубликовать что-либо из того...
Страустрап: Но ведь это история столетия! Я всего только хочу оставить о себе добрую память у коллег-программистов, потому что все было сделано ради них. Знаете, сколько можно сегодня заработать, программируя на Си++?

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

Корреспондент: Вы хотите сказать, что не любили его раньше?
Страустрап: Просто ненавидел. Он даже выглядел топорно, вы не находите? Но вот когда начал поступать гонорар за книгу... Ну, да вы понимаете...

Корреспондент: Еще только минуту, пожалуйста. А что вы скажете о механизме ссылок? Вы должны признать, что улучшили указатели Си...
Страустрап: Х-мм. Меня этот вопрос всегда занимал. Поначалу я думал, что да, улучшил. Потом, однажды я обсуждал этот вопрос с парнем, который писал на Си++ с самого начала. Он сказал, что никогда не может запомнить, представляет ли его переменная ссылку или действительное значение, а потому пользуется указателями. Он говорил, что маленькая звездочка всегда служит ему напоминанием...

Корреспондент: Пришел момент, когда я обычно говорю "большое вам спасибо", но эта фраза едва ли уместна сейчас...
Страустрап: Обещайте мне, что опубликуете интервью. В последние дни меня стала тревожить совесть...

Корреспондент: Я вам сообщу, хотя, кажется, знаю наперед, что скажет мой редактор...
Страустрап: Все равно, никто мне не поверит. Не могли бы вы хотя бы прислать копию интервью с диктофонной ленты?

Корреспондент: Это я могу сделать...

Евгений Щербатюк

© Компьютерная газета

полезные ссылки
Оффшорные банковские счета