May 9th, 2009

2021 год

Susan Boyle

Вот это записано 11 апреля 2009г., Susan Boyle, 47 лет, безработная (и инвалид от рождения).


Запись на благотворительном CD, который вышел тиражом 1000 экземпляров в 1999 году, ей было тогда 37 лет.


Запись ее выступления на чьей-то свадьбе в 1984 году


Разные люди находят в этой истории разное. Мне тут очень интересно:

1) как из полного певческого непрофессионализма с годами постепенно вырастает профессионализм. Мой папа часто говорил, что музыкант начинается от сорока лет. Я до сих пор не понимаю, почему он в этом упорствовал, ибо мой опыт показывает, что музыкант может как начинаться от сорока лет, так и заканчиваться к этому возрасту. Но, похоже, тут как раз тот случай, который он и имел ввиду.

2) как youtube меняет музыкальную жизнь. За несколько суток появилось огромное число любительских записей Susan Boyle самых разных лет, ее певческая жизнь оказалась асболютно прозрачной.

3) как легко демонстрируются некоторые виды мастерства. Тут раскрыл человек рот -- и через тридцать секунд все понятно. С другими профессиями не то что тридцати минут, тридцати часов для понимания уровня мастерства бывает недостаточно.
2021 год

Об ДРАКОНа

Последнюю пару недель много разговоров про ДРАКОН (Дружелюбный Русский Алгоритмический Язык, Который Обеспечивает Наглядность):
Ознакомительная статья с картинками -- http://www.transhumanism-russia.ru/content/view/331/116/
http://forum.oberoncore.ru/viewforum.php?f=62&start=0 -- родной форум разработчиков
http://www.computerra.ru/readitorial/418507/ -- краткая историческая справочка и http://www.computerra.ru/forum/index.php?PAGE_NAME=read&FID=24&TID=332361 -- 57 страниц дискуссии (с 13 апреля 2009г.), и конца дискуссии пока не видно.

Основные бурно обсуждаемые вопросы -- ДРАКОН как алгоритмический язык для непрограммистов, ДРАКОН как предтеча UML, ДРАКОН как российский космический язык (вариант: SysML для Бурана), ДРАКОН как удобная замена IDEF0, ДРАКОН как школьный алгоритмический язык, ДРАКОН как графическая нотация для Паскаля, Си и прочих Модул и т.д. и т.п.

Вот мои три копейки к этим дискуссиям:

1. Очень жалко, что много-много отечественных (да и не отечественных) языков конца 80-х померло, едва родившись. Так, я принял где-то в 1990-м году участие в разработке языка Pra, и до сих пор жалею, что идеи этого языка остались нереализованными -- даже спецификаций не сохранилось.

2. Увы, отечественные языки в большинстве своем остались на уровне "пакетных" (краткий миг между тогдашним процедурным прошлым и объект-ориентированным будущим -- Ада, Модула как примеры). Мейнстримный переход к объект-ориентированным языкам так и прошел незамеченным. ДРАКОНа этот вопрос даже не волнует, его волнует представление пробега точки исполнения по многовариантному будущему. Развертка во времени (планы), вот что для этого языка волнительно, а структура мира этим языком не описывается.

3. В языках есть три части: абстрактный синтаксис, представления (конкретный синтаксис: часто несколько -- текстовое, графическое, табличное и т.д.), стили -- правила хорошего тона (эргономика, как ее называют авторы ДРАКОНа: то, что безразлично компиляторам, кроме тех языков, в которых значимы элементы, традиционно относимые в других языках к чисто оформительским, например, значимые отступы). ДРАКОН неинтересен как язык, его абстрактный синтаксис примитивен. ДРАКОН неинтересен, как конкретный синтаксис -- это просто один из вариантов представления алгоритма его блок-схемой. ДРАКОН интересен его вниманием к эргономике.

4. Поэтому ДРАКОН я бы считал примером того, как из дерьма (блок-схем) какого-то однобокого процедурного view на систему можно пытаться делать конфетку, определяя стиль использования. Важен не конкретный ДРАКОН, важен метод, который красочно и ярко демонстрируют его создатели: алгоритм сам по себе ничто, а его выражение-представление-оформление-изложение -- всё. В этом месте у меня всплывает Кнутовское литературное программирование, хотя я понимаю всю кощунственность его поминания в этом контексте.

Вот взять, например, какой-нибудь SysML в графическом его конкретном синтаксисе использовать методы стилизации/"эргономизации", наработанные в ДРАКОНе и абстрагированные от ДРАКОНа.

5. Отдельный вопрос -- это сознательная ориентация ДРАКОНа на попсовость. ДРАКОН предлагает не мощные средства выражения, а понятные. У него нет задачи выразить что-то компактно/лаконично, или красиво, или встроить в себя какую-то другую нотацию/DSL. У него есть задача выразить последовательность шагов алгоритма понятно, снизить входной барьер. Это прямой антипод Форта/Лиспа (в их стековой парадигме и функциональной парадигме) и прямой наследник Бейсика в закреплении "народных операторов". Если одни языкостроители ломают (ну ладно -- не ломают, а разминают) мозги пятикурсников об свой язык, то другие языкостроители обламывают свои языки под мозг пятиклассников. И не нужно мне говорить, что "истина должна быть где-то посредине".

6. Я вот ищу язык моделирования, с которым можно было бы прийти к инженерам и организаторам. И никаких дебютных идей по этому поводу я не вижу. ДРАКОН с его чиста конкретна процедурным заходом идет лесом, SysML с его "суженым расширеным" UML идет другим лесом, IDEF0 с его однобокостью идет третьим лесом.

Правильных текстовых языков на темы моделирования я не встречал. Нынешние симпатии мои на стороне безатрибутных языков (ORM, Gellish), плюс в качестве конкретного синтаксической одёжки для них DSL-шаблоны (про которые, конечно, пишут "думайте о шаблонах как о макросах"). Для этих языков нет ни хороших конкретных синтаксисов для разных удобных view, ни развитого инструментария, ни -- тем более -- инструкций по стилю типа тех, что можно найти в описаниях ДРАКОНа. Но какой-то нюх мне подсказывает, что искать всё мне потребное нужно именно в этом месте: мозгозаворачивательный безатрибутный холст, на котором нарисованы тщательно обломанные под народный уровень DSL.

Йа -- язычнег.