Читаем Кодеры за работой полностью

Стил: И то и другое. Кнут замечательно умеет рассказывать о коде. Можно целый день читать «Искусство программирования», погружаться в алгоритмы. Он объясняет вам их, показывает, как их можно использовать, дает упражнения, и создается ощущение, что вас увлекают в интересное путешествие. И попутно показывают вам очень занятные вещи. Если пробираться через код ТеХ, ощущения сходные. Я много чего понял о программировании. Одни куски кода вполне обычны, порой даже поверхностны. А при виде других говоришь себе: «Даже не подозревал, что можно сделать так». Есть и то, и то.

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

Стил:

Да. В комитете по разработке Common Lisp мы часами обсуждали конец строки, чтобы добиться совместимости с UNIX, где есть только символ перевода строки, и с системами PDP-10, где используется CR LF. Надо было приспособить перевод строки для обоих систем. Настоящий кошмар.

Сейбел: Что можно посоветовать читателям этой книги, тем, кто будет писать программы будущего, чтобы избежать этих проблем? Можем ли мы быть умнее наших предшественников? Или все это — неизбежное следствие эволюции программирования?

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

10. Дэн Ингаллс

Если Алан Кэй — отец языка Smalltalk, то Дэн Ингаллс — его мать: может, идея Smalltalk и блеснула Алану Кэю, но именно Ингаллс немало потрудился, чтобы явить его миру. Начав с первой реализации Smalltalk, написанной на Бейсике на основе одной страницы заметок Кэя, Ингаллс участвовал в реализации семи поколений Smalltalk — от первого прототипа до нынешней версии с открытым исходным кодом — Squeak.

Физик по образованию, Ингаллс начал программировать на Фортране, зарабатывал на продаже профилировщика, который написал еще в школе, и со временем оказался в Xerox PARC, где присоединился к Кэю и его группе исследования обучения, которая создала Smalltalk и исследовала применение компьютеров в обучении детей.

Работая в PARC, Ингаллс также придумал BitBIt — операцию, используемую в растровой графике, и запрограммировал ее в виде микрокода для компьютера PARC Alto, обеспечив ускоренную обработку растровой графики, благодаря чему стали возможны такие новшества пользовательского интерфейса, как всплывающие меню, которые сейчас кажутся нам совершенно обыденными. (На одной из первых внутренних демонстраций системы Smalltalk всплывающее меню так впечатлило Питера Дойча — интервью с ним в следующей главе, — что он вскочил и закричал: «Ты и правда сделал это — или мне показалось?»)

Ныне Ингаллс, выдающийся инженер Sun Microsystems, работает над Lively Kernel — программной средой типа Smalltalk, которая полностью выполняется в браузере с использованием JavaScript и предоставляемой браузером графики. За работу над Smalltalk он получил от Ассоциации вычислительной техники в 1984 году премию имени Грейс Мюррей Хоппер, а в 1987 году — премию ACM Software System Award. В 2002 году был удостоен награды Dr. Dobb's Excellence in Programming Award.

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


Сейбел: Для начала: как вы пришли в программирование?

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

Сейбел: Когда это было?

Ингаллс: Я учился в Гарварде с 1962 по 1966 год. Программирование изучал по двум направлениям: курс Фортрана и курс по аналоговым компьютерам. В подвале одного из корпусов была отличная лаборатория, занимающаяся аналоговыми компьютерами, где приходилось думать совершенно иначе: вот большая коммутационная панель и куча схем — интеграторов, дифференциаторов, которые нужно связать воедино, чтобы решать все задачи в реальном времени. Но все начиналось с Фортрана, который я полюбил сразу же. Я все пытался понять, можно ли сделать программы короче и все такое.

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

Все книги серии Профессионально

Кодеры за работой
Кодеры за работой

Программисты — люди не очень публичные, многие работают поодиночке или в небольших группах. Причем самая важная и интересная часть их работы никому не видна, потому что происходит у них в голове. Питер Сейбел, писатель-программист, снимает покров таинственности с этой профессии. Он взял интервью у 15 величайших профессионалов: Кена Томпсона, создателя UNIX, Верни Козелла, участника первой реализации сети ARPANET, Дональда Кнута, Гая Стила, Саймона Пейтон-Джонса, Питера Норвига, Джошуа Блоха, Брэда Фицпатрика, создателя Живого Журнала, и других. Все они «подсели» на программирование еще в школе. Тогда, на заре зарождения отрасли, лишь в немногих учебных заведениях читались курсы по компьютерным наукам. Поэтому будущим гуру приходилось покорять профессиональные вершины самостоятельно, но всех их отличает творческое горение и полная самоотдача любимому делу.Вы узнаете, что они думают о будущем программирования и как сами научились программировать, как, по их мнению, нужно проектировать ПО, как выбор языка программирования влияет на продуктивность и можно ли облегчить выявление труднонаходимых ошибок.

Питер Сейбел

Биографии и Мемуары / Программирование / Прочая компьютерная литература / Документальное / Книги по IT
Человеческий фактор
Человеческий фактор

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

Тимоти Листер , Том ДеМарко

Деловая литература
97 этюдов для программистов. Опыт ведущих экспертов
97 этюдов для программистов. Опыт ведущих экспертов

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

Пит Гудлиф

Программирование, программы, базы данных

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