OberonCore
https://forum.oberoncore.ru/

Семантический редактор
https://forum.oberoncore.ru/viewtopic.php?f=93&t=1542
Страница 17 из 34

Автор:  Valery Solovey [ Понедельник, 12 Декабрь, 2011 20:40 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
А может быть, для начала добавить справа вкладку - панель с коллекцией иконок/кнопок сниппетов? А то даже не понятно, какие конструкции вошли в диалекты языков, используемых в редакторе, и есть ли там что-то новенькое. Сразу добавится наглядности, и не придется лезть в мануал с описанием особенностей версий языков, воспринимаемых редактором. По мере продвижения Вашего исследования можно будет добавлять новые сниппеты.
Тут есть два момента, на которые стоит обратить внимание:
1. одного только вида конструкции часто бывает недостаточно для понимания её сути, и всё равно приходится лезть за пояснениями в документцию.
2. после того, как все конструкции выучены, то эта штука только мешаться под руками будет.

Автор:  Сергей Прохоренко [ Понедельник, 12 Декабрь, 2011 22:11 ]
Заголовок сообщения:  Re: Семантический редактор

Valery Solovey писал(а):
Сергей Прохоренко писал(а):
А может быть, для начала добавить справа вкладку - панель с коллекцией иконок/кнопок сниппетов? А то даже не понятно, какие конструкции вошли в диалекты языков, используемых в редакторе, и есть ли там что-то новенькое. Сразу добавится наглядности, и не придется лезть в мануал с описанием особенностей версий языков, воспринимаемых редактором. По мере продвижения Вашего исследования можно будет добавлять новые сниппеты.
Тут есть два момента, на которые стоит обратить внимание:
1. одного только вида конструкции часто бывает недостаточно для понимания её сути, и всё равно приходится лезть за пояснениями в документцию.


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

Если вида конструкции недостаточно, то конструкция неудачная, и нуждается в изменении. Может помочь и текстовый ярлык под иконкой или более наглядная иконка.

Valery Solovey писал(а):
2. после того, как все конструкции выучены, то эта штука только мешаться под руками будет.


Семантический редактор Валерия Лаптева предназначен для обучения программированию, и в том числе для изучения конструкций. Поэтому в этом редакторе такая панель будет вовсе не лишней.

А что такое Вы делаете руками, что "эта штука" будет Вам мешаться? Небось, колошматите по клавишам вместо того, чтобы собирать программу из готовых элементов? Клавиатура - устаревшее средство ввода. Скоро будете щелкать по тачскрину - но не по виртуальной клавиатуре (ну, разве что для ввода новых идентификаторов), а по коллекциям элементов. А если не сможете избавиться от вредной привычки колотить клавиши, то просто откроете на этом месте другую вкладку - и нет проблем! :D

Автор:  Владислав Жаринов [ Вторник, 13 Декабрь, 2011 07:11 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
...
Valery Solovey писал(а):
...
Тут есть два момента, на которые стоит обратить внимание:
1. одного только вида конструкции часто бывает недостаточно для понимания её сути, и всё равно приходится лезть за пояснениями в документцию.
Документация не нужна. Она может устареть и уже не соответствовать версии редактора. Люди не любят толстые документы. Достаточно контекстной справки, всплывающей подсказки и т.п.

Если вида конструкции недостаточно, то конструкция неудачная, и нуждается в изменении. Может помочь и текстовый ярлык под иконкой или более наглядная иконка.
...
Ну, в общем да... это и есть "когнитивное качество" языка... :)
Т.е. Вы, Сергей, предлагаете что-то вроде этого:
Валерий Лаптев в viewtopic.php?f=7&p=68528#p68524 писал(а):
Это я к чему? можно написать модулечек (или два-три-четыре), который вот так же будет давать пояснения на вопросы пользователя. Или пользователю будет задавать вопросы, чтобы его натолкнуть на обнаружение ошибки.
Для этого достаточно просто соотв. образом спланированного документа. Ссылки или складки. Пример со складками.

Пример:
фразу "неверное значение константы" заменить на "неверное значение константы (подробнее)". Нажатие на ссылку подробнее откроет документ с предлагаемыми решениями проблемы и также ссылки на эл. документы и литературу.
Роман М. писал(а):
А в качестве курсовой работы не пойдёт?
Не нужна тут курсовая работа.
1) Документы с пояснениями складывать в отдельные документы по номерам ошибок. Или в один документ с оглавлением StdLinks.Target <номер ошибки>....<>
2) К раскрытому варианту маркера приставить вторую область --- или слово подробнее, или, я бы приделал более короткий вариант --- кнопочку, например, в виде треугольника.
3) При тычке по этой кнопке выполняется Dialog.Call("StdCmds.OpenDoc('Dev/Rsrc/..../no.odc')"... или Dialog.Call("StdCmds.OpenDoc('Dev/Rsrc/..../errors.odc');StdLinks.ShowTarget('no')"...
Делов на пару часов. А то и меньше...

Автор:  Сергей Прохоренко [ Вторник, 13 Декабрь, 2011 12:29 ]
Заголовок сообщения:  Re: Семантический редактор

Совершенно верно. Всё должно быть не в толстом талмуде, а на экране, и зависеть от контекста. Для ошибок всё должно быть по врачебной схеме:

анамнез + симптомы + анализы -> диагноз -> предписание -> остаточные симптомы + анализы -> выписка

Автор:  Валерий Лаптев [ Вторник, 13 Декабрь, 2011 15:17 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
Совершенно верно. Всё должно быть не в толстом талмуде, а на экране, и зависеть от контекста. Для ошибок всё должно быть по врачебной схеме:

анамнез + симптомы + анализы -> диагноз -> предписание -> остаточные симптомы + анализы -> выписка

Под анамнезом вы здесь что понимаете?
Цитата:
Ана́мнез (от греч. ἀνάμνησις — воспоминание) — совокупность сведений, получаемых при медицинском обследовании путём расспроса самого обследуемого и/или знающих его лиц.

Автор:  Сергей Прохоренко [ Вторник, 13 Декабрь, 2011 17:37 ]
Заголовок сообщения:  Re: Семантический редактор

В отечественной медицине под анамнезом понимается выписка из медкарты или истории болезни (ранее перенесенные заболевания, данные о прививках, условия проживания и социальное окружение, профессиональная группа и т.п.). То есть, это некоторые исторические объективные данные.

Автор:  Info21 [ Вторник, 13 Декабрь, 2011 18:54 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
В отечественной медицине под анамнезом понимается выписка из медкарты или истории болезни (ранее перенесенные заболевания, данные о прививках, условия проживания и социальное окружение, профессиональная группа и т.п.). То есть, это некоторые исторические объективные данные.
Могу ошибаться, но сведения, полученные от больного о предыстории, тоже сюда входят.

Автор:  Valery Solovey [ Четверг, 15 Декабрь, 2011 22:23 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
А что такое Вы делаете руками, что "эта штука" будет Вам мешаться?
Клавиатура стала таким удобным инструментом потому, что человек, преодолев начальное знакомство-обучение потом пользуется ей на уровне подсознания, условных рефлексов. Как головой, можно сказать.

Если на панельке будет больше двух элементов, то, устав за половину рабочего дня, программист начнёт тупить при работе с набором элементов. Даже если их всего три. Но чем больше элементов - тем больше тупление, естественно.

В чём это "тупить" заключено? Человек знает, что ищет элемент, знает куда его ставить, но не видит его на панели. И это не говоря уже о том, что даже если человек и не забыл образ того объекта, который ищет, и всё ещё может его увидеть на панели, ему всё равно нужно поработать над его поиском, а потом поработать над его использованием (перемещением в нужное место мышью или применить другое действие). А поработать - значит затратить энергию. Клавиатура таких усилий не требует. На ней не надо ничего искать, потому что ищут то, что находится снаружи, а клавиатура - в голове.

Автор:  Сергей Прохоренко [ Четверг, 15 Декабрь, 2011 23:06 ]
Заголовок сообщения:  Re: Семантический редактор

Это неверная модель - она не соответствует действительности. Человек печатает на клавиатуре не всё то, что хочет, а только то весьма ограниченное количество нужных ключевых слов и идентификаторов, которые понимает и может удержать в голове. А это не так уж и много - не больше того, что видно на экране сразу. В частности, на экране могут всегда находиться наиболее часто используемые элементы, относящиеся к текущему контексту - сгруппированные для удобства поиска, с наглядными и легко запоминающимися иконками. А уж пройти по ссылкам с помощью мыши - задача, которая никогда не поставит человека в тупик. Романтика командной строки (со стопкой документации!) осталась в прошлом веке.

Автор:  Info21 [ Четверг, 15 Декабрь, 2011 23:13 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
Это неверная модель - она не соответствует действительности. Человек печатает на клавиатуре не всё то, что хочет, а только то весьма ограниченное количество нужных ключевых слов и идентификаторов, которые понимает и может удержать в голове.
Вот как раз процитированное, на мой взгляд, неверно.

Если чел начинает уверенно юзать комп., то он печатает что ни попадя. В смысле вовсе не только "ключевые слова".

Text processing -- главное приложение ПК.

Автор:  Сергей Прохоренко [ Пятница, 16 Декабрь, 2011 09:49 ]
Заголовок сообщения:  Re: Семантический редактор

Info21 писал(а):
Вот как раз процитированное, на мой взгляд, неверно. Если чел начинает уверенно юзать комп., то он печатает что ни попадя. В смысле вовсе не только "ключевые слова".


А что еще Вы печатаете в тексте программы, кроме ограниченного набора ключевых слов и идентификаторов? Пространные комментарии? Согласен, для этого нужна клавиатура (для ввода коротких словечек можно использовать и иконки :D )! Но она вовсе не нужна для ввода самой программы. А почему бы не вставить комментарий в виде рисунка, гипертекста, голосового письма, фотографии, видеоролика, pdf-файла, 3D-объекта? Ткнул в него пальцем на тачскрине - и получил. С другой стороны, хорошо структурированная программа с понятными идентификаторами и без лишнего синтаксического мусора текстовых языков программирования - сама себе комментарий. А это именно та область, где структурный редактор за пояс заткнет любые языки программирования с текстовой основой.

Автор:  Info21 [ Пятница, 16 Декабрь, 2011 11:15 ]
Заголовок сообщения:  Re: Семантический редактор

Сергей Прохоренко писал(а):
Info21 писал(а):
Вот как раз процитированное, на мой взгляд, неверно. Если чел начинает уверенно юзать комп., то он печатает что ни попадя. В смысле вовсе не только "ключевые слова".
А что еще Вы печатаете в тексте программы, кроме ограниченного набора ключевых слов и идентификаторов? Пространные комментарии? Согласен, для этого нужна клавиатура (для ввода коротких словечек можно использовать и иконки :D )!
Да хотя бы документация с учебниками.

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

Автор:  Илья Ермаков [ Пятница, 16 Декабрь, 2011 12:57 ]
Заголовок сообщения:  Re: Семантический редактор

У меня, из-за разбитости рабочего времени (преподавание, фирма, встречи, НИР со студентами проч.), постоянно наблюдается тот эффект, про который сказал Валерий: я смотрю - и не вижу... Могу в файловом обозревателе на полминуты зависнуть, "не догоняя", где расположено то, что мне сейчас нужно... (и думая о чём-то параллельно). Если же открыт не обозреватель, а Midnight Commander (он не так удобен, как FAR, поэтому пользуюсь не всегда), то я практически подсознательно ввожу cd. Или umount для отключения флешки вместо поиска её значка на рабочем столе.

"Палитры" очень тяжело воспринимать, если ты не сосредоточен на них.

Автор:  Сергей Прохоренко [ Пятница, 16 Декабрь, 2011 13:17 ]
Заголовок сообщения:  Re: Семантический редактор

Просто Вы пользуетесь плохими "палитрами", типа как в MS Visual Studio. Хорошие палитры - контекстные. Они содержат только то, что необходимо для решения Вашей задачи и снабжены средствами поиска для близких и вообще произвольных других задач. Кстати, в Microsoft это осознали и сотворили интерфейс "Лента". Правда, конкретная реализация этого интерфейса оказалась в большинстве случаев неудачная, но они это со временем исправят.

Автор:  Валерий Лаптев [ Пятница, 16 Декабрь, 2011 13:33 ]
Заголовок сообщения:  Re: Семантический редактор

Пацаны ленту в семантический редактор ладят. Говорят - удобно.

Автор:  Сергей Прохоренко [ Пятница, 16 Декабрь, 2011 15:12 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
Пацаны ленту в семантический редактор ладят. Говорят - удобно.


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

Гораздо удобнее, когда каждой вкладке "ленты" соответствует свой уровень представления разрабатываемой программы или тип объекта программы - со своим набором открытых вкладок рабочих панелей.

Можно привести аналогию. Тип операционного стола хирурга (набор рабочих панелей) должен соответствовать набору инструментов (вкладка "ленты"), а набор инструментов - оперируемому органу (уровень представления разрабатываемой программы или тип объекта программы).

Разумеется, некоторые панели (навигационная, окно терминала, отладчик, ярлыки вкладок открытых объектов программы) должны оставаться неизменными - независимо от открытой вкладки "ленты".

Автор:  Владислав Жаринов [ Понедельник, 19 Декабрь, 2011 12:57 ]
Заголовок сообщения:  Re: Семантический редактор

Валерий Лаптев писал(а):
Сергей Прохоренко писал(а):
Совершенно верно. Всё должно быть не в толстом талмуде, а на экране, и зависеть от контекста. Для ошибок всё должно быть по врачебной схеме:

анамнез + симптомы + анализы -> диагноз -> предписание -> остаточные симптомы + анализы -> выписка

Под анамнезом вы здесь что понимаете?
Цитата:
Ана́мнез (от греч. ἀνάμνησις — воспоминание) — совокупность сведений, получаемых при медицинском обследовании путём расспроса самого обследуемого и/или знающих его лиц.
Ну, в общем, да... тоже "разрабатывать, документируя"... как у Дмитрия_ВБ...

Кстати, Валерий, наверное, скоро будет смысл организовывать статью о структурном редактировании в Википедии?.. Имеется в виду - на русском и с конкретикой Вашей реализации (не то что на английском).

Автор:  Владислав Жаринов [ Понедельник, 19 Декабрь, 2011 13:29 ]
Заголовок сообщения:  Re: Семантический редактор

Да, еще хотелось бы услышать замечания от Валерия и/или Сергея к сказанному в этом посте: viewtopic.php?f=62&t=3303&p=68763#p68763.

Автор:  Сергей Прохоренко [ Понедельник, 19 Декабрь, 2011 15:27 ]
Заголовок сообщения:  Re: Семантический редактор

Владислав Жаринов писал(а):
Кстати, Валерий, наверное, скоро будет смысл организовывать статью о структурном редактировании в Википедии?.. Имеется в виду - на русском и с конкретикой Вашей реализации (не то что на английском).


Такая статья пока есть только в английской Википедии, правда "резиновые" формулировки статьи позволяют рассматривать практически любой редактор как структурный. Конечно, было бы неплохо иметь русский аналог, но туда удастся поместить толко самые общие фразы. Что касается конкретики реализации, то Википедия - далеко не лучшее место для ее размещения. Всё, что трактуется как "оригинальное исследование" или "ссылка на оригинальное исследование" или "реклама" (в произвольно широком смысле слова) удаляется большой толпой троллей, включая администраторов. Так что надо заранее приготовиться к "войне правок", переписке с администраторами и прочей нервотрепке, отнимающей уйму времени и сил.

Лучше (но дороже) всего было бы разместить конкретику на отдельном сайте с собственным доменом, несколько хуже - бесплатно на ферме типа http://sites.google.com/ (она может в какой-то момент исчезнуть), а проще всего - в блоге.

Автор:  Валерий Лаптев [ Понедельник, 19 Декабрь, 2011 18:11 ]
Заголовок сообщения:  Re: Семантический редактор

Владислав Жаринов писал(а):
Да, еще хотелось бы услышать замечания от Валерия и/или Сергея к сказанному в этом посте: viewtopic.php?f=62&t=3303&p=68763#p68763.

Мы делаем собственный проект, который назвали Семантическим редактором. Но регулярно читаем PureBuilder и обсуждаем кое-что.
Редактор берет на себя все проблемы организации структурности. Операторы вставляются сразу целиком, поэтому неструктурных просто не может быть.
Более того, на очереди - вставка шаблонов цикла. Никаких особых проблем это не вызывает. Работа по общей схеме реализации.
Проверка синтаксиса фактически превратилась в лексическую проверку вводимых элементов оператора, поскольку сам оператор сразу синтаксически правильный.
Таким образом, фронт-енд компилер отсутствует как класс!
А бэк-енд - пока прямой интерпретатор семантического дерева.

Статью в Вики - рано.
Вот когда напишем статью в РСДН - тогда можно и о статье в Вики подумать.

Страница 17 из 34 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/