Фредерик П. Брукс

Вид материалаДокументы
Состояние и будущее программной инженерии
Подобный материал:
1   ...   40   41   42   43   44   45   46   47   48

Состояние и будущее программной инженерии


Однажды я попросил Джима Феррелла (Jim Ferrell), председателя химико-технологического факультета университета штата Северная Каролина поведать оразвитии химических технологий вне связи с химией, на что он экспромтомвыдал мне замечательный рассказ, продолжавшийся час, начиная ссуществовавших с античных времен различных производственных процессов длямногих продуктов - от стали до хлеба и парфюмерных изделий. Он рассказал,как профессор Артур Д. Литтл (Arthur D. Little) в 1918 году основал в МТИфакультет прикладной химии для исследования, разработки и обучения общимфундаментальным технологиям всех процессов. Сначала были практическиеправила, затем эмпирические номограммы, затем рецепты проектированияотдельных компонентов, затем математические модели распространения тепла,масс, количества движения в отдельных емкостях.

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

Тем не менее характер и временные рамки развития химической технологииприводят меня к мысли, что программная инженерия в возрасте 27 лет нестолько безнадежна, сколько является незрелой, какой химическаяпромышленность была в 1945 году. Лишь после Второй мировой войныхимики-технологи реально обратились к взаимосвязанным поточным системам сзамкнутым циклом.

Сегодня характерные задачи программной инженерии звучат точно так же,как они изложены в главе 1:

- Как проектировать и строить программы, образующие системы.

- Как проектировать и строить программы и системы, являющиеся надежным,отлаженным, документированным и сопровождаемым продуктом.

- Как осуществлять интеллектуальный контроль в условиях большойсложности.

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

Эпилог Пятьдесят лет удивления, восхищения и радостиВ моей памяти все еще живы удивление и восторг, с которым я - мне тогда было 13 лет – читал отчет от 7 августа 1944 года об освящении компьютера Mark I, архитектором которого был Говард Айкен (Howard Aiken), а проектировщиками - инженеры КлерЛейк (Clair D. Lake), Бенджамин Дурфи (B. M. Durfee) и Фрэнсис Гамильтон (F.E. Hamilton). Такой же вызывающей ощущение чуда была статья Ванневара Буша(Vannevar Bush) "That We May Think" в апрельском 1945 года номере "AtlanticMonthly", в которой он предложил организовать знания в виде огромной гипертекстовой паутины и обеспечить пользователей машинами для переходов посуществующим ссылкам и создания новых ассоциативных следов.

Новый толчок моя страсть к компьютерам получила в 1952 году, когда, работая летом на IBM в Эдинкоте, штат Нью-Йорк, я получил практический опыт программирования для IBM 604 и формальное обучение программированию для IBM701, их первой машины с хранимой программой. Аспирантура у Айкена и Иверсона в Гарварде сделала реальностью мои мечты о профессии, и я связал с ней всю свою жизнь. Немногим Бог дает право зарабатывать на жизнь тем, чем они с радостью занимались бы по собственной воле, по увлечению. Я благодарен судьбе.

Для человека, влюбленного в компьютеры, трудно было бы придумать иное время, когда так радостно было жить. От механических устройств до вакуумных ламп, транзисторов и интегральных схем шло бурное развитие технологии. Первый компьютер, на котором я работал сразу после выпуска из Гарварда, был суперкомпьютер IBM Stretch. Этот компьютер царствовал над миром как самый быстрый с 1961 по 1964 годы; было изготовлено 9 экземпляров. Мой сегодняшний Macintosh Powerbook не только быстрее, с большей памятью и большим диском, но и в тысячу раз дешевле (в пять тысяч раз дешевле с учетом инфляции). Мы были свидетелями того, как поочередно произошли компьютерная революция, революция электронных компьютеров, революция миникомпьютеров и революция микрокомпьютеров, в результате каждой из которых компьютеров становилось на порядки больше.

Область связанных с компьютерами знаний претерпела взрыв, как исоответствующая технология. Будучи аспирантом в середине 50-х, я мог прочесть все журналы и труды конференций. Я мог оставаться на современном уровне во всей научной дисциплине. Сегодня же мне в моей интеллектуальной жизни приходится с сожалением расставаться с интересами то в одной, то в другой подобласти, поскольку количество документов превысило всякую возможность справиться с ними. Масса интересов, масса замечательных возможностей для учебы, исследований, размышлений. Чудесное затруднение! Не только конца не видно, но и шаг не замедляется. В будущем нас ожидают многие радости.