412 000 произведений, 108 200 авторов.

Электронная библиотека книг » Аркадий Частиков » Архитекторы компьютерного мира » Текст книги (страница 23)
Архитекторы компьютерного мира
  • Текст добавлен: 20 сентября 2016, 19:36

Текст книги "Архитекторы компьютерного мира"


Автор книги: Аркадий Частиков



сообщить о нарушении

Текущая страница: 23 (всего у книги 30 страниц)

И далее Тейди продолжает: "Другой конек Гейтса – захватывать первые полосы газет под сообщения о многомиллионных пожертвованиях компьютеров и программного обеспечения. Откуда берутся эти миллионы? Риторический вопрос, если учесть, что себестоимость продукции Microsoft не превышает 5 % от ее розничной цены. Да и потом, какая разница – платить налоги или жертвовать на благотворительность, ведь все равно эти пожертвования выводятся из налогообложения?"

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

Питер Нортон
Популярное имя среди программистов конца XX века

Мало быть гением – неплохо родиться везучим…

Питер Нортон

Питер Нортон

Имя Питера Нортона хорошо знакомо любому, кто когда-либо работал на персональном компьютере. Автор таких известных программных продуктов, как Norton Commander, Norton Utilities, Norton Disk Doctor и многих других. На его счету целый ряд книг о персональных компьютерах, в числе которых наиболее популярные: «Внутри IBM PC», «Внутри OS/2» и «Справочник программиста».

Питер Нортон родился в 1952 году. Окончил Ридоновский колледж в Портленде, штат Орегон. Затем он поступил в Калифорнийский университет в Беркли, который закончил со степенью бакалавра по математике.

Первая встреча будущего программиста Нортона с компьютером произошла еще в ранней юности, когда он работал в страховой компании сезонным сотрудником. Питер позднее сказал, что это была любовь с первого взгляда. Свой первый компьютер – IBM PC – он приобрел, как только они появились в продаже. Питер Нортон самостоятельно и увлеченно осваивал работу с компьютером и азы программирования.

По окончании университета он работал программистом в аэрокосмической компании в Южной Калифорнии. В конце 70-х Нортон, как и многие другие специалисты, занятые в аэрокосмической промышленности, остался без работы, т. к. для отрасли наступили нелегкие времена. Стремясь свести концы с концами, Питер решил стать свободным программистом. Но заказы, которые ему приходилось выполнять, были скучными, а сама работа – утомительной. И даже приносила неприятности…

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

"…Когда в 1982 году я написал свою новую программу Unerase, позволяющую восстановить случайно стертый файл, никому, казалось, такие программы были не нужны. Но я то знал, какую ценность для меня и для моих друзей представляет написанная мной программа. Спустя некоторое время все поняли, как важно иметь возможность восстановить утерянные данные. Unerase фактически сформировала новый сектор рынка программных средств для PC, который называется рынком сервисных программ", – вспоминал Нортон.

Друзья и коллеги посоветовали Питеру продать эту программу. Так, в 1982 году Питер Нортон основал свою собственную компанию по производству программного обеспечения для персональных компьютеров – Peter Norton Computing Incorporated.

"…Вначале я все делал сам, – рассказывает Нортон. – Я распечатывал на компьютере маленькие рекламные листовки и отправлял их по адресам фирм, которые надеялся заинтересовать, сам создавал программы, переписывал их на дискетки, которые хранил дома до того, как отправить заказчику. У меня почему-то сразу была уверенность, что мои программы – это тот товар, который "пойдет".

В это время среди новых фирм были распространены две "стратегии" завоевания рынка: первая заключалась в том, что молодые фирмы сразу же пытались продемонстрировать свою солидность, выбирая себе престижное имя и снимая дорогой офис с роскошным интерьером, украшенным экзотическими растениями; вторая – фирмы выбирали себе экзальтирующие названия типа Intergalactic Western Electronics ("Межгалактическая Западная Электроника"). Питер Нортон нашел свой подход. Вот что он говорил по этому поводу: "Я хотел выбрать что-то среднее. Техника казалась слишком сложной для простого человека, непостижимой, поэтому появилась идея одушевить свои изделия, поставив за ними конкретного человека. Главной задачей было сделать так, чтобы люди чувствовали себя комфортно, работая с купленными изделиями, не ощущая при этом трудностей. Поэтому я начал с рекламы, всегда указывая в названиях изделий свое имя. Другим плюсом такого подхода было то, что человек, купивший изделие и недовольный его работой, мог обратиться за помощью к конкретному человеку, а не к 90-страничному руководству или некому мифическому, неизвестно где находящемуся офису, в котором есть консультанты".

Компания Нортона очень быстро росла. Он считал, что в то время смог добиться успеха не только благодаря уму и трудолюбию, но еще и везению.

Когда Питер Нортон создавал свое дело, на рынке уже были программы, подобные тем, что предлагал он. Но с ростом популярности IBM PC росла и популярность его "Norton Utilities". Везение заключалось в том, что машина, которую выбрал Нортон, имела большой успех на рынке.

В 1986 году компания выпустила на рынок операционную оболочку Norton Commander (NC) – ее автор – программист Джон Соча (он разработал три первых версии оболочки). С появлением NC компьютерный мир был покорен.

В 1989 году объем продаж компании составил 25 миллионов долларов. В 1990 году Peter Norton Computing Incorporaited объединилась с крупной калифорнийской компанией по производству программного обеспечения Symantec Соrр. По мнению экспертов, капитал нортоновской компании составлял на момент слияния не менее 70 миллионов долларов.

О своей концепции разработки компьютерных программ Питер Нортон рассказал во время своего визита в Москву на открытии выставки "Комтек-91" 8 апреля 1991 года: "Она состоит в ориентации на заказчика и пользователя, предугадывании рыночных тенденций, доработке программных продуктов с целью упрощения и оптимизации. Не стоит охотиться за новыми совершенными программами – гораздо проще, удобнее и действеннее разработать новую усовершенствованную версию на базе уже существующего программного продукта. Это привлекает хорошо знакомых с предыдущей версией программы пользователей".

Наиболее известные его программные продукты – это Norton Commander, Norton Utilities, Norton Disk Doctor, Norton Integrator, а также Norton Programmer's Guides – это серия из четырех одинаково действующих автоматизированных справочников по языкам программирования: ASSEMBLER, С, PASCAL и BASIC. Эти справочники примечательны тем, что работают в режиме "он-лайн" и позволяют получать всю необходимую в данный момент информацию, что гораздо удобнее, чем обращаться к справочному руководству.

Вне зависимости от того, идет ли речь о науке или бизнесе, Нортон больше всего ценит творческие способности и деловую смекалку. Теперь он – эксперт в области компьютерных технологий, журналист, автор разошедшихся миллионными тиражами книг, член Совета директоров Symantec Соrр.

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

Нортон – большой любитель искусства и науки, и в 1989 году основал Семейный фонд Нортонов "Нортон Фемили Фаундейшн", который занимается тем, что вкладывает около 1,5 млн. долларов в год в различные гуманитарные проекты. Нортон часто помогает материально и другим фондам – борьбы со СПИДом, поддержки нищих, защиты одиноких людей. (Кстати, сам Питер познакомился в свое время с женой по объявлению в журнале.) Чета Нортонов также поддерживает финансами несколько музеев США. Журнал ARTNEWS включил Нортона в список 200 известнейших коллекционеров мира.

Питер Нортон – это имя, которое вошло в компьютерную историю XX века. Это человек, который первым начал писать программы для обычных людей, стирал исходный код и спрашивал себя: "Смогу ли я вновь сделать то же самое, только еще проше, еще лучше, еще удобнее?" Порой он не находил решения, но именно эта концепция стала началом его взлета, его новацией, основой его вклада в мир программного обеспечения для персональных компьютеров.

ЭДСГЕР ДЕЙКСТРА
"Смиренный" программист

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

Эдсгер Дейкстра

Эдсгер Дейкстра

Один из тех людей, с именем которых связано превращение программирования из шаманства в науку, – Эдсгер Дейкстра. Профессиональный словарь программиста полон слов, введенных или предложенных Э. В. Дейкстрой, – «дисплей», «мертвая хватка», «семафор», «программирование с минимумом операторов go to», «структурное программирование». Однако его влияние на программирование является более всепроникающим. Ценнейший вклад Дейкстры – его стиль: подход к программированию как к высокому искусству и интеллектуальному творчеству, настойчивые требования и практическая демонстрация того, что программы должны быть с самого начала правильно составлены, а не просто отлаживаться до тех пор, пока не станут правильными; ясное понимание того, какие проблемы лежат в основе программирования. Во всех своих исследованиях Дейкстра придает большое значение простоте и изяществу математических рассуждений. При написании своих работ он создал новый стиль научных и технических сообщений, который можно описать как нечто среднее между журнальными публикациями и дружеской перепиской.

Эдсгер Вайб Дейкстра родился в Роттердаме (Голландия) в 1930 году. Его родители принадлежали к интеллигенции и были хорошо образованными людьми: отец был химиком, а мать – математиком. В 1942 году в возрасте 12 лет Дейкстра поступил в гимназию Эрасминиум – школу для особо одаренных детей, где преподавался ряд разнообразных предметов, в том числе греческий, латынь, французский, немецкий и английский языки, биология, математика и химия.

В 1945 году Дейкстра подумал, что он мог бы изучать право и, возможно, работать в качестве представителя Нидерландов в ООН. Однако, вследствие его успехов в изучении химии, математики и физики, он поступил в университет Лейдена, где решил заняться теоретической физикой. В 1951 году он посещал летнюю школу по программированию в Кембриджском университете.

Вследствие длинной череды совпадений Дейкстра официально стал программистом первым весенним утром 1952 года и был первым голландцем, начавшим заниматься этим в своей стране. Он стал работать в качестве совместителя в Математическом центре в Амстердаме. После того как он прозанимался программированием где-то около трех лет, у него состоялась важная беседа с ван Вейнгаарденом, который был тогда его руководителем в Математическом центре. Дело в том, что Дейкстра параллельно изучал теоретическую физику в Лейденском университете, но совмещать эти два занятия становилось все труднее, и ему надо было сделать выбор – либо прекратить программировать и стать настоящим физиком, либо стать… кем же? Программистом? Но разве это респектабельная профессия? Однажды Дейкстра постучал в дверь кабинета ван Вейнгаардена и, когда, несколько часов спустя, покидал его кабинет, он чувствовал себя абсолютно другим человеком. Терпеливо выслушав, что беспокоит Дейкстра, ван Вейнгаардена согласился, что в настоящее время есть не так уж много вещей, которые можно было бы отнести к дисциплине программирования, но затем он спокойно продолжал объяснять, что автоматические вычисления машины – не кратковременная мода, за ними будущее, что мы находимся у самых истоков и – как знать? – может быть, именно Дейкстра призван превратить программирование в почетную научную дисциплину. Это был поворотный момент всей жизни Эдсгера Дейкстра, и он как можно быстрее прошел все курсы, требующиеся для получения диплома в области теоретической физики, и начал заниматься программированием.

Однако одной из проблем, с которой он столкнулся, было то, что к тому времени программирование еще не было официально признано профессией. (Когда он подавал документы для регистрации брака в 1957 году, ему пришлось написать в качестве своей профессии "физик-теоретик".) Все первые автоматические электронные компьютеры были уникальными, построенными в единственном экземпляре машинами, очень громоздкими и действительно фантастическими. Поэтому несчастных программистов едва замечали. По мере того как мощность машин возросла более чем в тысячу раз, честолюбивые замыслы общества, связанные с применением этих машин, росли в той же пропорции, и именно несчастный программист обнаружил, что его работа оказалась в поле зрения между целями и средствами. Тогда, в середине 60-х годов, случилось нечто ужасное: появились компьютеры так называемого третьего поколения. Когда о таких ЭВМ было объявлено и стали известны их функциональные спецификации, многим из программистов стало не по себе; по крайней мере, такое чувство возникло у Эдсгера Дейкстра. Было естественно ожидать, что такие вычислительные машины хлынут потоком на компьютерный рынок, и следовало ожидать, что их организация будет более разумной. Но проект содержал такие серьезные ошибки, что Дейкстра почувствовал, что одним ударом прогресс в информатике был заторможен по меньшей мере лет на десять. Это была самая черная неделя во всей его профессиональной карьере. Вот, что говорил он по этому поводу: "Быть может, печальнее всего то, что после всех этих лет разочаровывающего опыта многие все еще честно верят в то, что в силу некоторого закона природы машины должны быть именно такими".

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

Когда была создана машина EDSAC в Кембридже, Дейкстра считал очень примечательным, что с самого начала понятие библиотеки подпрограмм играло центральную роль в конструкции этой машины и способе, которым она должна была использоваться. Много лет спустя в своей статье он выделяет четыре самые крупные изобретения в области программного обеспечения.

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

Третьим проектом, о котором упоминает Дейкстра, является LISP. На использовании LISP основаны многие в некотором смысле наиболее изощренные программные продукты. В шутку LISP описывался как "наиболее интеллигентный способ злоупотребления компьютером". Дейкстра считал, что подобная характеристика является большим комплиментом, поскольку она передает всю полноту освобождения: LISP помогает многим из наиболее одаренных программистов мыслить о вещах, ранее считавшихся немыслимыми.

Четвертым проектом был ALGOL-60. В то время как определение LISP до сих пор остается причудливой мешаниной из того, что язык означает, и того, как он работает, знаменитое "Сообщение об алгоритмическом языке ALGOL-60" является плодом подлинных усилий перейти на следующий уровень абстрактности и определить язык программирования способом, не зависящим от его реализации.

Это все было в прошлом. Однажды Дейкстра набросал один из вариантов будущего развития программного обеспечения. "Картина такова, что еще до завершения семидесятых мы сможем изобрести и реализовать системы такого рода, которые сейчас находятся на пределе наших возможностей программировать, и затратить на них лишь несколько процентов тех усилий, которых они требуют ныне, и, кроме того, эти системы будут практически свободными от ошибок. Такая решительная перемена за такой короткий период времени была бы революцией. Но на сколько вероятно, что эта революция произойдет? По-видимому, надо, чтобы выполнились три основных условия. Весь мир должен признать необходимость перемены; во– вторых, экономическая необходимость этой перемены должна быть достаточно сильной; и, в-третьих, эта перемена должна быть технически выполнимой". Поворотной точкой была Конференция по технике программного обеспечения в Гармише в октябре 1968 года. Эта конференция стала сенсационной, когда на ней впервые был открыто признан кризис программного обеспечения. Поэтому первое условие Дейкстра считал выполненным.

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

Первый довод состоял в том, что если программисту приходится рассматривать только программы с предсказуемым поведением, то альтернативы, из которых он выбирает, намного легче оценивать и сравнивать.

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

Третий довод основан на конструктивном подходе к проблеме правильности программы. Единственный эффективный способ значительно повысить доверие к программе – это дать убедительное доказательство правильности. Программист должен доказывать правильность программы одновременно с ее написанием.

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

В следующем доводе Дейкстра предвидел большое будущее у систематических и очень скромных языков программирования.

И последним доводом в пользу технической реализуемости революции он привел широкую применимость хорошо разложимых на компоненты решений.

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

Проф. М. Гуда и проф. Э. Дейкстра в Техническом университете Эйндховена

Многим программистам Дейкстра известен как создатель алгоритма «кратчайшего пути», предложенного им еще в 1952 году, который появился в результате его работы над задачей по оценке производительности компьютера ARCMAC, установленного в Математическом Центре. Этот алгоритм позволяет находить наилучший путь для перемещения между двумя точками. Ученый также использовал этот алгоритм для решения задачи «О нахождении оптимального пути передачи электрического тока всем существенным элементам цепи, минимизируя при этом расход меди», с которой столкнулись инженеры, разрабатывавшие ARCMAC. Он назвал этот способ «алгоритмом дерева с кратчайшими ветвями». В начале 60-х годов Дейкстра применил идею взаимного исключения к технологии связи между компьютером и его клавиатурой. Он использовал символы Р и V для представления двух операций, производимых в задаче взаимного исключения. Эта идея стала частью практически всех современных процессоров и модулей памяти, начиная с 1964 года, когда IBM впервые использовала ее в своей архитектуре IBM/360. Он помог программной индустрии стать намного более дисциплинированной, выдвинув тезис, что оператор «go to является вредным». Это означало, что чем больше в программе операторов go to, тем труднее разобраться в исходном коде программы. Эдсгер Дейкстра стоял у истоков структурного программирования. В 1972 году он вместе с Оле Далом и Тони Хоаром опубликовал основополагающую монографию «Структурное программирование».

Дейкстра продолжал работу в Математическом Центре до тех пор, пока в начале 70-х годов не перешел на работу исследователем в корпорацию Burroughs в США. В 1972 году ACM наградила Дейкстра премией Тьюринга (ACM Turing Award). В 1974 году AFIPS удостоила его памятной наградой Гарри Гуда (AFIPS Налу Goode Memorial Award). В начале 1980-х годов Дейкстра переехал в Остин, штат Техас. В 1984 году он был назначен деканом факультета компьютерных наук в Техасском университете.

Эдсгер Вайб Дейкстра является Почетным Иностранным членом Американской Академии гуманитарных, естественных и технических наук. Он также является членом Голландской королевской Академии наук, действительным членом Британского Компьютерного Общества и, наконец, доктором наук Королевского университета в Белфасте.

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

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


    Ваша оценка произведения:

Популярные книги за неделю