Буч

Он - главный архитектор современного программирования. Но в то же время, он - смиренный, тихий, глубоко религиозный человек. Он готов как сумасшедший гонять на джипе по африканской саванне в погоне за острыми ощущениями. Но, сидя дома, он может все выходные провести, стругая, выпиливая, вырисовывая что-нибудь. Его обычное состояние - чтение. Читает он всегда и везде. Но при этом успевает выкраивать время для создания непревзойденных бестселлеров программистской мысли. Он - выдающаяся личность. Он - средний американец. Он - суровый пуританин. Он - неугомонный мальчишка. Он - один из самых преуспевающих программистов в мире. Он очень скромно оценивает свои заслуги и достижения. Писать о нем трудно, потому что постоянно хочется его цитировать.  

Автор: Евгений Финкель

Сайт: Герои нашего племени


Статья: Грэди Буч, великий и ужасный



Грэди Буч. Если Вы что-нибудь слышали про ООП (но не "Организацию Освобождения Палестины", а "Объектно-Ориентированное Программирование"), то это имя говорит Вам многое. Помните "нотацию Буча"? "Метод Буча" еще не забыли? А про корпорацию Rational Software (www.rational.com) когда-нибудь слышали? Ту самую, в недрах которой зародился универсальный язык визуального моделирования всех времен и народов - UML. Именно Буча принято считать верховным творцом этого "компьютерного эсперанто". В современном программистском сообществе его почитают как Небожителя ©1. Многое из созданного им давно стало каноном высокого искусства программирования. Его книги изучают как Книги Пророков. Его именем пугают малых детей, которые плохо учатся. Впечатление от фигуры самого ГБ усиливается постоянным присутствием рядом с ним двух других "сильных" фигур - Ивара Якобсона и Джима Рамбо. Иногда их называют "неразлучными тремя друзьями"*. Бывает, что двух последних именуют "апостолами". Все просят его: "Учитель, скажите, как нам быть?" И он говорит: "Будьте проще".

Он - главный архитектор современного программирования (О! Наконец-то удалось приклеить некий ярлык). Но в то же время, он - смиренный, тихий, глубоко религиозный человек. Он готов как сумасшедший гонять на джипе по африканской саванне в погоне за острыми ощущениями. Но, сидя дома, он может все выходные провести, стругая, выпиливая, вырисовывая что-нибудь. Его обычное состояние - чтение. Читает он всегда и везде. Но при этом успевает выкраивать время для создания непревзойденных бестселлеров программистской мысли. Он - выдающаяся личность. Он - средний американец. Он - суровый пуританин. Он - неугомонный мальчишка. Он - один из самых преуспевающих программистов в мире. Он очень скромно оценивает свои заслуги и достижения. Писать о нем трудно, потому что постоянно хочется его цитировать.

Я задумал написать статью о Грэди еще в 1999 году. Но почти ничего не смог найти. Какие-то сухие биографические данные в Интернете и приводящая в уныние монотонная осанна из уст коллег-программистов. Предисловия к книгам крайне скупы. Не оставалось ничего другого, как обратиться напрямую непосредственно к самому виновнику торжества со словами типа: "Вы - следующая жертва моего пера, до Вас уже пострадали Гейтс, Нортон, Хьюлетт с Паккардом и прочие, теперь настал Ваш черёд. Сделайте милость, избавьте меня от необходимости писать о том, что в детстве Вы не признавали мужского общества, но при этом любили наряжаться в пижаму своего отца". Ответ не заставил ждать. Для человека состоятельного и известного имидж - всё. Мистер Буч охотно поделился со мной опубликованной ранее в американских СМИ информацией о себе и любезно согласился ответить на ряд дополнительных вопросов, "буде сии возникнут". За вопросами, само собой, дело не стало. Буч пообещал в скорости прислать ответы и затих на несколько месяцев. Расстроившись, я прервал серию "Герои нашего племени" и занялся другими насущными делами. Но в мае неожиданно пришел ответ от Грэди.

Повлиял ли столь долгий перерыв или неумение держаться в строгих рамках избранного жанра, не знаю, но на сей раз я решил изобразить портрет в виде инсталляции неких слабо взаимодействующих тел: био-бульонного кубика, сладких фрагментов своих и чужих интервью, приправленных горчащими цитатами из апокрифического текста "The Booch Bible". Итак, приступим.

Здесь и далее участвуют следующие виртуальные персонажи:

ГБ - Грэди Буч (Grady Booch) - герой нашего повествования,

ГЧ - Гик Чик (Geek Chik) - культовый компьютерный обозреватель,

ГА - Гари Антес (Gary Anthes) - главный редактор Computer World,

ЕФ - Евгений Финкель (Evgeny Finkel) - Ваш покорный слуга.

ЕФ: Несколько слов о Ваших родителях. Оправдали ли Вы их надежды?

ГБ: Надеюсь, что оправдал. Мой отец умер через год после моей женитьбы (в 1978), я еще не успел заняться профессиональной карьерой. Но за год до того я закончил Академию ВВС, и он безумно гордился мною.

ЕФ: Нарисуйте модель Вашей семьи (имелась в виду UML-модель - прим. ЕФ).

ГБ: Я женат, детей нет (зато имеются в наличии три кота). Моя мама живет в Алабаме с моей сестрой, ее мужем и моим племянником. Я ничего толком не знаю о своих корнях. Мне известно лишь, что предки - выходцы из Германии. На самом деле, у нас довольно обширное семейство. Мы с Джен - крестные родители шестерых детей. Плюс есть несколько по-настоящему близких друзей.

ЕФ: Ваше самое раннее детское воспоминание?

ГБ: Я помню, как мы с отцом мастерили модель поезда в его слесарной мастерской.

ЕФ: О какой профессии для себя Вы мечтали в детстве?

ГБ: Я всегда хотел заниматься компьютерами. Свой первый компьютер я собрал в 13 лет. Уже тогда это было моей страстью.

ГЧ: Кто для Вас образец для подражания?

ГБ: Кто угодно, кому удается жить полной жизнью.

ЕФ: Традиционный сценарий Вашего дня рождения? Самый памятный подарок из полученных Вами к этому дню?

ГБ: Обычно мы с женой на этот день планируем поездку куда-нибудь поближе к теплому морю. Если говорить о подарках: На 30-летие моя супруга вытрясла из моих друзей и коллег ворох пожеланий, которые она собрала в единый том и вручила мне. Я им очень дорожу.

ГЧ: Как вообще Вы проводите свободное время?

ГБ: Читаю. Мы с женой - ненасытные читатели. За хорошую неделю я прочитываю добрый десяток книг. В отпуск обязательно куда-нибудь всей семьей выбираемся. Люблю Лондон. Часто греемся на пляжах Австралии. В нашем списке африканские сафари, греческие острова, горы Аляски, Израиль. Люблю послушать музыку. Порой аккомпанирую сам себе, я неплохо пою и играю на гитаре, кельтской арфе, фортепьяно и флейте. Иногда мастерим вместе с женой каучуковых кукол. Вот только что закончили эдакого симпатичного божка. Бывает, еще с приятелем строим модельки поездов. Люблю тихие домашние развлечения: повозиться в саду, сыграть партию в бридж. Случается, выбираемся в театр.

ЕФ: Любимые школьные науки? Учителя?

ГБ: В 7-м классе наш математик, что называется, взял меня под крыло. Он пичкал меня после занятий математическими загадками и разнообразными вычислениями. Именно он привил во мне любовь к науке вообще и к исследовательскому процессу в частности.

ЕФ: Было ли у Вас какое-нибудь школьное или домашнее прозвище?

ГБ: Никаких кличек. Никогда.

ЕФ: Кто из университетских преподавателей оказал на Вас особое влияние?

ГБ: Полковник Джордж Вальтер. Он был моим наставником в Академии. Он научил меня многому. Абстрактному мышлению, "красивому" программированию. Кроме того, он помог мне понять, как объединить мою Веру и мою Науку.

ГЧ: Какую музыку Вы обычно слушаете?

ГБ: Инструментальную музыку эпох Ренессанса и Раннего Христианства.

ГЧ: Ваша любимая книга (или писатель)?

ГБ: Трудно ответить, я обычно читаю по паре книг одновременно. Вот только что дочитал "Красного карлика" и "Божественную историю" (фантастический роман Гранта Нейлора и книга Карен Армстронг об иудаизме, христианстве и исламе, - прим. ЕФ). А из любимого, пожалуй: "Годель, Эшер, Бах" Дуга Хофстадтера, "Атлас пожал плечами" Эйна Ранда, "Суть Христианства" Льюиса.

ГЧ: Любимый кинофильм? Актеры?

ГБ: "Касабланка". Чаплин, конечно, братья Маркс, Лоурел и Гарди, и прочие из той же серии. А ещё я испытываю болезненную страсть к романтическим комедиям.

ГЧ: Любимый вид спорта?

ГБ: Большой теннис.

ГЧ: Что за автомобиль у Вас?

ГБ: Ford Bronco II 4х4.

ГЧ: Ваши любимые блюда?

ГБ: Суши. Морской ёж. Вообще я - гурман, продвинутый едок, так сказать. Я перепробовал всё от утиного языка до рыбного желе с приправой из морского огурца.

ГЧ: Ваша обычная рабочая форма одежды?

ГБ: Ничего обязательного. Никаких "пальто, шляпа, галстук". Прямо сейчас на мне полосатая майка и слаксы. Мне это так же фиолетово, как и цвет моей подписи. Одна беда, теперь в доме есть видеофон, поэтому я вынужден следить за тем, чтобы быть прикрытым хотя бы до талии.

ГЧ: В какой из групп новостей Вас проще всего найти?

ГБ: Comp.object.

ГЧ: Ваша любимая веб-страница (помимо www.geekchik.com:-)?

ГБ: Боюсь, не буду оригинален. Давайте просто глянем в bookmarks: www.apple.com, www.ibm.com, www.microsoft.com, www.rational.com, www.robotstore.com, www.activemedia.com, www.christusrex.org, www.intellicast.com, www.yahoo.com, ну и так далее, в том же духе.

ГЧ: Какой язык программирования Вы предпочитаете всем прочим?

ГБ: С++.

ГЧ: В какой операционной системе Вы работаете?

ГБ: MacOS.

ГА: Что отличает хорошего программиста от программиста посредственного?

ГБ: Способность одновременно мыслить на нескольких уровнях абстракции.

ГА: Почему зачастую программисты предпочитают не заниматься поисками оптимальной методологии?

ГБ: Ну, не научили их этому в университетах. А потом, кто думает о методологии в пылу баталий с любимым боссом?

ГА: Так ли уж важно следить за изящностью программного кода?

ГБ: Вы можете, будучи мастером своего дела, построить на одном дыхании удобную конуру. Но одного мастерства недостаточно при возведении высотного здания. Меня больше интересует всегда изящность архитектуры, а не изящность алгоритма. Архитектура должна быть простой и эластичной. Чем в большей степени используются стандартные образцы, тем лучше.

ЕФ: Что есть UML в Вашем понимании? Просто распространенная аббревиатура (как USA или BTW)? Новая философия? Не более, чем удобный инструмент? Правила хорошего тона? Прокрустово ложе? Панацея?

ГБ: UML - язык для проектирования программного обеспечения. Это своего рода собрание лучших из известных методик комплексного создания программных систем. UML - язык архитектуры программ. Всё.