-åÓÔÅÓÔ×ÅÎÎÏ, ÞÔÏ ÒÅÁÌØÎÁÑ ÓÒÅÄÁ, ÐÏÓÔÒÏÅÎÎÁÑ ÎÁ ÜÔÉÈ ÐÒÉÎÃÉÐÁÈ, ÎÅ ÂÕÄÅÔ
-ÓÏÓÔÏÑÔØ ÉÚ ÏÄÎÉÈ ÇÏÌÙÈ ËÉÒÐÉÞÉËÏ×. ÷ ÄÉÓÔÒÉÂÕÔÉ× ÄÏÌÖÎÏ ×ÈÏÄÉÔØ
-ÎÅÓËÏÌØËÏ ÓÏÔÅÎ ÓËÒÉÐÔÏ×, ËÏÔÏÒÙÅ ÂÕÄÕÔ ÓÏÚÄÁ×ÁÔØ Õ ÐÏÌØÚÏ×ÁÔÅÌÑ
-×ÐÅÞÁÔÌÅÎÉÅ, ÞÔÏ Õ ÎÅÇÏ ÅÓÔØ É Netscape É Word É Excel. îÏ ÅÓÌÉ ÅÍÕ
-×ÄÒÕÇ ÚÁÈÏÞÅÔÓÑ ÏÔÏÒ×ÁÔØ ÓÞÉÔÁÌËÕ ÆÏÒÍÕÌ ÏÔ ÜÌÅËÔÒÏÎÎÏÊ ÔÁÂÌÉÃÙ É
-×ÏÔËÎÕÔØ ÅÅ (×ÍÅÓÔÅ Ó sql-ÉÎÔÅÒÆÅÊÓÏÍ) ×ÎÕÔÒØ ÔÅËÓÔÏ×ÏÇÏ ÄÏËÕÍÅÎÔÁ, ÜÔÏ
-ÄÏÌÖÎÏ ÄÅÌÁÔØÓÑ ÄÁÖÅ ÎÅ ÎÁÐÉÓÁÎÉÅÍ ÐÑÔÉ ÓÔÒÏË, Á ÎÅÓËÏÌØËÉÍÉ Ä×ÉÖÅÎÉÑÍÉ
-ÍÙÛÉ. éÎÔÅÒÅÓÎÁÑ ÍÅÔÁÆÏÒÁ ÎÁ ÜÔÕ ÔÅÍÕ ÂÙÌÁ ÒÅÁÌÉÚÏ×ÁÎÁ × Ó×ÏÅ ×ÒÅÍÑ ×Ï
-FrameWork — Õ ËÁÖÄÏÇÏ ÏËÎÁ ÂÙÌÁ ÌÉÃÅ×ÁÑ ÓÔÏÒÏÎÁ (ÐÒÉÍÅÒÎÏ ÔÏ, ÞÔÏ
-ÏËÁÖÅÔÓÑ ÎÁ ÐÒÉÎÔÅÒÅ) É ÉÚÎÁÎËÁ (ÍÁËÒÏÓ ËÏÔÏÒÙÊ ÜÔÏ ÇÅÎÅÒÉÒÕÅÔ).
-</p><p>
-éÎÔÅÒÅÓÎÏ, ÞÔÏ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÁÑ ÒÅÁÌÉÚÁÃÉÑ ÜÔÏÊ ËÏÎÃÅÐÃÉÉ ÍÏÖÅÔ ÐÒÉ×ÅÓÔÉ
-Ë ÓÕÝÅÓÔ×ÅÎÎÏÍÕ ÕÍÅÎØÛÅÎÉÀ ÒÁÚÍÅÒÏ× ÄÉÓÔÒÉÂÕÔÉ×Á. ÷Ù ÎÉËÏÇÄÁ ÎÅ
-ÚÁÄÕÍÙ×ÁÌÉÓØ ÓËÏÌØËÏ ÒÁÚÎÙÈ http-ËÌÉÅÎÔÏ× ×ÈÏÄÉÔ × ÔÉÐÉÞÎÙÊ ÄÉÓÔÒÉÂÕÔÉ×
-Linux? óÈÏÄÕ: Netscape, Lynx, wget, http-ÐÁËÅÔ ÄÌÑ Tcl, libwww-perl.
-á ×ÅÄØ È×ÁÔÉÌÏ ÂÙ ÏÄÎÏÇÏ, ÎÏ ÈÏÒÏÛÅÇÏ. é ÔÁË ÄÌÑ ×ÓÅÇÏ ÏÓÔÁÌØÎÏÇÏ.
-</p><p>
-ðÒÅÄ×ÉÖÕ ×ÏÚÒÁÖÅÎÉÑ, ÞÔÏ ÏÐÉÓÁÎÎÁÑ ÓÉÓÔÅÍÁ — ÒÁÊ ÄÌÑ ÐÒÏÇÒÁÍÍÉÓÔÁ, ÎÏ ÎÅ
-ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ. ðÏÌØÚÏ×ÁÔÅÌÀ ÎÅ ÎÕÖÎÙ reusable components — ÅÍÕ
-ÐÏÄÁ×ÁÊ ÇÏÔÏ×ÙÅ ÐÒÉÌÏÖÅÎÉÑ. äÁ, ÎÏ... åÓÌÉ ÓÉÓÔÅÍÁ ÐÒÅÄÓÔÁ×ÌÑÅÔ ÓÏÂÏÊ
-ÏÄÎÏ ÂÏÌØÛÏÅ ÓÒÅÄÓÔ×Ï ÄÌÑ ÂÙÓÔÒÏÊ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ, ÔÏ ÚÁ
-ÐÏÓÌÅÄÎÉÍÉ ÄÅÌÏ ÎÅ ÓÔÁÎÅÔ — ÎÁÊÄÅÔÓÑ ÎÅÍÁÌÏ (ÇÏÒÁÚÄÏ ÂÏÌØÛÅ ÞÅÍ
-ÕÞÁÓÔÎÉËÏ× «ÂÁÚÁÒÁ» ÓÅÊÞÁÓ) ÌÀÄÅÊ ËÏÔÏÒÙÅ ÚÁ ÄÅÎØÇÉ, ÄÌÑ ÕÄÏ×ÌÅÔ×ÏÒÅÎÉÑ
-ÓÏÂÓÔ×ÅÎÎÙÈ ÐÏÔÒÅÂÎÏÓÔÅÊ, É ÐÒÏÓÔÏ ÒÁÄÉ ÓÁÍÏ×ÙÒÁÖÅÎÉÑ ÂÕÄÕÔ ÜÔÉ ÓÁÍÙÅ
-ÐÒÉÌÏÖÅÎÉÑ ËÌÅÐÁÔØ. ðÒÁ×ÄÁ, ÜÔÏ ÄÏÌÖÎÁ ÂÙÔØ ÓÒÅÄÁ ÒÁÚÒÁÂÏÔËÉ ÐÒÉÌÏÖÅÎÉÊ,
-ËÏÔÏÒÁÑ ÓÏÏÔÎÏÓÉÔÓÑ Ó ÓÕÝÅÓÔ×ÕÀÝÉÍÉ Delphi É C Builder-ÁÍÉ, ÐÒÉÍÅÒÎÏ ËÁË
-«óÒÅÄÁ ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ Unix» ×ÒÅÍÅÎ ëÅÒÎÉÇÁÎÁ É ðÁÊËÁ
-(shell+awk+yacc+C) ÓÏÏÔÎÏÓÉÌÁÓØ Ó ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÍÉ × ÔÅ ×ÒÅÍÅÎÁ ÑÚÙËÁÍÉ
-ÔÉÐÁ Fortran É Basic.
-</p><p>
-ðÏÓÍÏÔÒÉÍ, ËÁËÉÍÉ ÖÅ ÓÒÅÄÓÔ×ÁÍÉ ÍÙ ÒÁÓÐÏÌÁÇÁÅÍ ÓÅÊÞÁÓ, ÄÌÑ ÔÏÇÏ, ÞÔÏÂÙ
-ÐÏÐÙÔÁÔØÓÑ ÒÅÁÌÉÚÏ×ÁÔØ ÐÏÄÏÂÎÕÀ ÉÄÅÀ. îÁÞÎÅÍ Ó ÕÎÉ×ÅÒÓÁÌØÎÏÇÏ ÓÐÏÓÏÂÁ
-ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÉÎÆÏÒÍÁÃÉÉ. ÷ NextStep ÐÏÐÙÔÁÌÉÓØ Ó ÜÔÏÊ ÃÅÌØÀ
-ÉÓÐÏÌØÚÏ×ÁÔØ Display Postscript. ë ÓÏÖÁÌÅÎÉÀ, ËÒÕÐÎÙÍ ÎÅÄÏÓÔÁÔËÏÍ
-Postscript Ñ×ÌÑÅÔÓÑ ÔÏ, ÞÔÏ ÜÔÏ ÐÏÌÎÏÃÅÎÎÙÊ ÐÒÏÃÅÄÕÒÎÙÊ ÑÚÙË, É
-ÐÒÅÄÓÔÁ×ÉÔØ ÓÅÂÅ ËÁË ×ÙÇÌÑÄÉÔ ÐÏÓÔÓËÒÉÐÔÏ×ÓËÉÊ ÆÁÊÌ, ÎÅ
-ÐÒÏÉÎÔÅÒÐÒÅÔÉÒÏ×Á× ÅÇÏ ÐÏÌÎÏÓÔØÀ, ÐÒÉÎÃÉÐÉÁÌØÎÏ ÎÅÌØÚÑ. ðÏÜÔÏÍÕ
-Postscript ÓÏ×ÅÒÛÅÎÎÏ ÎÅ ÐÏÄÈÏÄÉÔ ÄÌÑ ÐÒÏÇÒÁÍÍÎÏÊ ÏÂÒÁÂÏÔËÉ.
-ëÒÏÍÅ ÔÏÇÏ, Postscript ÓÏ×ÅÒÛÅÎÎÏ ÎÅ ÚÁÂÏÔÉÔÓÑ Ï ÓÏÈÒÁÎÅÎÉÉ
-×ÙÓÏËÏÕÒÏ×ÎÅ×ÏÊ ÓÏÄÅÒÖÁÔÅÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ — ÄÅÌÅÎÉÑ ÎÁ ËÁËÉÅ-ÌÉÂÏ
-ÌÏÇÉÞÅÓËÉÅ ÞÁÓÔÉ, ÎÁÐÒÉÍÅÒ.
-</p><p>
-÷Ï ×ÓÅÈ
-ÏÓÔÁÌØÎÙÈ ÓÍÙÓÌÁÈ ÏÎ ÓÏ×ÅÒÛÅÎÎÏ ÚÁÍÅÞÁÔÅÌÅÎ — ÛÉÒÏËÏ ÒÁÓÐÒÏÓÔÒÁÎÅÎ, ÅÓÔØ
-Ó×ÏÂÏÄÎÏ ÒÁÓÐÒÏÓÔÒÁÎÑÅÍÙÊ ËÏÄ ÄÌÑ ÉÎÔÅÒÐÒÅÔÁÃÉÉ (Ghostscript), ËÁÒÔÉÎËÉ
-ÐÅÒÅÄÁÀÔÓÑ × ÔÏÍ ÖÅ ÐÏÔÏËÅ, ÞÔÏ É ÔÅËÓÔ.
-</p><p>
-Display PDF ÕÖÅ ÇÏÒÁÚÄÏ ÌÕÞÛÅ, ÞÅÍ Display Postscript, ÐÏÓËÏÌØËÕ PDF -
-ÑÚÙË ÐÒÅÉÍÕÝÅÓÔ×ÅÎÎÏ ÄÅËÌÁÒÁÔÉ×ÎÙÊ, Á ÐÒÏÇÒÁÍÍÙ ÎÁ ÄÅËÌÁÒÁÔÉ×ÎÙÈ ÑÚÙËÁÈ
-ÇÏÒÁÚÄÏ ÌÕÞÛÅ ÐÏÄÄÁÀÔÓÑ Á×ÔÏÍÁÔÉÚÉÒÏ×ÁÎÎÏÍÕ ÁÎÁÌÉÚÕ, ÞÅÍ ÐÒÏÇÒÁÍÍÙ ÎÁ
-ÐÒÏÃÅÄÕÒÎÙÈ. åÓÔØ × PDF É ÍÉÎÉÍÁÌØÎÙÅ ÓÒÅÄÓÔ×Á ÓÔÒÕËÔÕÒÉÒÏ×ÁÎÉÑ,
-ÎÁÐÒÉÍÅÒ ÇÉÐÅÒÓÓÙÌËÉ. îÏ ÔÕÔ ÇÏÒÁÚÄÏ ÈÕÖÅ ËÁË ÓÏ ÓÒÅÄÓÔ×ÁÍÉ ÒÅÎÄÅÒÉÎÇÁ, ÈÏÔÑ
-Alladin (Á ÔÅÐÅÒØ ÕÖÅ É GNU) Ghostscript Ó ÜÔÉÍ ÓÐÒÁ×ÌÑÅÔÓÑ, É ÏÓÏÂÅÎÎÏ
-ÓÏ ÓÒÅÄÓÔ×ÁÍÉ ÇÅÎÅÒÁÃÉÉ. ëÒÏÍÅ pdftex É ÔÏÇÏ ÖÅ Ghostscript ÎÉÞÅÇÏ É
-ÎÅÔ.
-</p><p>
-ðÏÐÒÏÂÕÅÍ ÚÁÊÔÉ Ó ÄÒÕÇÏÊ ÓÔÏÒÏÎÙ — ÓÏ ÓÔÏÒÏÎÙ ÑÚÙËÏ× ÌÏÇÉÞÅÓËÏÊ
-ÒÁÚÍÅÔËÉ. óÒÁÚÕ ÖÅ × ÇÏÌÏ×Õ ÐÒÉÈÏÄÉÔ SGML Ó ÅÇÏ ÎÁÉÂÏÌÅÅ
-ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÍ ×ÁÒÉÁÎÔÏÍ HTML É ÎÁÓÌÅÄÎÉËÏÍ XML. ðÏÈÏÖÅ, ÞÔÏ ÜÔÏ
-ÉÍÅÎÎÏ ÔÏ, ÞÔÏ ÎÁÍ ÎÁÄÏ. ðÒÁ×ÄÁ, × HTML ËÁÒÔÉÎËÉ ÈÒÁÎÑÔÓÑ ÏÔÄÅÌØÎÏ ÏÔ
-ÔÅËÓÔÁ, ÎÏ ËÔÏ ÍÅÛÁÅÔ ÐÒÉÄÕÍÁÔØ ÄÒÕÇÕÀ DTD. úÁÔÏ ÅÓÔØ ÓÒÅÄÓÔ×Á ÓËÏÌØ
-ÕÇÏÄÎÏ ×ÙÓÏËÏÕÒÏ×ÎÅ×ÏÇÏ ÌÏÇÉÞÅÓËÏÇÏ ÓÔÒÕËÔÕÒÉÒÏ×ÁÎÉÑ, ÓÕÝÅÓÔ×ÅÎÎÏ
-ÕÐÒÏÝÁÀÝÉÅ ÏÂßÑÓÎÅÎÉÅ ÐÒÏÇÒÁÍÍÅ ÔÏÇÏ, ÞÔÏ ÎÁÍ ÏÔ ÎÅÅ ÎÕÖÎÏ.
-</p><p>
-åÝÅ ÏÄÎÉÍ, ÎÅÏÖÉÄÁÎÎÙÍ, ËÁÎÄÉÄÁÔÏÍ ÎÁ ÒÏÌØ ÕÎÉ×ÅÒÓÁÌØÎÏÇÏ ÓÐÏÓÏÂÁ
-ÐÒÅÄÓÔÁ×ÌÅÎÉÑ Ñ×ÌÑÅÔÓÑ X-ÐÒÏÔÏËÏÌ. ó ÏÞÅ×ÉÄÎÏÓÔØÀ, ×ÓÅ ÞÔÏ ÍÏÖÎÏ
-ÐÏËÁÚÁÔØ ÎÁ ÜËÒÁÎÅ, ÍÏÖÎÏ ÐÒÅÄÓÔÁ×ÉÔØ × ×ÉÄÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ ËÏÍÁÎÄ
-ÜÔÏÇÏ ÑÚÙËÁ. âÏÌÅÅ ÔÏÇÏ, Ó ÐÏÑ×ÌÅÎÉÅÍ Xprt ÏÎ ÔÅÐÅÒØ ÇÏÄÉÔÓÑ É ËÁË ÑÚÙË
-ÏÐÉÓÁÎÉÑ ÓÔÒÁÎÉÃ. ìÀÂÁÑ ÓÕÝÅÓÔ×ÕÀÝÁÑ ÐÒÏÇÒÁÍÍÁ ÐÏÄ Unix ÕÍÅÅÔ ÅÇÏ
-ÇÅÎÅÒÉÒÏ×ÁÔØ. åÄÉÎÓÔ×ÅÎÎÙÊ ÎÅÄÏÓÔÁÔÏË — ÎÉËÔÏ ÎÅ ÐÙÔÁÌÓÑ ÎÁÐÉÓÁÔØ
-ÐÒÏÇÒÁÍÍÕ ÏÂÒÁÂÏÔËÉ, ËÏÔÏÒÁÑ ÎÅ ÂÙÌÁ ÂÙ X-ÓÅÒ×ÅÒÏÍ. ë ÔÏÍÕ ÖÅ, ×
-X-ÐÒÏÔÏËÏÌÅ ÐÏÔÏË ÓÏÂÙÔÉÊ ÏÔ ÐÏÌØÚÏ×ÁÔÅÌÑ Ë ÐÒÏÇÒÁÍÍÅ ÏÞÅÎØ ÎÅ ÐÏÈÏÖ
-ÎÁ ÐÏÔÏË ÓÏÂÙÔÉÊ ÏÔ ÐÒÏÇÒÁÍÍÙ Ë ÐÏÌØÚÏ×ÁÔÅÌÀ (è-ÓÅÒ×ÅÒÕ).
-</p><p>
-é ÅÝÅ ÏÄÉÎ ÎÅÔÒÉ×ÉÁÌØÎÙÊ ËÁÎÄÉÄÁÔ:
+Естественно, что реальная среда, построенная на этих принципах, не будет
+состоять из одних голых кирпичиков. В дистрибутив должно входить
+несколько сотен скриптов, которые будут создавать у пользователя
+впечатление, что у него есть и Netscape и Word и Excel. Но если ему
+вдруг захочется оторвать считалку формул от электронной таблицы и
+воткнуть ее (вместе с sql-интерфейсом) внутрь текстового документа, это
+должно делаться даже не написанием пяти строк, а несколькими движениями
+мыши. Интересная метафора на эту тему была реализована в свое время во
+FrameWork — у каждого окна была лицевая сторона (примерно то, что
+окажется на принтере) и изнанка (макрос который это генерирует).
+</p><p>
+Интересно, что последовательная реализация этой концепции может привести
+к существенному уменьшению размеров дистрибутива. Вы никогда не
+задумывались сколько разных http-клиентов входит в типичный дистрибутив
+Linux? Сходу: Netscape, Lynx, wget, http-пакет для Tcl, libwww-perl.
+А ведь хватило бы одного, но хорошего. И так для всего остального.
+</p><p>
+Предвижу возражения, что описанная система — рай для программиста, но не
+для пользователя. Пользователю не нужны reusable components — ему
+подавай гоÑ\82овÑ\8bе пÑ\80иложениÑ\8f. Ð\94а, но... Ð\95Ñ\81ли Ñ\81иÑ\81Ñ\82ема пÑ\80едÑ\81Ñ\82авлÑ\8fеÑ\82 Ñ\81обой
+одно большое средство для быстрой разработки приложений, то за
+поÑ\81ледними дело не Ñ\81Ñ\82анеÑ\82 — найдеÑ\82Ñ\81Ñ\8f немало (гоÑ\80аздо болÑ\8cÑ\88е Ñ\87ем
+участников «базара» сейчас) людей которые за деньги, для удовлетворения
+собственных потребностей, и просто ради самовыражения будут эти самые
+пÑ\80иложениÑ\8f клепаÑ\82Ñ\8c. Ð\9fÑ\80авда, Ñ\8dÑ\82о должна бÑ\8bÑ\82Ñ\8c Ñ\81Ñ\80еда Ñ\80азÑ\80абоÑ\82ки пÑ\80иложений,
+которая соотносится с существующими Delphi и C Builder-ами, примерно как
+«Среда программирования Unix» времен Кернигана и Пайка
+(shell+awk+yacc+C) соотносилась с распространенными в те времена языками
+типа Fortran и Basic.
+</p><p>
+Посмотрим, какими же средствами мы располагаем сейчас, для того, чтобы
+попÑ\8bÑ\82аÑ\82Ñ\8cÑ\81Ñ\8f Ñ\80еализоваÑ\82Ñ\8c подобнÑ\83Ñ\8e идеÑ\8e. Ð\9dаÑ\87нем Ñ\81 Ñ\83нивеÑ\80Ñ\81алÑ\8cного Ñ\81поÑ\81оба
+пÑ\80едÑ\81Ñ\82авлениÑ\8f инÑ\84оÑ\80маÑ\86ии. Ð\92 NextStep попÑ\8bÑ\82алиÑ\81Ñ\8c Ñ\81 Ñ\8dÑ\82ой Ñ\86елÑ\8cÑ\8e
+использовать Display Postscript. К сожалению, крупным недостатком
+Postscript Ñ\8fвлÑ\8fеÑ\82Ñ\81Ñ\8f Ñ\82о, Ñ\87Ñ\82о Ñ\8dÑ\82о полноÑ\86еннÑ\8bй пÑ\80оÑ\86едÑ\83Ñ\80нÑ\8bй Ñ\8fзÑ\8bк, и
+пÑ\80едÑ\81Ñ\82авиÑ\82Ñ\8c Ñ\81ебе как вÑ\8bглÑ\8fдиÑ\82 поÑ\81Ñ\82Ñ\81кÑ\80ипÑ\82овÑ\81кий Ñ\84айл, не
+пÑ\80оинÑ\82еÑ\80пÑ\80еÑ\82иÑ\80овав его полноÑ\81Ñ\82Ñ\8cÑ\8e, пÑ\80инÑ\86ипиалÑ\8cно нелÑ\8cзÑ\8f. Ð\9fоÑ\8dÑ\82омÑ\83
+Postscript совершенно не подходит для программной обработки.
+Кроме того, Postscript совершенно не заботится о сохранении
+высокоуровневой содержательной информации — деления на какие-либо
+логические части, например.
+</p><p>
+Во всех
+остальных смыслах он совершенно замечателен — широко распространен, есть
+свободно распространяемый код для интерпретации (Ghostscript), картинки
+пеÑ\80едаÑ\8eÑ\82Ñ\81Ñ\8f в Ñ\82ом же поÑ\82оке, Ñ\87Ñ\82о и Ñ\82екÑ\81Ñ\82.
+</p><p>
+Display PDF уже гораздо лучше, чем Display Postscript, поскольку PDF -
+Ñ\8fзÑ\8bк пÑ\80еимÑ\83Ñ\89еÑ\81Ñ\82венно деклаÑ\80аÑ\82ивнÑ\8bй, а пÑ\80огÑ\80аммÑ\8b на деклаÑ\80аÑ\82ивнÑ\8bÑ\85 Ñ\8fзÑ\8bкаÑ\85
+гораздо лучше поддаются автоматизированному анализу, чем программы на
+пÑ\80оÑ\86едÑ\83Ñ\80нÑ\8bÑ\85. Ð\95Ñ\81Ñ\82Ñ\8c в PDF и минималÑ\8cнÑ\8bе Ñ\81Ñ\80едÑ\81Ñ\82ва Ñ\81Ñ\82Ñ\80Ñ\83кÑ\82Ñ\83Ñ\80иÑ\80ованиÑ\8f,
+например гиперссылки. Но тут гораздо хуже как со средствами рендеринга, хотя
+Alladin (а теперь уже и GNU) Ghostscript с этим справляется, и особенно
+со средствами генерации. Кроме pdftex и того же Ghostscript ничего и
+нет.
+</p><p>
+Попробуем зайти с другой стороны — со стороны языков логической
+разметки. Сразу же в голову приходит SGML с его наиболее
+распространенным вариантом HTML и наследником XML. Похоже, что это
+именно то, что нам надо. Правда, в HTML картинки хранятся отдельно от
+текста, но кто мешает придумать другую DTD. Зато есть средства сколь
+угодно высокоуровневого логического структурирования, существенно
+упрощающие объяснение программе того, что нам от нее нужно.
+</p><p>
+Еще одним, неожиданным, кандидатом на роль универсального способа
+пÑ\80едÑ\81Ñ\82авлениÑ\8f Ñ\8fвлÑ\8fеÑ\82Ñ\81Ñ\8f X-пÑ\80оÑ\82окол. С оÑ\87евидноÑ\81Ñ\82Ñ\8cÑ\8e, вÑ\81е Ñ\87Ñ\82о можно
+показаÑ\82Ñ\8c на Ñ\8dкÑ\80ане, можно пÑ\80едÑ\81Ñ\82авиÑ\82Ñ\8c в виде поÑ\81ледоваÑ\82елÑ\8cноÑ\81Ñ\82и команд
+этого языка. Более того, с появлением Xprt он теперь годится и как язык
+описания страниц. Любая существующая программа под Unix умеет его
+генерировать. Единственный недостаток — никто не пытался написать
+пÑ\80огÑ\80аммÑ\83 обÑ\80абоÑ\82ки, коÑ\82оÑ\80аÑ\8f не бÑ\8bла бÑ\8b X-Ñ\81еÑ\80веÑ\80ом. Ð\9a Ñ\82омÑ\83 же, в
+X-пÑ\80оÑ\82околе поÑ\82ок Ñ\81обÑ\8bÑ\82ий оÑ\82 полÑ\8cзоваÑ\82елÑ\8f к пÑ\80огÑ\80амме оÑ\87енÑ\8c не поÑ\85ож
+на поток событий от программы к пользователю (Х-серверу).
+</p><p>
+И еще один нетривиальный кандидат: