Текст книги "Журнал «Компьютерра» N 35 от 26 сентября 2006 года"
Автор книги: Компьютерра Журнал
сообщить о нарушении
Текущая страница: 8 (всего у книги 10 страниц)
МЫСЛИ: Повелители судеб
Автор: Кормилова Мария
Читателям «КТ» не нужно рассказывать, что такое гипертекст, однако гипертекст Марии Кормиловой посвящен не технологической, а литературной составляющей гипертекста. Задолго до появления первого драфта HTML возможностями нелинейного письма пользовались писатели.
В 1969 году Джон Фаулз написал два финала к роману «Подруга французского лейтенанта». Воспользоваться компьютерными гиперссылками он еще не мог и очень переживал, что читатель будет принимать за настоящую ту развязку, которая ближе к последней странице книги.
Поэтому последовательность финалов автор определил, бросив монетку. В одном варианте влюбленные оказались счастливы, в другом – несчастны. Сравнив в романе моральные нормы девятнадцатого и двадцатого века, Фаулз выбрал ультрановую форму, подчеркивая, что уж автор-то точно живет в век разнузданных нравов и «свободной любви».
Гипертекст – это произведение, части которого выстроены не в линейной последовательности, а как система сложных переходов и ссылок. Следуя расставленным указателям, можно читать этот нелинейный материал в любом порядке, самостоятельно создавая различные линейные тексты. Фактически, в гипертексте реализован старый сказочный принцип: налево пойдешь – коня потеряешь, направо пойдешь… и так далее. По такому же принципу, когда на распутье персонажу предлагается несколько запрограммированных вариантов действия, работают компьютерные игры в жанре «квест» (бродилка), герой которых постоянно оказывается перед выбором: налево – волшебный меч, направо – пропасть, прямо – тупик. Так же построены и некоторые литературные гипертексты с разветвленными сюжетами. То есть вековая диктатура автора, наконец, отменена. Командовать судьбами героев будет читатель, примеряя на себя лавры творца и одежды богов. Захочет – герои полюбят друг друга, не захочет – расплюются.
В 1945 году Ванневар Буш – советник по науке американского президента Рузвельта – впервые предложил идею гипертекста для хранения информации. Он задумался над тем, что в библиотеках информация распределена по алфавитному каталогу, а в человеческом мозгу – по ассоциациям, и предложил систему Memex – полуфантастическую машину для сортировки данных. Ванневар Буш представлял ее в виде большого стенда со многими экранами, рычагами и моторами. Его проект так и остался на бумаге.
В 1965 году программист Теодор Нельсон придумал понятие «гипертекст». Оно уже тогда означало текст, состоящий из фрагментов, которые можно читать в разном порядке. В начале 1990-х Тим Бернерс-Ли и его коллеги создали современный Язык Гипертекстовой Разметки (HTML), с помощью которого можно, нажав на выделенное слово в тексте, перейти на другую страницу, как по ссылке в бумажной книге.
Несколько лет назад в Москве живой классик Умберто Эко встречался с российскими студентами – читателями будущего. Объясняя им, что такое гипертекст, он разрешил каждому сесть за компьютер и описать бесчисленное множество ситуаций, в которые могли бы попасть герои хорошо всем известной «Войны и мира» Льва Толстого. К примеру, Андрей Волконский не умрет, женится на Наташе Ростовой, и все будут счастливы. Повернуть реки вспять? – пожалуйста! Что там про сослагательное наклонение в истории? Захотите – в вашем собственном романе «Война и мир» Наполеон победит Кутузова, а не наоборот.
Поклонники нелинейного письма в литературе доказывают, что оно существовало всегда. Уже Библия содержит одну и ту же историю жизни Иисуса Христа, с небольшими вариациями рассказанную четырьмя апостолами. В той же Библии выработана сложная система параллельных мест, с помощью которой ее можно читать не от первой до последней страницы, а перелистывая в определенном порядке. Похожим образом все нормальные люди читают словари: не подряд, а время от времени открывая интересующую их статью и по ссылкам изучая связанные с ней понятия. Однако, строго говоря, и Библию, и любой словарь составители выкраивали из более ранних «линейных» текстов. Только в ХХ веке писатели стали целенаправленно ломать традиционное письмо.
Изобретателями гипертекста, как ни странно, считают себя и технари, и гуманитарии. Истина, как всегда, где-то рядом. В период с 1940-х по 1990-е годы гипертекст параллельно развивался и в программировании, и в литературе, пока в конце ХХ века эти течения не слились воедино.
Наконец компьютерный и литературный гипертексты слились воедино. В 1990 году будущий классик гиперлитературы Майкл Джойс выпустил на пяти дискетах первый в мире компьютерный гиперроман «Полдень» («Afternoon»). Роман состоит из 539 условных страниц и 951 связки. В одном из его вариантов главный герой начинает день с ужасного подозрения: в аварию, которую он видел несколькими часами раньше, кажется, попала его бывшая жена. После Майкла Джойса многие авторы писали гипертексты специально для чтения с экрана. Другие просили программистов перевести на электронные носители нелинейные тексты, написанные в докомпьютерную эру.
Только издав «Хазарский словарь» на CD, Милорад Павич с радостью узнал от компьютерщиков, что его роман можно читать 2,5 миллионами способов! К Павичу приклеился ярлык «первый писатель XXI века». А сам пожилой классик понял, что мышление файлами – как раз для него, и очень полюбил на досуге играть в компьютерные игры со своей супругой, литературным критиком Ясминой Михайлович. Но этим успехи гипертекста не ограничились.
Во всех этих литературных фокусах виноват, как ни странно, атеизм ХХ века. Фридрих Ницше еще в 1883 году, не обольщаясь насчет религиозности современников, отрезал: «Бог умер». В тон ему Ролан Барт в 1968 году написал знаменитое эссе «Смерть автора», предсказывая, что писателей не всегда будут обожествлять. И действительно, в насквозь христианском Средневековье никто бы не осмелился считать художника «творцом» собственного мира: и иконы, и житиях святых создавались по установленному канону. Отступления от него и гениальные находки не то что не поощрялись, а преследовались.
В 1995 году появился самый разветвленный российский гипертекстовый «РОМАН» (сейчас выложен на сайте www.cs.ut.ee/~roman_l/hyperfiction/htroman.html). Тогда в Рунете еще было плохо с русскими буквами, поэтому зачин, написанный литературоведом Романом Лейбовым (лектором знаменитого Тартуского университета), выглядел так: «Molodoj chelovek poliubil devushku i napisal ej pis’mo ob etom, no pobojalsa otpravit’ po pochte, i poshel k nej v dom nochju brosit’ v pochtovyi yaschik. Jashchik byl na pervom etazhe, a na ploshchadke vyshe ta devushka stojala i celovalas’ s drugim chelovekom…»
В течение года около трехсот авторов – обычных пользователей Интернета – добавляли свои фрагменты и сюжетные линии к «РОМАНУ». Потом в компьютере Лейбова что-то сломалось, к тому же роман стал таким запутанным, что его стало почти невозможно читать, и проект остановили. Но главное, чего добился Лейбов – каждый смог стать писателем.
Однако постепенно ситуация изменилась. Начиная с эпохи Возрождения, художник начинает выступать в роли демиурга, творца собственных миров. В последнее время автору позволяется еще больше: читать мысли героев, знать их судьбы…
Энтузиасты гипертекста считают, что в истории словесности было всего три великих события: возникновение алфавита, изобретение печатного станка (низкий поклон Гуттенбергу) и создание гиперссылки (программист Тимоти Бернерс-Ли и не догадывался о своей роли в искусстве). После Гуттенберга книгу стали представлять как часть тиража, состоящего из абсолютно одинаковых экземпляров. Но видели бы вы лица дикарей, которым социолог Маргарет Мид однажды показала две идентичные книги! Принцип тиража показался им страшным, противоестественным колдовством. Наверное, им бы больше понравился тираж последней на сегодняшний день книги Павича «Уникальный роман». Там все по-другому. Писатель создал сто финалов для одной истории, так что под одинаковыми обложками должны быть фактически разные романы. Купив эту книгу себе, почти невозможно купить точно такую же книгу для приятеля. Каждый экземпляр уникален, как жизнь его читателя. Так все было по мысли Павича. А вот как вышло у нас, после перевода на русский язык. Питерское издательство «Азбука» пыталось напечатать этот роман так, как задумано автором, ровно год. Для этого общий тираж надо было разделить на сто маленьких тиражей, что вполне возможно, хотя дорого. Но никто и не обещал, что гипертекст – игрушка из дешевых. Так и не договорившись за год ни с одной типографией, издатели решили сэкономить и загнали все сто финалов под одну обложку. А между тем читать все авторские финалы, согласно послесловию Павича, – это «то же самое, как вместо одной смерти иметь их сто». Если верить сербскому мистику и предсказателю, разрушителю структуры текстов и книг, в России нет ни одного читателя его последнего романа. Они все погибли.
Отсюда всего один шаг до гипертекста, теоретики и практики которого рассуждают примерно так. Если нет божественных заповедей, значит, можно пробовать разные варианты своей судьбы. К примеру, кинуть невесту и уйти к другой женщине, как сделал герой Фаулза. Если нет божественного предопределения – значит, можно решать, убить или быть убитым, именно такой выбор делает в саду расходящихся тропок герой Борхеса. Милорад Павич однажды открыто взбунтовался против небес, заявив, что гипертекст – это борьба с роком и даже со смертью. В нелинейной литературе все можно поправить и в любой момент вернуться на ход назад, как и в компьютерной игре. Если нет единой божественной истины, никто уже не установит, какую религию принял в романе Павича исчезнувший хазарский народ. По какому праву писатель будет навязывать кому-то свое мнение? Читатель гипертекста – это почти соавтор, он сам разберется, что к чему. А иногда не постесняется и в интерактивном произведении допишет свой вариант, как у Лейбова.
В 1941 году Хорхе Луис Борхес в рассказе «Сад расходящихся тропок» вывел героя, находящегося в пограничном состоянии: совершить ли убийство, пока не убили его самого? Чтобы попасть к дому врага, ему нужно было, проходя через сад расходящихся тропок, раз за разом поворачивать налево. Но каждая развилка одновременно могла стать и развилкой в судьбе героя. Борхес обнаружил, что существует не одно «будущее», а множество, и каждое из них роится вокруг персонажа. Проще говоря, в одном «настоящем» вы взялись читать «Популярную механику», а в другом «настоящем» такой же человек, как вы, легкомысленно выкинул ее в окошко.
В 1962 году Владимир Набоков опубликовал роман «Бледное пламя», состоящий из поэмы и расширенного подстрочного комментария к ней. Книгу нужно читать, постоянно перелистывая туда-сюда. Сложно сказать, что тут первично – поэма или комментарий. В 1963 году Хулио Кортасар написал роман «Игра в классики», главы которого велел читать не подряд, а по определенной схеме. При правильном чтении должны чередоваться сюжетные и описательные фрагменты. Читатель перескакивает из одной части книги в другую, как будто прыгая через клеточки, нарисованные на асфальте. Это одно из объяснений к названию книги.
Разделив с читателем ответственность за происходящее в книге, нелинейщики уже совершили революцию. Но какое же будущее ждет гипертекст?
В 1983 году Милорад Павич рассказал в романе «Хазарский словарь» три версии того, как хазарский народ выбирал себе религию. В трех частях романа-словаря это событие излагается в словарных статьях, написанных от лица христианина, мусульманина и иудея. Читатель может принять любую точку зрения. Объективный автор старается примирить непримиримые стороны. Понятия и имена, которые встречаются в других частях словаря, отмечены, как ссылками, знаками креста, полумесяца и звезды Давида. Для первого гипертекстуального романа Павич облегчил себе задачу, стилизовав его под обычный словарь – принципиально нелинейную книгу. В других романах Павича порядок чтения определяют кроссворд, гадание по картам таро, дельта реки, расходящейся на сотню рукавов.
ОТ РЕДАКЦИИ: При всей привлекательности самой идеи трудоемкость ее исполнения на бумаге такова, что можно с уверенностью сказать: это первый и последний нелинейный текст, который вы увидели в «КТ». В противном случае, мы рискуем потерять всю нашу арт-команду во главе с Олегом Дмитриевым, который уже готов отмстить неразумным хазарам за все хорошее и нелинейное.
Софтерра:
Из жизни жар-птиц…: Мифы и реальность СУБД Firebird
Автор: Алексей Ковязин
Вокруг СУБД Firebird ходит множество мифов, но на самом деле она, наряду с PostgreSQL и MySQL, представляет собой обширный «OpenSource-фронт» в борьбе не только за «жадного» пользователя, но и серьезно угрожает коммерческим монстрам вроде MS SQL и Oracle, последовательно вытесняя их как из области малых и средних проектов, так и конкурируя с ними в традиционно больших корпоративных областях.
В связи с тем, что наиболее «раскрученный» MySQL недавно значительно ужесточил лицензию для тиражируемых приложений, оставив возможность бесплатного использования только в GPL-приложениях и для сугубо внутреннего применения
[Закрыть], на первый план среди Open Source СУБД выходят Firebird и PostgreSQL, которые не имеют подобных ограничений.
В России Firebird традиционно более популярен, чем PostgreSQL, для разработки корпоративных приложений, прежде всего из-за своей хорошей поддержки Windows (которую PostgreSQL в удобном виде получил только в 8-й версии), множества компонент для Delphi и совместимости с ранними версиями InterBase.
Казалось бы, все для Firebird складывается замечательно: Delphi является одной из самых любимых сред разработки в России [Точнее, внутри МКАД ситуация складывается в пользу Java, PHP и .NET в связи с огромным количеством «сайтостроителей». За пределами Москвы большинство корпоративных приложений пишется на Delphi– достаточно посмотреть на тиражи и количество Delphi-книг на полках книжных магазинов], а InterBase был широко распространен благодаря тому, что он включен в поставку Delphi, но вся эта популярность и совместимость вылилась в упорно повторяемый неграмотными разработчиками миф о том, что…
Firebird – это бесплатный InterBase
Действительно, корни Firebird лежат в выпущенной в 2000 году версии InterBase 6 Open Source Edition, но затем радикально расходятся. Современные версии Firebird 2 и InterBase 7.5 несовместимы по новым форматам базы данных и имеют немало отличий в самом SQL. Среди современных баз данных немало близких родственников– например, MSSQL 6.0 был создан на основе Sybase SQL Server,– но никто их не путает. Справедливости ради заметим, что все меньше и меньше людей смешивают понятия InterBase и Firebird.
Чаще всего на базе Firebird создают корпоративные информационные системы [ММВБ, Сиа Интернешнл, ECCO, FinnFlare, ТД «Бурый медведь», SAS, Военно-морской флот США, Британские железные дороги… см. www.ibase.ru/cat] (наиболее известна Avarda от компании Ansoft), биллинговые приложения, CRM-системы (например, SalesExpert), системы охраны и контроля доступа. За рубежом ее тоже давно освоили крупнейшие банки, отели, сотовые операторы, эту СУБД можно встретить даже в зоопарках и тюрьмах!
К сожалению, и тут существует странный миф о том, что…
Firebird– это слабая СУБД для маленьких проектов
Да, программисты не привыкли пить из мелкой посуды… Oracle, только Oracle! Налейте бокалы полнее, купите серверы помощнее, памяти побольше и вперед. Firebird по сравнению с монстровидными коммерческими СУБД действительно выглядит крошкой– ее дистрибутив в постыдные в наши дни 3,5 Мбайта разочаровывает, ну что там может быть внутри?!
Однако это тот самый случай, когда «мал, да удал». Есть масса примеров, где многогигабайтные базы работают сразу с сотнями клиентов. А на выставке «Софтул’2006» (26-28 сентября) компания «Ансофт» представит стенд из «живых» рабочих станций и сервера, имитирующий одновременную работу сотни пользователей со 120-гигабайтной базой Firebird, которая моделирует функционирование крупного торгового холдинга в режиме «уплотненного» времени под управлением ERP.
У нас многие разработчики, особенно те, что сидят за забором режимного предприятия, слишком свободно относятся к лицензированию… Не надо быть семи пядей во лбу, чтобы догадаться, что подобная «малина» кончится со вступлением в ВТО и что по мере накопления опыта правоохранительными органами антипиратская активность будет только нарастать. Но одно дело, когда ты пользуешься ворованным софтом за сто долларов у себя дома, и совсем другое, когда предлагаешь солидному заказчику «спереть» СУБД… Ну или доплатить полсотни тысяч евро.
Кстати, «новые бесплатные» СУБД от Oracle, MS SQL и другие не позволяют добиться того же– смехотворные ограничения (прежде всего на размер базы в 4Гбайт) не смогут удовлетворить мало-мальски серьезную организацию и пригодны только в качестве сыра [См. «Виды бесплатного сыра», «КТ» #640 от 01.06.06.] в мышеловке… Но и «мыши» нынче пошли не глупые.
Однако есть мнение, что…
Firebird– это ненадежная СУБД
Надо признать, что этот миф очень распространен. Причина его возникновения, наверное, в том, что Firebird практически не требует администрирования и постоянной настройки, достаточно осуществлять регулярный (чаще всего автоматический) бэкап, и если приложение правильно спроектировано, оно работает годами «без рук». Многие администраторы [Уточним– люди, выполняющие их обязанности, чтобы не обижать грамотных сисадминов сравнениями с такими «специалистами»] злоупотребляют неприхотливостью Firebird и ставят ее на компьютеры без UPS, позволяют себе жать на Reset по поводу и без повода и бить ногой по серверу в случае неполадок. Особо экономные администраторы ставят Firebird на компьютер к какому-нибудь несчастному пользователю– вот, дескать, это и будет наш сервер.
Из-за большого количества установок в экстремальных условиях на бытовых компьютерах и несоблюдения элементарных «правил гигиены» для серверного продукта (бэкапы, бэкапы!!!) можно видеть множество поврежденных баз, красные глаза горе-администраторов и не менее красные (но по другой причине) глаза владельцев бизнеса… Что ж поделать, кроме как вспоминать анекдот про дровосеков, новую японскую пилу и стальные рельсы? ["Дзынь!"– сказала пила. «Не смогла!»– удовлетворенно хмыкнули дровосеки]
Вспомнив про новую пилу, вспомним и то, что…
Firebird основана на старых технологиях
И вот это уже не миф, а чистейшая правда, которая по неизвестной причине подается как нечто плохое и постыдное. И действительно, СУБД Firebird основана на многоверсионной архитектуре записей, впервые примененной еще в InterBase в далеком 1984-м. Подобная архитектура применялась и в Microsoft Exchange и PostgreSQL, тогда как остальные СУБД исповедовали «блокировочный» подход. Но совсем недавно идея версионности записей вдруг опять получила большую популярность и была (частично) реализована в MSSQL 2005! При этом версионность подается как новейшее изобретение, позволяющее «читателям» не блокировать «писателей»…. Ну а то, что «изобретению» уже 20 лет, только подтверждает правило, что все новое – это хорошо забытое старое.
И еще к вопросу о «свежих» технологиях: недавно MySQL AB «купила» отца-основателя InterBase (и участника проекта Firebird) Джима Старки, заказав ему разработку версионного «движка» Falcon для применения в MySQL. Теперь есть риск, что туда просочатся и…
Недостатки Firebird
Конечно, утверждать, что Firebird– идеальна, было бы глупо (нет в мире совершенства, увы). К наибольшим недостаткам этой системы относятся трудности масштабирования на несколько процессоров (поддерживается лишь архитектурой Classic, обладающей повышенными требованиями к объему оперативной памяти) и неоптимальной реализацией сетевого протокола, что очень заметно на медленных линиях связи. Но в версии 2.1, чей выпуск запланирован на конец текущего года, уже исправлены и злополучный протокол, и вылечены многие другие «мозоли», преследующие в том числе и…
Firebird в России
У нас живут и творят главные архитекторы и разработчики Firebird: Дмитрий Еманов, Влад Хорсун и Алекс Пешков. Firebird– проект интернациональный, его участники работают в Германии, Австралии, Бразилии, США. Однако наши разработчики сумели занять ведущее место среди более чем пятидесяти контрибуторов проекта. Ну а поддержкой Firebird в мире занимается некоммерческая организация Firebird Foundation, с благословения которой пройдет…
Конференция Firebird в России
Конференция, намеченная на 14 октября, состоится в Москве. На ней будут присутствовать все ведущие разработчики Firebird, создатели инструментов, библиотек и компонентов для этой СУБД. Производители интересных решений на базе Firebird с удовольствием поделятся своим опытом не только с трибуны, но и в кулуарах. Ну а чтобы зарегистрироваться, загляните на сайт компании-организатора конференцииiBase
[Закрыть].
Особое мнение
Firebird применяется в основном для небольших и средних встраиваемых приложений, то есть когда сервер ставится в комплекте какого-то приложения (бухгалтерского или складско-учетного) и работает в «невидимом» для пользователей режиме.
Конечно, стенд с ERP Avarda вызывает интерес, было бы очень любопытно на него взглянуть, но решения такого объема (десятки гигабайт) для Firebird скорее редкость.
Также можно отметить, что в крупных компаниях Firebird в основном используется как «вспомогательная» база данных– когда нецелесообразно ставить большую БД (с неизбежным администратором) в небольшой филиал или удаленное подразделение, в этом случае в качестве «заменителя» часто выбирают именно Firebird.
В одной очень крупной российской страховой компании (входящей в тройку лидеров) основную базу данных держат на Oracle, тем не менее Firebird стоит в каждом офисе, а данные из нее заливаются в центральное хранилище для последующей обработки. Собственно, из-за такой второстепенной роли в больших компаниях никто особо и не говорит о Firebird, она просто «не попадается на глаза» ИТ-менеджменту: бюджета для покупки она не требует, шумихи в Интернете про нее тоже нет. Этакая рабочая лошадка, вроде «Газели», ездит и ездит.
Помимо относительно узкой ниши на корпоративном рынке, у Firebird есть несколько особенностей, переходящих в недостатки: во-первых, очень маленький аскетичный дистрибутив, не включающий развитых средств администрирования, которые потом приходится устанавливать отдельно; и во-вторых, ограничения SQL, которые делают разработку хранимых процедур непохожей на MS SQL или Oracle: отсутствие временных таблиц и внешних хранимых процедур.
Разработчики, конечно, работают в этом направлении, но пока Firebird не в состоянии конкурировать с признанными лидерами вроде MS SQL или Oracle на действительно больших проектах.
Сергей Шевелев, специалист одной из компаний-интеграторов