между делом, ковыряя в CmapTools и Google Wave бакалаврскую, подумалось
- а ведь насколько удобнее было бы скрестить WYSIWYG редактор типа Ворда с подобным графовым представлением
- семантические связи между элементами, к которым прицеплены отформатированные куски текста и иллюстрации, видно структуру документа
- и аннотации туда же, и ссылки на соответствующие фрагменты кода аля Code Bubbles (literate programming, дадада!)
- можно и базу знаний (например, ссылки на алгоритмы, используемые в коде) туда же запихать, что явно помогло бы поддерживать систему следующим поколениям девелоперов
- а потом эта самая структура сплюскивается и форматируется в традиционную книгоподобную штуку
- и код, который компилируется. Или чертежи. И инструкции исполнителям на местах
такая организация, имхо, замечательно помогала бы работе над большими текстами. и софтом. и документацию было бы на порядок проще синхронизировать с реальной структурой программы. а, ну и еще чтобы его можно было одновременно редактировать и аннотировать всем, кто разрабатывает проект. багтрекинг тоже с виду замечательно ложится на такое.
no subject
Date: 2010-05-30 12:05 am (UTC)no subject
Date: 2010-05-30 12:35 am (UTC)мне просто казалось что он про представление обьектов последовательностями\стэками операций, а не про *такое*...
no subject
Date: 2010-05-30 12:42 am (UTC)Ты не выбрасываешь никаких промежуточных результатов, модель уточняется и (автоматически) собирается в исходник, а потом в исполняемый код.
То же и для документации и т.д.
no subject
Date: 2010-05-30 07:53 am (UTC)Автор сделал её поскольку ему предстояло писать диплом и т.д.
2. Однако в нее встроен чересчур примитивный редактор, и привязывать программы к квадратикам неудобно (писать текст, однако, можно, с минимальной HTML разметкой)
3. Удобный формат я сделал в программе Molly для literate programming - это "складывающийся хтмл":
http://literate-molly.sourceforge.net/
(читать не в майкрософтовском браузере; должен быть включен JavaScript)
Одно время я хотел связать Molly с "картами" выдаваемыми kdissert - это не сложно, он пишет свои файлы в формате XML.
Однако решил, что овчинка не стоит выделки.
no subject
Date: 2010-05-30 10:56 am (UTC)Не, ну программ таких у меня завались, что под вынь, что под линь. Речь именно о полноценном семантическом верстаке, и (эгоистично) желательно чтобы в нем еще ГОСТ-совместимые документы верстать можно было :)
>> складывающийся хтмл
До определенного обьема это удобно, да. Потом хочется много views одновременно, collaboration и всего такого...
>> хотел связать
ну, в общем, овчинка стоит выделки, только чуть более основательной.
Там есть неограниченное количество views
Date: 2010-05-30 11:32 am (UTC)no subject
Date: 2010-05-30 07:57 am (UTC)no subject
Date: 2010-05-30 08:20 am (UTC)Цель - не "карты' (и более того, они могут оказаться поразительно неудобны, когда проект разрастается).
Цель - УПРАВЛЕНИЕ ЧЕЛОВЕЧЕСКИМ ВНИМАНИЕМ.
Оперативная память очень мала, не более 7-9 объектов. Потому главное в создании сложных кропотливых текстов (любых, программирование лишь частный пример) - в том, как не погрязть, и видеть всю картину.
Карты лишь один из способов представления информации, иной (такой же древний и стандартный) - "outlines", т.е. то, что вы делаете, когда пишете оглавление: показать структуру, скрыв все детали/тело текста.
Объединяя возможность "складывать" разделы с быстрой навигацией, получаем требуемое.
no subject
Date: 2010-05-30 10:59 am (UTC)Автоматический гиперлинкинг и быстрый поиск и фильтрация тоже.
no subject
Date: 2010-05-30 10:58 am (UTC)сбоку к этому делу прикручивается CRM система, логистика, прожект планнер и какой-нить 3д редактор, и вуаля, можно автоматизировать любое предприятие *целиком*, не только IT-шное...
no subject
Date: 2010-05-30 11:50 am (UTC)no subject
Date: 2010-05-30 03:57 pm (UTC)no subject
Date: 2010-05-30 11:49 pm (UTC)1. Внутреннее представление у разных людей сильно отличается. Иногда очень сильно. Во многих случаях оно даже не похоже. В силу существенных различий, делая очередной «литературный редактор» скорее всего будет сделана просто ещё одна семантика не имеющая ничего общего с внутренним представлением. Получиться, что все равно нужно конвертировать внутреннее представление во внешнее. Конечно, всё намного проще, если люди мыслят одинаково. Но тогда у них и с обычным текстом проблем не будет никаких.
2. В силу того, что воображение с лёгкостью создаёт кучу невообразимых штук, трансляция из внутреннего представления во внешнее, всегда происходит с потерей информации. Собственно отсекаются все несущественные «невообразимые» штуки. Можно бесконечно долго пытаться определить что существенно, а что нет и в каких случаях. Но так или иначе, трансляции из внутреннего представления во внешнее, всегда происходят с потерей информации. Другими словами ни одно внешнее представление не будет абсолютно точно и полно отображать внутреннее. Так как машина абсолютно формальна, а представление нет – компиляция в машинный код, всегда приводит к частичной потере информации. Это как проекция трёхмерной модели на плоскость.
3. В любом случае будет разделение между внутренним и внешним представлением. Вопрос лишь в том, где будет проходить эта граница. С одной стороны, чем ближе к внутреннему представлению, тем проще с этим работать. Но то, что для одного близко, для другого далеко. И тут не все так просто.
Я думаю это целая наука, о построении моделей и их представлении. И это намного больше чем просто ещё одно IDE. Наверное если бы эта наука была, то можно было бы отображать одни и те же модели в разные представления, в зависимости от того, в каком виде их лучше всего воспринимает данный конкретный человек. Ну и компилировать их в полностью формальный язык, по сути байт-код, попутно уточнив «параметры проекции», то есть способ определения «что в данном случае существенно а что нет».
То что делается сейчас, это реализации частных случаев, представлений отдельно взятых людей. Literate Programming это способ представления удобный для Дональда Кнута. Просто ещё один частный случай. И то, о чем мы тут говорим, это тоже частный случай, просто немного другой. Разумеется, попытка впихнуть тупо везде отдельно взятый частный случай, изначально обречена на провал. Но тем не менее, с чего то же нужно начинать. Это занятие для около айтишных аспирантов. Потому что это самое что и есть наука.
no subject
Date: 2010-05-31 01:14 am (UTC)Собственно да. Моделирование всего.
>> Это занятие для около айтишных аспирантов. Потому что это самое что и есть наука.
Угу, согласен...
no subject
Date: 2010-05-31 08:20 am (UTC)no subject
Date: 2010-05-31 10:34 am (UTC)с практической точки зрения, если не лезть в семантику собственно ЯП и не заниматься трансформацией моделей, а сделать только IDE - то это замечательная отправная точка, которую сделать проще. А там можно начинать UI обкатывать, подключать штангистов™ для написания трансформаторов, инвесторов, и всякое такое...
no subject
Date: 2010-06-01 08:54 am (UTC)