`

СПЕЦИАЛЬНЫЕ
ПАРТНЕРЫ
ПРОЕКТА

Архив номеров

Как изменилось финансирование ИТ-направления в вашей организации?

Best CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Возвращение тьюрмитов

Статья опубликована в №26 (737) от 20 июля

+66
голосов

Весьма вероятно, что для вас, как и для многих читателей «Компьютерного Обозрения», первоначальный интерес к ИT был связан с составлением несложных графических программ. Вам повезло: у вас были Турбо Паскаль и Бейсик. У ваших детей их нет. Стоит ли дивиться тому, что они хотят быть не программистами, а певцами и адвокатами?

Возвращение тьюрмитов
Послание, закодированное в официальном логотипе Processing, гласит: «Контрольная панель нашей среды разработки не содержит почти ничего, кроме двух кнопок: Run и Stop. Это куда меньше, чем на ПДУ вашего DVD-плеера. Проще не бывает! Вы непременно справитесь!»

Прежде чем перейти к основной теме моей статьи (посвященной преимущественно среде программирования Processing; см. processing.org), давайте разберем вышеприведенное высказывание, поначалу могущее показаться категоричной спекуляцией на теме отцов и детей.

Во-первых, применительно к графическим программам «простота» – понятие условное. Некоторые весьма простые алгоритмы, как показывает пример формулы Мандельбротта, могут порождать образы, от чьей сложности захватывает дух. А тьюрмиты? Помните их? Примитивнейший мозг этих двухмерных версий машины Тьюринга («тьюрмит» = «Тьюринг» + «термит») сообщает им способность к поразительно изощренному поведению. Думается, именно интригующий контраст меж доступностью некоторых алгоритмов и изысканной сложностью результатов их работы делает эксперименты с графикой столь полезными для пробуждения интереса к информатике (и не только к ней, если учесть аналогию с 4 кодонами и 20 аминокислотами, описывающими практически бесконечное разнообразие биосферы).

Использование экспериментов с графикой для обучения компьютерной грамотности имеет почтенную историю, на фоне которой нынешнее положение дел выглядит какой-то аномалией. Достаточно сказать, что «черепашье-графический» LOGO, созданный в Университете Беркли в 1967 г., – один из самых старых языков программирования.

Двадцать лет назад написанные на Бейсике тьюрмиты и муравьи Лэнгтона (являющиеся разновидностью тьюрмитов, обитающих на монохромных клетках), находились в фокусе внимания ИT-публикаций популярно-развлекательного толка. Редакции Scientific American и «Науки и жизни» печатали письма читателей, с энтузиазмом делящихся результатами своих экспериментов.

Возвращение тьюрмитов
Виртуального Wall-Е-подобного тамагочи Robo в принципе можно запрограммировать на работу в режиме тьюрмита. Но его неторопливость способна вывести из себя самого терпеливого наблюдателя (надо заметить, что закономерности в поведении некоторых тьюрмитов проявляются лишь после сотен тысяч итераций)

Увы, сегодня фокус внимания ИT-СМИ переместился на такие темы, как обсуждение реальных и кажущихся достоинств и недостатков iPad, «объяснение» устройства квантовых компьютеров и т. п. (кавычки в данном случае символизируют заведомую невозможность серьезного разговора на тему, лежащую в нескольких парсеках за гранью разумения массового читателя).

Не думаю, что случившаяся перемена повысила привлекательность информатики в глазах современных школьников (и это особенно прискорбно ввиду того, что жить и бороться за место под солнцем им предстоит в беспрецедентно насыщенную ИТ-технологиями эпоху). Сознавая опасность окончательного скатывания в старческое брюзжание, не могу не удержаться от такого мысленного эксперимента: представьте-ка, что из торговых сетей всего мира в одночасье исчезли рисовальные и письменные принадлежности; что краски и цветные карандаши отныне распространяются только среди членов союза художников, и что на полках «канцтоваров» остались лишь рассчитанные на пассивное созерцание книжки. Приходится ли сомневаться, что подобный сбой в магазинном снабжении, убирающий из учебы важнейший элемент игровой занимательности, к 2020 г. подорвет средний уровень грамотности? Вне школьных стен последствия этого катаклизма также будут пагубны: всевозможные архитекторы и дизайнеры, привыкшие от случая к случаю набрасывать свои идеи на салфетках, лишатся фломастеров, а художникам-любителям и вовсе придется искать себе другое хобби.

Замечание об исчезновении Бейсика не следует понимать буквально. Точнее сказать об исчезновении для рядового пользователя ПК возможности выполнить процедуру PutPixel(i,j). Перестав быть стандартным компонентом системного ПО (как было во времена первых персональных компьютеров), Бейсик, разумеется, продолжил существование во множестве инкарнаций, доступных для бесплатной загрузки с известных преподавателям информатики сайтов. Более того, то и дело появляются новые учебные среды программирования вроде Robo (robomind.net), совмещающей концепцию LOGO с современным интерфейсом, изобилующим анимацией и рассчитанным на приученный к современным 3D-играм детский глаз.

Возвращение тьюрмитов
Маршрут точки, движущейся в координатной плоскости по несложному закону (xn+1 = sin(a•yn) – cos(b•xn); yn+1 = sin(c•xn) – cos(d•yn)), визуализованный одним из энтузиастов Processing Петером Де Йонгом (Peter De Jong)

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

Популяризация большинства простых, но пригодных для экспериментов с графикой языков программирования наталкивается сегодня на два камня преткновения:

1. Отсутствие таких языков в комплектах предустановленного ПО (заметное исключение здесь составляют, пожалуй, лишь учебные ноутбуки OLPC XO-1). Предполагающая определенный уровень квалификации необходимость загрузки и установки приложений сводит на нет их дидактическую ценность для неискушенных пользователей (эта проблема относится к классу порочных кругов: Бейсик не предустанавливается, ибо непопулярен, и непопулярен, ибо не предустанавливается).

2. Очевидная изолированность таких языков от сфер профессионального использования.

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

К счастью, история развивается не прямолинейно, а по спирали. И есть основания надеяться, что сейчас она близится к завершению витка, заложенного в 1999 г. кросс-платформенным открытым проектом DBN (Design By Numbers; dbn.media.mit.edu). В его рамках сотрудники входящей в MIT исследовательской группы эстетики и вычислительной техники предприняли первую серьезную попытку штурма проблем, поставленных уходом Бейсика перед «дизайнерами, художниками и прочими непрограммистами» (так определили круг типичного пользователя DBN авторы проекта).

Возвращение тьюрмитов
Приложение Supernova, созданное одним из видных гуру в сообществе пользователей Processing Гленном Маршалом (Glenn Marshal; www.butterfly.ie), превращает iPad в интерактивную видеоинсталляцию. Забавно, что поначалу оно было отвергнуто администрацией App Store «как не имеющее функциональности». В ходе последовавшей переписки Гленн оказался столь красноречив, что Apple по собственной инициативе организовала ему рекламную кампанию

В 2001 г. на смену ему пришел более совершенный проект Processing. Незначительное (оказавшееся приемлемым для абсолютного большинства пользователей DBN) усложнение синтаксиса позволило достичь качественно новых уровней функциональности и быстродействия. Появились 3D-графика, технологии для работы со звуком и доступа к Сети, а также множество других возможностей, благодаря которым (но в первую очередь – за счет пассионарности участников) проект приобрел статус стандартного рабочего инструмента в столь разных областях, как создание концептуальных арт-объектов, визуализация научных данных и архитектурное проектирование (знакомство с Processing настоятельно рекомендуется начать с осмотра размещенной на официальном сайте ежемесячно пополняемой выставочной галереи).

На момент написания данной статьи поставка Processing v.1.1 включала 315 систематизированных примеров, каждый из которых готов к немедленному использованию по нажатию кнопки Run.

Недавно от Processing, в свою очередь, «отпочковался» проект Processing.js (processingjs.org), в рамках которого Processing-код транслируется в команды JavaScript, взаимодействующие со входящим в спецификацию HTML 5 элементом Canvas. Не вдаваясь в технические подробности отметим, что Processing.js если не преодолевает, то указывает путь к преодолению упомянутых выше камней преткновения. Судите сами:

1. Чтобы начать эксперименты с графикой средствами Processing.js, нет нужды ничего инсталлировать и настраивать. Среда разработки готова к применению в режиме онлайн: просто откройте страничку processingjs.org/learning/ide и приступайте к программированию (правда, из-за отсутствия поддержки Canvas в текущей версии IE может потребоваться предварительная установка альтернативного браузера).

2. Processing и Java – весьма близкородственные языки (кроме того, создаваемый в рамках Processing.js JavaScript-код может непосредственно использоваться для конструирования веб-сайтов).

В настоящее время проект характеризуется удручающей медлительностью (об уровне накладных расходов можно судить по тому, что исполнение реализованной средствами Processing.js пустяшной по нынешним меркам задачи моделирования Конвеевой «жизни» на поле размером 300×300 и с частотой регенерации 10 fps оказывается непосильной проблемой для современного ПК). Если этот недостаток удастся исправить (а перспектив здесь немало, и связаны они, в частности, с планами аппаратной акселерации функций доступа к Canvas), то Processing.js (или аналогичный ему проект), несомненно, ждет взрывная популярность.

Итак, если все сложится благополучно, то вскоре заметки о повадках тьюрмитов и их вновь открытых собратьев вернут по праву принадлежащее им место на страницах «Компьютерного Обозрения» и других ИT-изданий.

+66
голосов

Напечатать Отправить другу

Читайте также

Не совсем понятна практическая польза от Processing. Тратить время только ради прикольной визуализации? Я по себе помню - в детстве в школе на корвете в бейсике я написал простенький векторный редактор и простенький симулятор гонок на машине (как бы движение машинки по карте). Из множества других вариантов я выбрал редактор - потому-что на Корвете такого не было, а симулятор - поскольку мне эта игрушка нравилась на игровых автоматах, но хотелось чуть изменить. Хотя результат конечно получился всего лишь моральный (и польза от обучения конечно), но двигателем было достижение результата, который можно с пользой применить.
На тему простых сред программирования у меня есть один вопрос к Вам. Не встречали ли Вы универсальных языков программирования, в которых текст программы полностью пишется в формате XML? Ведь язык XML специально создан для одновременного понимания, как человеком так и компьютером.

 
 
IDC
Реклама

  •  Home  •  Рынок  •  ИТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Сети  •  Безопасность  •  Наука  •  IoT