wizzard: (Default)
[personal profile] wizzard

между делом, ковыряя в CmapTools и Google Wave бакалаврскую, подумалось

- а ведь насколько удобнее было бы скрестить WYSIWYG редактор типа Ворда с подобным графовым представлением
- семантические связи между элементами, к которым прицеплены отформатированные куски текста и иллюстрации, видно структуру документа
- и аннотации туда же, и ссылки на соответствующие фрагменты кода аля Code Bubbles (literate programming, дадада!)
- можно и базу знаний (например, ссылки на алгоритмы, используемые в коде) туда же запихать, что явно помогло бы поддерживать систему следующим поколениям девелоперов
- а потом эта самая структура сплюскивается и форматируется в традиционную книгоподобную штуку
- и код, который компилируется. Или чертежи. И инструкции исполнителям на местах

такая организация, имхо, замечательно помогала бы работе над большими текстами. и софтом. и документацию было бы на порядок проще синхронизировать с реальной структурой программы. а, ну и еще чтобы его можно было одновременно редактировать и аннотировать всем, кто разрабатывает проект. багтрекинг тоже с виду замечательно ложится на такое.

Date: 2010-05-30 11:49 pm (UTC)
From: [identity profile] antonix.livejournal.com
Мы привыкли что мысли записываются в компьютер в виде текста. Именно текста, а не чего-то другого. Но в голове то мысли существуют в виде неких связанных между собой визуально-слухо-нюхо-ощутительных образов, не имеющих ничего общего с текстом. И эти образы нужно как-то компилировать в байт-код. Отсюда появились понятия языков, семантик, и всего прочего. И тут есть такие три штуки:

1. Внутреннее представление у разных людей сильно отличается. Иногда очень сильно. Во многих случаях оно даже не похоже. В силу существенных различий, делая очередной «литературный редактор» скорее всего будет сделана просто ещё одна семантика не имеющая ничего общего с внутренним представлением. Получиться, что все равно нужно конвертировать внутреннее представление во внешнее. Конечно, всё намного проще, если люди мыслят одинаково. Но тогда у них и с обычным текстом проблем не будет никаких.

2. В силу того, что воображение с лёгкостью создаёт кучу невообразимых штук, трансляция из внутреннего представления во внешнее, всегда происходит с потерей информации. Собственно отсекаются все несущественные «невообразимые» штуки. Можно бесконечно долго пытаться определить что существенно, а что нет и в каких случаях. Но так или иначе, трансляции из внутреннего представления во внешнее, всегда происходят с потерей информации. Другими словами ни одно внешнее представление не будет абсолютно точно и полно отображать внутреннее. Так как машина абсолютно формальна, а представление нет – компиляция в машинный код, всегда приводит к частичной потере информации. Это как проекция трёхмерной модели на плоскость.

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

Я думаю это целая наука, о построении моделей и их представлении. И это намного больше чем просто ещё одно IDE. Наверное если бы эта наука была, то можно было бы отображать одни и те же модели в разные представления, в зависимости от того, в каком виде их лучше всего воспринимает данный конкретный человек. Ну и компилировать их в полностью формальный язык, по сути байт-код, попутно уточнив «параметры проекции», то есть способ определения «что в данном случае существенно а что нет».

То что делается сейчас, это реализации частных случаев, представлений отдельно взятых людей. Literate Programming это способ представления удобный для Дональда Кнута. Просто ещё один частный случай. И то, о чем мы тут говорим, это тоже частный случай, просто немного другой. Разумеется, попытка впихнуть тупо везде отдельно взятый частный случай, изначально обречена на провал. Но тем не менее, с чего то же нужно начинать. Это занятие для около айтишных аспирантов. Потому что это самое что и есть наука.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Dec. 25th, 2025 02:32 pm
Powered by Dreamwidth Studios