Краткая лекция для моих студентов о деньгах

A short talk to my students about money. EWD716.

Вам может показаться странным, что во введении к курсу лекций по вопросам реализации (implementation issues) я счёл нужным поговорить с вами о деньгах. Так я решил. Но я сделал это в ответ на появившийся тренд в том, что называют «обучением разработке ПО», тренд, который становится всё более и более модным, но — как я надеюсь показать дальше — о котором следует сожалеть, так как он сбивает с толку.

Текущий аргумент системы образования, выпаренный до сухого остатка, состоит, более или менее, в следующем. Поскольку разработчик ПО, получивший академическое образование, (что бы под этим ни подразумевалось) должен брать ответственность за большие проекты и большие проекты требуют менеджмента, будущий разработчик ПО должен научиться управлять проектом в реальной обстановке. Поскольку обстановку регулируют графики, бюджеты и тому подобное, разработчик ПО должен, таким образом, детально вникнуть в то, как графики, бюджеты и тому подобное регулируют и организуют обстановку, в которой он будет выполнять свою работу. Вывод очевиден: одним из главных столпов, на которых должно стоять резюме любого разработчика ПО, является наука менеджмента. Я открыл для себя, что для многих этот «вывод» является символом веры в такой степени, что просто сомневаться в нём считается актом ереси, который может предпринять только сумасшедший, который напрашивающийся на изгнание из общества. Но действовать, как этот сумасшедший, — предназначение учёного, поэтому продолжим.

Одна из исходных посылок касается роли, которую должны исполнять университеты: считается, что для всеобщего блага кампус должен готовить студентов к будущей жизни, знакомя их, пока они ещё в кампусе, с внешним миром, в который он должен встроиться после того, как получит диплом. Это точка зрения. Иногда я боюсь, что через несколько лет она станет единственной точкой зрения, которая разрешена в нашей стране. Это не моя точка зрения. Давайте послушаем, для сравнения, что может сказать историк из Кембриджа Дж. Р. Элтон по поводу того, как учить его предмету, потому что я думаю, что его замечание относится в равной степени как к истории, так и к другим темам:

Три или четыре года, проведённые в университете, не могут научить человека знанию истории, они не могут сделать из него политика, публициста или издателя, они могут, в лучшем случае, заложить фундамент для взгляда на мир и (учитывая реальные университеты) заложат такой фундамент, который, как показывает опыт, придётся сломать. Это не повод обвинять их: не надо пытаться сделать невозможное. Но если эти годы не выработают рассуждающий ум, если они не научат человека думать лучше, чем он думал бы сам по себе, их можно справедливо осудить как пустую трату времени.

(Из Elton, G. R., «The Practice of History», Sydney University Press, 1967.)

Другая исходная посылка состоит в том, что нечто, называемое наукой менеджмента и стоящее этого имени, на самом деле существует. Я лично такое не встречал.

* * *

Я предоставляю вам решать, по какому принципу вы упорядочиваете свои впечатления и воспоминания. Возможно, вы привыкли интерпретировать каждый случай как проявление божьей воли; или вы предпочитаете описывать перемены как игру власти; может быть, вы классифицируете ваши впечатления как феномены, связанные со взлётом и падением идей; возможно, вы видите в основном лишь круговорот денег. Я не посягаю на вашу свободу: с моей точки зрения, ни один из принципов не является «более истинным», чем другие. Но я воспользуюсь возможностью заметить, что для некоторых целей некоторые из них полезнее других, и даже те принципы упорядочения были приняты несмотря на факт, что они почти всегда запутывают.

В общем, деньги являются одним из них. Я не исключаю, что это понятие является полезным для кого-то, «кто досконально разбирается в деньгах», но я должен добавить, что я ни разу не встречал такого человека. В общем, как я уже сказал, финансовые соображения запутаны в своей основе. Этому не следует удивляться, никого не следует в этом обвинять: деньги — настолько же абстрактное и скользкое понятие, насколько монеты — конкретное и осязаемое.

Очевидно, что деньги используются как средство учёта взаимных прав и обязанностей. Это напоминает нам, учёным-информатикам, об абсолютно важной роли неотрицательных целых чисел (в этом контексте известных как «семафоры»), когда нужно организовать взаимодействие между слабо связанными процессами. Представление целого значения соответствующим количеством предметов — скажем: количеством монет в кармане — допускает, по самой природе этого представления, только неотрицательные значения, и, будучи информатиком, я искренне хочу «понять», каким образом, с момента их изобретения, монеты играли некоторую роль в регулировании. Когда нам объясняют, что монетарный крах 1929 года был спровоцирован практически неограниченными кредитами, мы почти согласны принять это объяснение: будучи информатиками, мы слишком хорошо знаем, что значение семафора должно быть строго ограничено снизу, чтобы он выполнял своё предназначение. Такая аналогия даёт нам основания оценивать в общих чертах роль денег положительно, но это всё. Поэтому позвольте мне привести два примера, как из-за недостаточно тонкого понимания денег финансовые соображения могут сбить разработчика с толку. Я наблюдал оба в середине семидесятых.

Я слушал курс лекций о проектировании аппаратного обеспечения. Один из лекторов пытался объяснить нам, что, благодаря быстрому развитию технологии, проектирование аппаратного обеспечения стало трудным до невозможности. После расспросов проблема лектора стала понятной: когда перед ним стоял выбор из разных архитектур, он обычно выбирал самый дешёвый, но этот образ действий подразумевал, что он может определить стоимость рассматриваемой архитектуры с достаточной точностью. И сейчас он обнаружил, в своему смятению, что изменение технологии сделало «будущие значения коэффициентов в уравнении цены» непредсказуемыми. Бедняга потерял свой единственный руководящий принцип и не знал, как проектировать дальше!

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

Как видите, это требует решения двух совершенно разных вопросов. Один вопрос приблизительно звучит: «Имея такую-то установку, какой способ предоставить такую-то услугу является наилучшим, и насколько хорош этот оптимальный способ?» (Ради примера я немного упростил этот вопрос, сделав вид, что понятия «наилучший» и «оптимальный» достаточно точно определены.) Другой вопрос, в той же степени приблизительно, звучит: «Зная стоимости различных возможных установок, оптимальная служба какой установки приносит наибольшую пользу за её деньги?»

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

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

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

Тот факт, что эти два вопроса можно разделить, более важен, чем — как может статься — что их может решать один и тот же человек.

1 октября 1979 года
prof. dr. Эдсгер Вибе Дейкстра

Расшифровка: Tristram Brelstaff.
Откорректирован 12 июня 2004 года.