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

ЖАНРЫ

Компьютерра PDA 07.08.2010-13.08.2010

Компьютерра

Шрифт:

* Приложения. Являются слоем абстракции между операционной системой и пользователем. Предоставляют детерминированный набор действий на предопределенные реакции пользователя. Кодируют первоначальный смысл (то, как систему видят пользователи) в виде абстракций (сначала архитекторами, а потом и разработчиками), чтобы в итоге декодировать абстракции в смысл, понятный пользователем (естественно, во многих случаях, уже хоть немного, но искаженный, т.к. смысл проходит через несколько преобразований).

* Графический интерфейс. Его преимущества связаны не только с тем, что человек лучше воспринимают информацию визуально (человек быстрее обрабатывает пространственные абстракции, чем логические или языковые, к тому же само абстрагирование возможно является порождением именно визуального восприятия информации). Не менее важно и то, что он явно предоставляет и ограничивает информацию (т.е. вы видите все команды сразу, а не вспоминаете их, а их возможные значения ограничены в списке и т.п.) и связывает ее (одному элементу соответствуют другие элементы информации или действия, например, связь между объектом и действиями, предоставляемыми в меню). Однако, при большом количестве элементов мы опять возвращаемся к необходимости использования поддержки естественного языка (в виде руководств и т.п.). К тому же, что часть элементов приходится скрывать, упорядочивая их в иерархии (меню, деревья, вложенные окна и т.п.), при этом мы ограничиваем контекст, что хорошо для понимания отдельной области, но при этом же, многие уровни

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

* Интернет. Его достоинства заключаются в неразрывном сплетении двух факторов: объединение компьютеров в глобальную сеть и объединение информации внутри гипертекста (который представляет собой контейнер, объединяющий текст и другие медии). Оба эти фактора по раздельности не могли совершить революцию: представьте себе Интернет, в котором нет гипертекста, а есть один ftp протокол, или же, наоборот, существует прогрессивный формат, позволяющий переходить из текста в текст, но в рамках вашего жесткого диска. Естественно, что одно вытекало из другого и появление глобальной сети послужило спусковым крючком для появления всего набора Интернет технологий.

* Гипертекст, Веб, Веб 2.0, доменная система. В свою очередь, представляет собой симбиоз трех факторов: связывания ресурсов (различных репрезентаций информации), форматирования данных и разного рода динамика: клиентская (ДжаваСкрипт, плагины) и серверная (формы, элементы графического интерфейса) ресурсов. Впоследствии, серьезное внимание было уделено форматированию и динамическим возможностя, поэтому были упущены недостатки связывания. А именно, гипертекстовое связывание позволяет реализовать ссылку только один-к-одному, и наибольший смысл имеет только тогда, когда мы ссылаемся на уникальный ресурс (или оригинал) или же ссылаемся на часть общего целого (как, например, один сайт). Если же мы ссылаемся на произвольный ресурс произвольного сайта (например, новость на определенном новостном ресурсе, хотя она продублирована на множестве других), то такая ссылка становится ограниченной и субъективной. Веб 2.0 представляет собой развитие динамической составляющей ресурсов, добавляя больше возможностей графического интерфейса со стороны клиента. Доменная система является аналогом "файловой системы" Интернета, где домен и его компоненты должны (теоретически) идентифицировать провайдера информации. Практически же, домены в виде идентификаторов часто неправильно (намеренно или нет) используются (как и имена файлов), что поощряет коррупцию вокруг доменных имен.

* Персональные страницы, электронная почта, чаты, мгновенный обмен сообщениями, блоги, микроблоги, социальные сети, комментирование, коллаборейшн сайты. Интернет стал спусковым крючком для роста накопленной информации. В пре-Интернет эпоху никому и не приходило в голову создавать документ с описанием себя любимого (кроме резюме) и распространять его каким-либо способом (здесь мы тоже видим сплетение двух неразрывных факторов: публикование персональной информации и ее распространение). Вначале, модным словом стало "персональная страница", с появлением блогов необходимость в персональных страницах постепенно отпадает, так как блоги предоставляют почти те же возможности, при меньших затратах на дизайн и поддержку, к тому же сочетая в себе возможности обмена сообщениями, но с возможностью сохранения и всемирной доступности (микроблоги являются еще более упрощенным развитием той же линии). В дополнении к этому многие сайты сейчас предоставляют системы комментирования своих ресурсов, что для некоторых постоянных посетителей является эдакой разновидностью микроблога (часто комментарии постоянных посетителей могут уклоняться от темы ресурса и становиться микроблогом). Тоже самое касается и социальных сетей. Коллаборейшн сайты, в отличие от социальных систем обмена субъективной информацией, предназначены для обмена объективной информации, в идеале, роль личности должна быть сведена к нулю. При всех недостатках, Википедия стала де-факто стандартом для справки о том или ином предмете.

* Порталы, поисковые системы. Первоначально именно порталы представлялись решением, которое позволит упорядочить информацию в Интернете. Но они обладали и определенными недостатками: (а) любая иерархия знаний частично субъективна, поэтому не всегда очевидно какой путь иерархии выбрать, чтобы найти нужный предмет, (б) любая иерархия вместе с упорядочиванием, посредством разбиения на ветви, также и скрывает информацию в этих ветвях, (в) использовалось ручное обновление каталога, хотя при этом многие порталы предоставляли эту возможность любому, что роднило их с коллаборейшн сайтами. На порталах был даже поиск по содержимому портала, но появление поисковых систем нанесло серьезный удар по их позициям, так как их поисковая строка была точкой входа (кстати, подобно консоли операционной системы) для любой информации в Интернете, причем постоянно обновляемой. Разумеется, как и любое творение человека, поисковые системы имеют и свои недостатки. Главный из которых, является, одновременно их достоинством: это представление всего массива данных Интернета в виде большой "плоской" базы данных. Точно также можно представлять весь наш мир, все континенты, города, людей, животных в виде "плоской" базы данных атомов. Конечно же, такое представление частично абсурдно (т.к. имеет значение в какие структуры эти атомы собираются). И создатели поисковых систем прекрасно это понимают, предоставляя дополнительные средства, как то: релевантность/ранжирование слов/запросов, коллаборейшн средства для повышения релевантности поиска, и т.п. Поисковая система достигает максимума продуктивности только в случае, когда слово или словосочетание полностью соответствует смыслу, скрывающемуся за ним.

* XML, Семантический Веб. Идея связывания всего и представления в одном универсальном формате лежала еще в основе HTML, а если копнуть еще глубже, то и в SGML (если уж копать дальше и дальше - идея-то прорабатывалась еще философами за много столетий до того как). XML подошел к проблеме ближе, так как, по крайней мере, был достигнут консенсус по поводу универсального формата. Однако, не хватало смысла. Семантический Веб добавил немного смысла, и стал потенциальным кандидатом на новую революцию, но он обладает и определенными недостатками. Главное - это то, что он ориентирован на обработку "интеллектуальными агентами", а не простыми пользователями. И обработку, в основном, данных, причем, данных упорядоченных. К тому же, формат тройки "субъект-предикат-объект" заставляет сомневаться в целесообразности абстрагирования всего при его помощи. Никто не подвергает сомнению факт, что всё можно втиснуть в подобный формат, но будет ли являтся это целесообразным? Этот принцип

аналогичен конструкциям естественного языка, где подобные тройки выступают как символ дуальности пространства-времени и выражение факта, что любое действие происходит между двумя предметами. Но, в естественном языке формат тройки не является обязательным, к тому же часто расширяется обстоятельствами. Разумеется, что и дополнения, и обстоятельства можно представить тройками тоже, но это может быть целесообразным только, когда субъект, предикат и объект - это роли, а не смысл. Например, в таком случае в роли предиката может выступать как глагол-действие, так и глагол-отношение, а в роли объекта как существительное (объект), так и прилагательное (которое редко бывает объектом, а обычно выступает атрибутом объекта). Любимый пример в Семантическом Вебе: "небо голубое", где субъектом выступает "небо", предикатом "иметь цвет", а объектом "голубое". Как мы видим, здесь не совершается никакого действия по смыслу, а выражается только отношение (или же атрибутивность). Данный пример показывает, что изначальный смысл дуальности пространства и времени (например, в "я иду"), представляется в абстрактной форме, где вся предикат и объект являются ролями. И, конечно, очевидный недостаток в обязательности тернарного представления, хотя большинство данных организовано в Н-арном виде, в общем случае (особенно это очевидно в мире компьютеров, где данные могут быть связаны множеством произвольных ссылок, но это истинно и для естественного языка). Онтологии Семантического Веба вводят новый уровень сложности, но не являются ли они логическим продолжением XML схем, на которые мечтали перевести целые индустрии несколько лет тому назад (и на которые все так и не перешли)? В целом, мы видим картину, что с Семантическим Вебом могут работать (по крайней мере, на данный момент), в основном, эксперты, что очень сужает возможности коллаборации на его основе.

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

* Идентификация

Проблема идентификации идеально решается в программировании. Что неудивительно - ведь там это необходимое условие самого процесса (т.к. всё должно быть идентифицировано, чтобы использовать его в дальнейшем). Для всего остального мира, проблема идентификации как стояла, так и стоит, как никогда остро (впрочем, проблема существует даже в программировании на месте его стыка с миром не-программирования, например, идентификации предметов, не включенных в программу напрямую). Текстовый интерфейс усугубил проблему идентификации тысячей аббревиатур, которые необходимо запомнить (или найти). Графический интерфейс облегчил проблему тем, что показывает идентификаторы явно, однако проблема его заключается в том, что эти идентификаторы не доступны для переиспользования (например, чтобы сослаться на какой-либо элемент и изменить его значение/состояние). Файловая система вводит еще один уровень сложности идентифицирования, т.к. необходимо запоминание имен файлов и путей. Доменная система заставляет запоминать имена доменов и URL-ы. В целом, конечно, любое запоминание полезно для тренировки памяти, но на выходе мы также видим свалку из миллионов идентификаторов. И ладно, когда чужие идентификаторы нам ничего не говорят о содержимом, так даже те идентификаторы, которые мы используем для собственных файлов, со временем тоже могут потерять смысл.

* Абстракция

Проблема абстракции более-менее решена в программировании. Что неудивительно - ведь там это достаточное условие самого процесса, а именно, программирование постоянно оперирует с абстракциями, которые соответствуют другим абстракциям или предметам реального мира. Существует, конечно, и небольшая проблема, а именно: пройдя через несколько этапов абстрагирования (например, в цепочке "пользователь-дизайнер-разработчик-пользователь") на выходе мы имеем абстракции, которым не всегда можно поставить в соответствие исходные абстракции. Отброшенная информация либо подразумевается (дизайнером, разработчиком, и т.п.), либо просто игнорируется. Для мира вне программирования проблема выглядит по-другому, т.к. здесь абстрагирование отсутствует вообще. Почему? Главным образом, потому что не существует формального алгоритма абстрагирования. Впрочем, абстрагирование частично доступно через идентификацию (ведь идентификатору соответствует содержимое, т.е. идентификатор, по сути, и является абстракцией информации, особенно это очевидно, если в роли идентификатора выступает текст на естественном языке), что неудивительно, так как идентификация - это как бы "идеальное" абстрагирование, когда похожесть источника и результата абстрагирования является полной.

* Смысл

Проблема смысла лучше всего решается в программировании. Что такое смысл? Простейшее определение может звучать так: комплекс идентификаторов сходны по смыслу, если стоящие за ними объекты, действия, отношения тоже сходны. Например, комплекс идентификаторов может включать: (1) фотографию части реальности, где травка зеленеет и солнышко блестит, (2) сочинение, описывающее эту часть реальности, (3) предложение "травка зеленеет, солнышко блестит", (4) предложение "весна пришла, ожили растения, стало тепло и сухо". Разумеется, что полной эквивалентности между этими комплексами достичь практически невозможно, так (2) абстрагирована при помощи фотоаппарата (а если это картинка в памяти, то абстрагирована человеческим глазом), (2), (3) и (4) являются результатом абстрагирования человеческого ума, причем (3) и (4) также могут выступать в качестве абстракции по отношению к (2). Все эти случаи не могут быть полностью эквивалентными, так как полностью идентичное абстрагирование двух инструментов абстракции (человеческий ум, глаз, фотоаппарат, и т.п.) достижимо только в идеальных условиях. Поэтому нам приходится устанавливать допустимые границы, в пределах которого мы считаем комплексы сходными. Так, в нашем случае, смысл абстрагируется в объекты травы и солнца, которые соответственно зеленеют и блестят (действия, отношения). Абстрагируясь, мы можем отбросить факты, что трава не полностью зеленеет, и не всегда солнышко блестит. Обозначив допущения, мы можем прийти к ситуации, в которой все комплексы могут считаться сходными. В программировании каждому объекту реального мира соответствуют либо переменная, либо объект, либо комплекс объектов и т.д. Чего нет или частично нет в программировании: (а) категоризации элементов смысла (объекты, действия, отношения, временные отношения, и т.п.), (б) связи с объектами реального мира. Тоже самое касается и Семантического Веба, который пытается упорядочить информацию при помощи новых стандартов, но не решает полностью ни проблему категоризации (хотя пытается при помощи онтологий), ни проблему связи с реальным миром (хотя пытается при помощи URI/URN).

Поделиться с друзьями: