Прикладные свободные программы и системы в школе
Шрифт:
Значит основания для рационального выбора программы нужно искать не внутри темы манипулирования текстами, а в ее связи с другими учебными темами. У программистов есть такой эмпирический принцип: когда начинаешь путаться в программах, отложи их в сторону и попытайся разобраться со структурами данных – сам удивишься, насколько очевидными и простыми окажутся после этого решения, касающиеся программ. Возможно, этот принцип разумно применять и пользователям.
Давайте попробуем отложить в сторону программный инструментарий и разобраться с тем, какого рода данные мы им обрабатываем.
«Плоский» и размеченный
Водораздел между текстовыми редакторами
<курсив>Предложение, набранное курсивом.</курсив>
а word-процессор визуализирует эти атрибуты, например:
Предложение, набранное курсивом.
Визуализацию иногда путают с так называемым WYSIWYG-принципом (сокращение от «What you see is what you get» – «Что видишь, то и получишь»).
Однако в общем случае это неверно: WYSIWYG-идеология унаследована от эпохи персональных компьютеров, когда в ходе «малой компьютеризации» отдельные офисы и рабочие места становились «островами» безбумажных технологий в море бумажной коммуникации, и компьютерное представление мыслилось лишь промежуточной или предварительной формой существования текста или документа.
Сегодня большинство документов никогда не попадает на принтер, и нет нужды подстраиваться под архаичный бумажный документооборот. Вполне возможно, что автору или редактору удобнее выделение не курсивом, а подчеркиванием:
_Предложение,_набранное_курсивом._
Более того, современные технологии (например, HTML или XML-оформление текстов) изначально предполагают, что читатель документа может устанавливать собственные предпочтения в визуализации, зависящие от особенностей используемого им оборудования (размеров и разрешающей способности монитора и т.п.) или от своих биологических особенностей (слабого зрения, дальтонизма и т.п.), и в общем случае они могут не совпадать с предпочтениями автора или редактора.
Таким образом, один и тот же документ может быть отображен с разметкой, с визуализацией, а иногда – и с разметкой и с визуализацией (см. Рис. 4-1).
Рис 4-1
Хотя на рисунке нам удалось показать три типа отображения одного и того же документа, не выходя из одного прикладного пакета, это не такой частый случай. На самом деле текстовые редакторы, как правило, не имеют способности непосредственной визуализации вообще или обладают ею лишь в зачатке (как, например, Emacs, способный визуализировать формат Enriched text, но Emacs это не просто редактор, а целая операционная среда), а word-процессоры, в свою очередь, крайне неудобны для редактирования «плоского» текста: слишком разнятся базовая операторика и ожидаемая эргономика этих двух типов прикладных программ.
Учащийся сталкивается с задачей манипулирования «плоским» текстом как минимум два раза (при знакомстве с электронной почтой и при изучении основ программирования), соответственно, успевает познакомиться, как правило, с двумя разными текстовыми редакторами (встроенными в почтовую программу и среду программирования, соответственно). Как минимум два раза он сталкивается и с задачей манипулирования размеченным текстом: один раз его знакомят с word-процессором (как
Знакомство с манипулированием текстом, таким образом, оказывается бессистемным и фрагментарным, и, в лучшем случае, автор учебника или учитель сумеют рассказать о том, что сфера это, в общем-то единая, а показать это оказывается весьма затруднительно.
Значительным шагом к систематизации опыта, вырабатываемого школьным курсом, на наш взгляд, является использование инструментария, позволяющего демонстрировать возможность работы с размеченным текстом разными средствами. Это значит, что к очевидным требованиям, предъявляемым к «учебному» word-процессору (достаточность функций, локализованность, мультиплатформенность, ценовая доступность), добавляется серьезное пожелание: стандартность формата разметки.
Это сильно облегчает выбор. На самом деле, на сегодня всем перечисленным требованиям удовлетворяет, по сути, лишь одна программа. Но сначала – немного о стандартах.
Стандарты разметки текста
Существуют и доказали свою устойчивость два основных типа языков разметки.
Первый из них, это семейство, называемое *ML-языками: на эти две буквы заканчиваются аббревиатуры их названий – GML, SGML, HTML, XML, – а сами по себе эти буквы означают просто «markup language» – «язык разметки».
Второй – разработанный выдающимся американским теоретиком и практиком программирования Дональдом Кнутом язык программирования верстки TeX [68] и его расширения (например, LaTeX). Не будучи официальным стандартом, ТеХ постепенно вытесняет и замещает прочие языки разметки, предназначенные для набора и верстки текстов (TeX и системы на его основе плохо приспособлены для верстки т.н. «иллюстрированных изданий» с характерным для них богатым насыщением текста графикой, сложными обводами и наложениями текста на графику и пр., и этот сегмент рынка остается пока не стандартизованным).
68
Это греческий корень, он читается как русское «тех», а не как «текс».
За пределами этих типов – огромное множество нестандартных (и даже неопубликованных) форматов, зачастую использующих не текстовую, а двоичную форму представления данных (например, файлы «Майкрософт Уорд», «Лексикона» и т.п.). Это исключает возможность применения для работы с такими данными обычных текстовых редакторов и обработку их стандартными текстовыми утилитами, а также сильно затрудняет обратную разработку формата с целью обеспечения импорта и экспорта из независимо написанных программ [69] .
69
Возможно, использование двоичных форматов и было оправданно во времена, когда позволяло экономить байты памяти и носителей на «персоналках» с крайне ограниченными аппаратными ресурсами. В то же время, современные компьютеры (даже относимые к классу персональных, «стартового уровня») обладают ресурсами, позволяющими организовать гораздо более удобную схему: сжатие «на лету» по стандартному алгоритму стандартно размеченного текста или иных данных.