Если его устраивают предлагаемые возможности пакета, он просто воспользуется ими. Но его не остановит ситуация, которая поставит пользователя в тупик, — ситуация, когда этих возможностей недостаточно. Тогда он создаст возможность, а для этого ему понадобится спуститься на уровень ниже, от клика мыши к макросу, от существующего набора объектов к тому или иному инструментальному языку — С++ или Java. Но самым важным шагом является именно переход от графического интерфейса к формальному языку. Это — инициация.
Не все возможности языка можно реализовать с помощью сколь угодно изощренного графического интерфейса. Необходимо помнить, что разница между конструкцией языка (например, вложенными операторами “если”) и вызовами любой последовательности функций пакета из выпадающего меню очень близка к разнице между использованием переменных и наборов констант. Язык гибок и почти неограниченно изменчив. Он описывает через свои конструкции бесконечно много вариантов. А меню — меню и есть. Его, конечно, можно поменять, например расширить, но для этого нужно как раз опуститься на более низкий уровень, то есть понять, что и как мы присоединяем к работающей программе.
Если мы работаем с естественным языком, одни слова — глубоко содержательные объекты — объясняются с помощью других слов — таких же содержательных объектов. Интерпретаций бесконечно много, и полной определенности и однозначности все равно нельзя добиться. Если мы работаем с языком формальным, у этой лестницы спуска к языкам все более низкого уровня есть точная нижняя грань — это ассемблер, чьи команды реализованы в “железе”. Этим формальный язык принципиально отличен от естественного. В этом-то и есть его “плодотворная односторонность” (выражение Лидии Гинзбург).
Программист — это прежде всего человек, который чувствует себя свободно в формальном пространстве, человек, который оперирует однозначно определенными объектами. Этим он отличается, например, от писателя или даже от лингвиста, пытающегося построить формальную схему естественного языка. Лингвист строит формальную схему, но описывает ее неформально и прилагает к неформальному объекту. А программист начинает и заканчивает формальными конструкциями.
И оказывается, что формальный мир обладает своей глубокой красотой. Ее очень непросто почувствовать. Чтобы это произошло, необходимо отнестись к программе как к самостоятельной ценности и цельности, а не как к одному из модулей в огромном пакете. Но делать это необходимо, чтобы добиться от программы последней завершенности и чистоты. Ершов пишет: “...очень важным эстетическим принципом программирования является его высочайшая требовательность к законченности продукта. Конечно, это характерно для многих инженерных профессий. Однако программирование и здесь идет дальше. Хотя в мультимодульных программных конгломератах это свойство почти исчезает, на уровне индивидуальной работы всегда существует поразительный контраст между почти сделанной и полностью сделанной работой. Эта стопроцентность программирования — источник его трудности и в то же время глубочайшего удовлетворения работающей программой”.
Когда приходит ощущение завершенности работы над модулем? Можно ответить — никогда не приходит, и это не так далеко от истины. Но есть моменты, когда программист видит, что “Это — хорошо”. Это ощущение и есть ощущение законченной работы. Ни целесообразность, ни отсутствие ошибок при систематическом тестировании, ни верность интерфейсным соглашениям этого ощущения не дают. Ощущение того, что программа завершена, дает только чувство красоты.
Я очень хорошо помню свои чувства, которые испытал, когда заработала моя первая программа и на экране появились первые сообщения и запросы. Это был ни с чем не сравнимый восторг. Первая мысль: “Она все это делает сама”, и тут же другая: “Это я ее всему научил”.
Ощущение самостоятельности созданного тобой, его свободы и независимости от создателя — это чувство кажется мне самым важным, которое может пережить программист. Это — творчество.
МЫСЛИ В ПУТИ
Дмитрий Бавильский (Голубое сало)
Фрукт — яблоко. Поэт — Пушкин. Журнал — “Новый мир”. Так с детства повелось. “Новый мир” существовал всегда. Как бабушка. Как то, что приходит до твоего рождения, а потом сопровождает тебя по жизни. Книжки журнала лежали в родительской спальне на прикроватной тумбочке. Всегда. Доставались из узкого почтового ящика с четырьмя дырочками. Отец подписывался на “Новый мир” в своей больнице. Подписная карточка была заполнена аккуратным (не его докторским) почерком. Потому что “по разнарядке”, потому что дефицит. Вечером — мама, перед сном, с журнальной книжкой. При свете ночника. Шторы, тени. Черемуха палисадника за окном. Или на дачном подоконнике. Теплый летний ливень, помидоры цветут, к вечеру особенно громко пахнет мелисса.
“Новый мир” странный, загадочный. В нем нет картинок. Только буквы, буквы… Много букв. Быть взрослым — это не водку пить, а “Новый мир” читать. “Голос Америки” слушать вечерами у “Ригонды”. Быть взрослым — это сидеть, закидывая ногу на ногу. Скрещивать руки на груди. Иметь собственные суждения. “Новый мир” — другая, пока еще не моя, непонятная жизнь. Непредсказуем, как Нобелевская премия. Скромная обложка. Пепельная бумага. Мягкий переплет. Предмет непонятного назначения, обладающий удивительной притягательной силой. Уже как объект. Приятная плотность. Аристократическая скромность. Запах этот сладковатый… Вещь в себе. Многие мудрости, многие тайны.
Позже придут другие журналы. Кругозор расширяется постоянно, горизонт отодвигается. Но “Новый мир” остается неизменным центром. Становой хребет. Уральские горы. Не знаю, как объяснить. Художник и верстальщики, видимо, нашли абсолют соединения текста и материального его воплощения. Именно тот шрифт. Шрифты. Именно этот заголовочный комплекс. Да, такие вот заглавные буквы, “фонари” с лычкой посредине. Точно такая буква “о”, или сноски, или петит. Эйдос бытования произведения. Феноменологическая редукция: текст как он есть. Голый, очищенный от всего, так? Сочиняя теперь статью или роман, мысленным взором прикидываешь (кладешь) еще не написанный текст на эти шрифты, на эту бумагу “книго-журнальную”, и текст начинает звучать, жить. Обретает умозрительное, но виноградное мясо. Дело не в престиже. Дело не в тщеславии. Дело в онтологии. Высокая печать. Цена договорная.
Я помню, как начал курить. Таскал сигареты “Золотое руно” из шкафчика на кухне. С неясной целью. Стать старше? Быть как все? Я не помню, как начал читать “Новый мир”. С какого места. Так момент перехода в сон никогда не бывает четким. Все тексты слились в один бесконечный текст. “Жизнь по заводскому гудку” в памяти рядом с “Круглые сутки нон-стоп”. Дело не в содержании. Для меня всегда дело было в форме. Серо-белая взлетная полоса. Бледные поля. Отбивки разделов. Отточия. Анонсы и ожидание их овеществления. “Продолжение следует”. Цифры страниц наверху. Снежинка перед Summary . Однажды ты понимаешь, что это стало и твоей судьбой. И твоей судьбой тоже. Вытаскиваешь из почтового ящика с четырьмя дырочками, по-деловому пробегаешь оглавление, углубляешься внутрь. “Факультет ненужных вещей”.
Для меня прозаический отдел “Нового мира” начался с переводных романов. Редко, но метко. Они такие плотные. Тромбы такие. У них и шрифты мельче. Габриэль Гарсиа Маркес. Уильям Стайрон. Роберт Пенн Уоррен. Помню, на первой странице “Потопа” так поразило обилие “о” (начиная с имени автора и заголовка), что закрасил все буковки “о” фломастером. Так и осталось.
Тайн больше нет. Мир потерял объем. Стал плоским. Мой “Новый мир” — со смещенным центром тяжести. Интерес располагается ближе к финалу. Во второй части. Там, где статьи, критика. Там, где петит. Где “служебные жанры”. Они меньше. Их читать быстрее. Расставляя галочки. И они живее, эмоциональнее. Быстрее въезжаешь. Четче насыщаешься. К роману еще нужно найти силы приступить. Стихи почти всегда пробегаются поверх очков.
Отдельная песня — “Новый мир” в моей армии. 1987 — 1989. Это называлось “Ленинский призыв”: нас забрали после первого курса. Всех. “Пушкинский дом”. “Доктор Живаго”. Уходил на химполе, расстилал плащ-палатку, ел ворованный в столовке клейкий хлеб. Как хороши, как свежи были розы. Тиражи. И последующая немота — возвращенная литра забила современную. До сих пор расхлебываем. Из-под глыб вылезти не можем. Расчищаем оскомину. Ну да, Домбровский. Ну да, Солженицын. Воздух стал разреженным. Появился, нет, не воздух, сквозняки. Папки-мамки не боимся, писаем в штаны. Ты стал взрослым. Буратино пошел в школу. Ты первый раз в жизни отказался от подписки — берешь журнальные книжки в редакции. Ты пишешь туда статьи. Ты не согласен с мнением Роднянской. Твой роман анонсируют. Клево же!