Чтение онлайн

на главную - закладки

Жанры

Новый Мир (№ 1 2005)
Шрифт:

Ладно, закончили. Быстренько закруглив остальные сюжетные линии, отправив настройщика-зека в Чечню, а мясоторговца на тот свет (он разбивается на своем джипе, пытаясь объехать выскочившего под колеса черного пса; оказавшийся поблизости мужичонка-прохожий тут же воровато снимает с трупа часы и трусливо бежит по пустынной дороге в сторону горизонта), — режиссер завершает свое мизантропическое полотно крупным планом старушки-вестницы, которая на музыку песни “О черном коте” кокетливо обещает:

“Е-е-е-е не повезет…”

Ну что тут можно сказать? Все недостатки картины — нигилизм, искусственность, всепроникающий дух энтропии, отсутствие смысла и внутреннего единства, сведение сложного к элементарному, структурного — к вязкой бесструктурности извечного сорокинского говна, — мгновенно становятся плюсами, если взглянуть на дело с точки зрения адекватности фильма художественному миру известного прозаика-постмодерниста. Эксперимент под названием “4” имеет

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

Впрочем, язык кино не универсален. За его границами располагается обширная область экспериментального видеоарта, где подобные разрушительные жесты только приветствуются. Я не берусь оценивать фильм “4” в системе критериев сontemporary art, но очень хочу надеяться, что все дальнейшие попытки перевести прозу Сорокина на язык движущихся изображений будут располагаться именно в этой области. Не надо только называть это словом “кино”.

P. S. И уж совсем не стоит писать, как написано в пресс-релизе, что в фильме “4” ощущается “неискаженное дыхание Родины”. Зачем же так-то? В нашей жизни и без того слишком много вранья!

WWW-ОБОЗРЕНИЕ ВЛАДИМИРА ГУБАЙЛОВСКОГО

Заметки о программировании

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

А начну я со старого анекдота. Впрочем, само представление о “старости” и “юности” во всем, что касается цифрового мира, существенно отличается от мира реального. В информационной вселенной время течет несравнимо быстрее. Два года — это уже эпоха. По этим меркам анекдот относится ко времени компьютерных динозавров — годам, наверное, восьмидесятым.

Сын приходит к отцу-программисту и спрашивает:

— Папа, а почему Солнце каждый день восходит на востоке и заходит на западе?

Отец отрывается от дисплея, смотрит на сына долго и недоверчиво:

— Ты проверял?

— Да, — отвечает мальчик.

— Подтверждается?

— Да, — отвечает мальчик.

— Только ничего не трогай!

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

Наш герой был гениальным программистом и был занят своими гениальными мыслями. Когда сын обратился к нему с вопросом, он, как честный человек и добросовестный профессионал, решил ответить точно и по существу. И поэтому сразу начал строить модель, описывающую движение Земли вокруг Солнца. С первого взгляда задача казалась довольно простой. Есть массивное тело — Солнце, и другое — Земля, тело гораздо меньшей массы — движется вокруг него по орбите, которая описывается законом всемирного тяготения. Тела можно считать материальными точками, орбита устойчива... (Вот здесь-то и остановился бы в своих размышлениях любой нормальный человек, но не наш гений.) “Стоп, — подумал он, — но ведь есть еще и Луна”. Система начала усложняться. Хорошо, учтем поправки, которые вносит масса Луны. Система получившихся уравнений уже не решается точно. Модель начала подрагивать. Это программиста насторожило. Но ведь есть же еще и планеты. Нужно учесть еще их массивное движение и влияние на Землю и друг на друга. Дальше стало еще хуже. Необходимо учесть движение комет и других блуждающих тел, а оно принципиально нерегулярно. Голова закипела. Земля, которая летела по своей орбите, как “мерседес” по автобану, в уточненной модели тащилась, как старый латаный “зилок” по проселочной дороге, жутковато кренясь от сложных и переменчивых гравитационных воздействий. Внезапно программист понял, что он не может доказать устойчивость полученной модели. Более того, на больших временнбых промежутках она скорее всего устойчива и не будет. Его очень удивило, почему Солнечная

система за миллиарды лет своего существования не развалилась. “Господи! — подумал программист. — Каким бы гениальным программистом Ты ни был, Ты не мог не сделать ошибок в такой навороченной программе! Есть же порог сложности! И все это гигантское нагромождение модулей и интерфейсов обязательно должно дать сбой! Даже от малюсенького толчка, например от того, что мальчик возьмет со стола яблоко”. И тогда он строго посмотрел на сына и, стараясь не повышать голос, сказал:

— Только ничего не трогай!

Нужно ли выяснять, кто такой программист и что такое программирование? Может быть, и нет. Программист программирует — пишет текст на формальном языке, объясняет менеджеру, что делать надо так-то и так-то, а если, мол, не так — значит, ложь и профанация. Менеджер — управляет: ставит задачу, согласует интерфейсы, воспитывает программиста — чтобы не зарывался в частности и не срывал сроки, пытается максимально прояснить у заказчика, чего же этот заказчик, в конце концов, хотел. Заказчик никак не возьмет в толк, почему такие простые и ясные вещи, как его задачи, никак не обретут ту форму и законченность, которая ему изначально очевидна. Все эти люди пытаются добиться только одного — создать программный код, который был бы удобен, устойчив, эффективен и делал именно то, что должен делать.

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

Исключения крайне редки, но они все-таки есть. Одно из них — верю, что не единственное, — это статья академика Андрея Ершова “Человеческий фактор в программировании” <http://www.softpanorama.org/Articles/ershov72.html>.

Статья датирована 1972 годом. Что произошло в программировании и в цифровом мире за тридцать с лишним лет, трудно себе представить, я не берусь. И тем не менее. “Попытки осмыслить ситуацию с индустрией производства программного обеспечения довольно редки, и одна из немногих удачных попыток принадлежит академику Aндрею Eршову. Его статья „Человеческий фактор в программировании” является одной из немногих статей „советского периода” развития программирования в России, вызвавших в свое время значительный резонанс на Западе”, — пишет в кратком вступлении к републикации в Softpanorama Bulletin (Jan. — March, 1998) Николай Безруков. Отмечая глубокую давность статьи Ершова, он добавляет: “Тем не менее многие положения этой статьи до сих пор звучат удивительно актуально”. С чем я полностью согласен.

Ершов обращает внимание на необходимость учитывать эстетическое начало программирования и крайнюю нежелательность того, что он называет “конвейерным программированием”, подходом к организации работы, который подавляет творческое начало. Ершов пишет: “Конвейерный метод в программировании может либо убить интеллектуальную компоненту в труде программиста, либо вызвать неврозы... Представьте себе человека, обязанного 8 часов в день, 5 дней в неделю, 50 недель в году решать одни кроссворды, и вы поймете, что такое программист, специализирующийся, например, на написании редактирующих программ. Одним словом, раскрепление людей по элементарным операциям в многомодульной системе — далеко не простая задача”. Свою главную мысль Ершов формулирует так: “...я подхожу к тому, чтобы сформулировать центральный тезис моей речи. Он состоит в утверждении, что программирование обладает богатой, глубокой и своеобразной эстетикой, которая лежит в основе внутреннего отношения программиста к своей профессии, являясь источником интеллектуальной силы, ярких переживаний и глубокого удовлетворения. Корни этой эстетики лежат в творческой природе программирования, его трудности и общественной значимости”.

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

Поделиться:
Популярные книги

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Наследник павшего дома. Том II

Вайс Александр
2. Расколотый мир [Вайс]
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Наследник павшего дома. Том II

Царь Федор. Трилогия

Злотников Роман Валерьевич
Царь Федор
Фантастика:
альтернативная история
8.68
рейтинг книги
Царь Федор. Трилогия

Его огонь горит для меня. Том 2

Муратова Ульяна
2. Мир Карастели
Фантастика:
юмористическая фантастика
5.40
рейтинг книги
Его огонь горит для меня. Том 2

Предатель. Ты променял меня на бывшую

Верди Алиса
7. Измены
Любовные романы:
современные любовные романы
7.50
рейтинг книги
Предатель. Ты променял меня на бывшую

Жена со скидкой, или Случайный брак

Ардова Алиса
Любовные романы:
любовно-фантастические романы
8.15
рейтинг книги
Жена со скидкой, или Случайный брак

Кристалл Альвандера

Садов Сергей Александрович
1. Возвращенные звезды
Фантастика:
научная фантастика
9.20
рейтинг книги
Кристалл Альвандера

Сборник "Войти в бездну"

Мартьянов Андрей Леонидович
Фантастика:
боевая фантастика
7.07
рейтинг книги
Сборник Войти в бездну

Имперский Курьер

Бо Вова
1. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Имперский Курьер

Александр Агренев. Трилогия

Кулаков Алексей Иванович
Александр Агренев
Фантастика:
альтернативная история
9.17
рейтинг книги
Александр Агренев. Трилогия

Санек 4

Седой Василий
4. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 4

Лучший из худший 3

Дашко Дмитрий
3. Лучший из худших
Фантастика:
городское фэнтези
попаданцы
аниме
6.00
рейтинг книги
Лучший из худший 3

На границе империй. Том 6

INDIGO
6. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.31
рейтинг книги
На границе империй. Том 6

Пипец Котенку! 2

Майерс Александр
2. РОС: Пипец Котенку!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пипец Котенку! 2