6 июня 2010 · Комментарий

Без заголовка

Спасибо за ссылку, интересно. Когда-то давным-давно (где-то в 1983 году, плюс-минус год-два) на одной из Школ программирования, проводимых ВЦ РГУ в Лиманчике (до сих пор вспоминаю эти события с нежностью) рассматривался вопрос о том, что такое "язык сверхвысокого уровня". После трех дней дискуссий было выработано какое-то определение (что-то очень похожее на определение современного DSL), и один из присутствующих вдруг заявил, что знает такой язык: это RPG -- язык генератора отчетов (что-то типа отдельного языка для оператора FORMAT в Фортране, что казалось всем присутствующим ниже нижнего уровня языка). Присутствующие обалдели, и не смогли от этого оправиться: RPG и впрямь удовлетворял всем требованиям сверхвысокоуровневости. Поэтому я веду линию этих языков верстки от нескольких источников: -- операторы "формат" всяких языков -- спецязыки генераторов отчетов -- языки разметки текста (ведущие свою историю от сладкой парочки форматтеров nroff/troff и заканчивая технологией DITA) -- языки верстки типа того же CSS. Мне вот прямо сейчас нужно что-то выбрать для описания методов в соответствии с метамоделью ISO 24744 (на выходе должен быть высокорегулярный текст типа http://www.verdewek.com/openmetis/Download/OPENMetisWhitePaper.zip). Мне почему-то кажется, что это нужно делать в "языковой парадигме", а не парадигме "кликания табличек", как в EPF Composer, в котором генерируются подобные тексты "в виде вебсайтов" (видел я эти переструктурированные вебсайты: нечитабельный ужас!). То есть я бы писал какой-то размеченный (промаркапленный) текст, который после процессинга бы "правильно и красиво сверстался со всеми справочными индексами и проставленными гиперссылками, а содержимое было бы проверено не только на соответствие типов фрагментов текста, но и на соответствие метамодели типов DSL", а не "заполнял окошки для базы данных, чтобы потом сработал хитрый генератор отчетов для хитрой схемы данных". Хотя тут, конечно, возможны варианты, но я склоняюсь к чисто текстовому представлению от "графического с объектами, их портами и связями с заполнением табличек атрибутов для каждого объекта и связи". Конечно, текстовое представление вовсе не исключает (и наоборот, подразумевает) представление в виде внутренней структуры данных, соответствующей схеме данных/метамодели, но "верстка результата-текста" тут вполне нормальная парадигма. Как я понимаю, тут мы обсуждаем что-то очень близкое к помянутой в постинге Пиумартовской парадигме "цепочек смысла", где всякие преобразования делаются в метафоре цепочек парсинга-верстки.

К записи · К обсуждению