Главстраница / Духовка / Исходники искусства
ТОСТЕР
КТО МЫ?Написать письмо

Исходники искусства

Д. К.

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

Это все было лирическое вступление. Речь сейчас пойдет вовсе не об искусстве программирования, а о программировании в искусстве. Как вы знаете, современное искусство — оно недаром современное, и уже давно потихоньку перекочевывает в компьютер. В частности, произведениями искусства вполне можно считать некоторые программы, имея в виду, разумеется, не сами программы, а результат их работы — будь то музыка, графика или текст. Чем, скажем, java-апплет, который генерирует какие-нибудь завораживающие переплетающиеся кривые Безье, визуально хуже иных полотен дадаистов или постабстракционистов?

Однако, некоторая разница все же есть, и она весьма существенна. Именно этой разнице и посвящена выставка CODeDOC, недавно открытая в Whitney Artport — сетевом портале музея Уитни. Формальное техническое задание для «художников» (вернее, для тех, кто по-английски, называется artist) было написать веб-программу, скажем, на Java или Perl, которая каким-то образом «связывала три точки в пространстве», и исходный код которой не превышал бы 8 Кб. Основная идея выставки, однако, заключается в том, что перед тем как взглянуть на собственно апплет, вам приходится просмотреть весь его исходный текст.

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

Тем не менее, апплеты на выставке есть и довольно симпатичные, так что полюбопытствуйте. Вот, например, один посвящен различным мировым «осям» и навеян автору, ясное дело, Джорджем Бушем. Мы наобум выделили на карте мира Россию, Германию и Францию и с удивлением узнали, что это «ось производителей нефти, экспортеров водки, ядерных держав и олимпийских серебряных чемпионов по дзюдо». Но, разумеется, сначала нам показали весь исходный текст апплета.

Другой остроумный апплет ловко обыгрывает сущность экспозиции и сам мелко-мелко выводит свой текст, постепенно раскрашивая его по мере выполнения и рисуя на фоне всего этого разные кривули. Отдельные строчки кода можно увеличивать курсором, и таким образом «в реальном времени» следить за выполнением апплета. Но исходный текст вам все равно предварительно увидеть придется.

Одна из программ, собственно, и программой не является, но тем не менее неплохо и с другой стороны иллюстрирует общую идею. Это список из девяти крохотных файлов, представляющих собой скрипты на Perl, Visual Basic и PHP или даже просто текст. Каждый файл чрезвычайно вредоносен: скрипты устраивают разруху и вешают систему, на Бейсике написан простейший червь для Outlook Express, текстовый файл содержит описание дыры в защите Hotmail. При этом при просмотре файлов ничего, разумеется, не происходит. Внимание при этом опять же акцентируется на том, что, чтобы добиться видимого результата, программу нужно запустить. Ну, мы-то с вами это и раньше понимали.

Такая вот, гм, глубокая философия. Напоследок еще одна иллюстрация. Последний файл из этих вредоносных текстов — это следующая перловая программа под названием Fork Bomb:

#!/usr/bin/perl -w fork bomb
while (print not fork," ") {
   XXX: while (print fork," \t") {
      exit if int rand(1.1);
   }
} goto 'XXX';

Если вы не понимаете, в чем, собственно, юмор, и у вас нет дома интерпретатора Perl, то взгляните на JavaScript аналог форкбомбы  — но только если вы абсолютно уверены в стабильности своей системы и своего браузера!

И не говорите потом, что мы не предупреждали.


Читать комментарии
Всего комментариев: 3, непрочитанных: 3
Copyright  ©  2001—2004 «Тостер»