OberonCore https://forum.oberoncore.ru/ |
|
Семантический редактор https://forum.oberoncore.ru/viewtopic.php?f=93&t=1542 |
Страница 26 из 34 |
Автор: | Дмитрий Грачёв [ Понедельник, 10 Сентябрь, 2012 13:27 ] |
Заголовок сообщения: | Re: Семантический редактор |
Владислав Жаринов писал(а): Да, если какие-то способы реализации "информационных представлений" жёстко связаны с архитектурой приложения... Не, архитектура поддерживает сколько угодно представлений на любое семантическое понятие. Так же любая вьюшка обязывается реализовать контракт на представление любого элемента. Причем код представления в 5 раз меньше кода модели. Так что, если понадобится реализовать еще одно представление модели (или части модели), то это пройдет быстро и безболезненно. |
Автор: | Дмитрий Грачёв [ Понедельник, 10 Сентябрь, 2012 13:30 ] |
Заголовок сообщения: | Re: Семантический редактор |
Alexey_Donskoy писал(а): Есть же объективные критерии и подходы к эргономике, от них и надо отталкиваться. Когда землекопу предлагают убрать лопату и взять экскаватор, он упирается: "не, я лопатой буду, не надо спорить, дело вкуса!" Впрочем, и очевидные, казалось бы, вещи для многих не очевидны. Сейчас придёт "шеф" и скажет: "а докажите-ка, что ваш экскаватор лучше моей лопаты!" Ну, пусть будет так. Всё равно кому-то впоследствии велосипед изобретать придётся. Может, и вам же! Все гораздо проще. Чем спорить, что лучше, пусть лучше каждый выберет то, что ему больше нравится, и пользуется этим. Нравится лопатой - орудуй лопатой, нравится экскаватором - садись туда, или держи совок... Тут есть более интересные вопросы. Например, на начальных этапах человеку проще работать с совком, потом он переходит на лопату и только потом на экскаватор. А теперь попробуйте посадить малыша на экскаватор. |
Автор: | Сергей Прохоренко [ Понедельник, 10 Сентябрь, 2012 15:22 ] |
Заголовок сообщения: | Re: Семантический редактор |
Дмитрий Грачёв писал(а): Чем спорить, что лучше, пусть лучше каждый выберет то, что ему больше нравится, и пользуется этим. Но возможности выбора у пользователя нет - семантический редактор пока не дает ему такой возможности.Что касается пересаживания с совка (через лопату) в экскаватор, то подозреваю, что речь идет о пересаживании с "учебного" языка программирования на "промышленный". То есть, "забудьте всё, чему Вас учили в вузе..." Я категорически не согласен с таким подходом. Язык должен быть один, просто для учебных целей должно использоваться его подмножество и шаблонные средства "по умолчанию", а для профессионального программирования - все его возможности плюс возможности интеграции. Поэтому важно, чтобы "учебный" язык становился "промышленным". |
Автор: | Владислав Жаринов [ Понедельник, 10 Сентябрь, 2012 18:43 ] |
Заголовок сообщения: | Re: Семантический редактор |
Как-то возникает ощущение, что возможности интеграции д.б. уже в учебном языке... Правда, это понятие может иметь разный смысл... Я бы в первую очередь говорил о поддержке с самого начала интеграции программных единиц в систему. Для чего мы сразу должны мыслить в терминах потенциально распределённых "производственных мощностей", на которых по умолчанию параллельно исполняются эти единицы. Отсюда - сразу д.б. поддержаны спецификация и реализация взаимодействия совместно протекающих алгопроцессов. Пример для наглядности можно взять хорошо известный. Сергей призывал приспособить РВ для разработки игр (в одноимённой теме). А зачем приспосабливать, если с самого начала можно, следуя определённому представлению, создавать предметные миры - хоть для игр, хоть для работы?..
|
Автор: | Владислав Жаринов [ Понедельник, 10 Сентябрь, 2012 18:58 ] |
Заголовок сообщения: | Re: Семантический редактор |
Сергей Прохоренко писал(а): Дмитрий Грачёв писал(а): Чем спорить, что лучше, пусть лучше каждый выберет то, что ему больше нравится, и пользуется этим. Но возможности выбора у пользователя нет - семантический редактор пока не дает ему такой возможности.... Дмитрий Грачёв писал(а): ... архитектура поддерживает сколько угодно представлений на любое семантическое понятие. - то наверное, со временем можно ожидать разных вьюшек исхтекста с комментами и спецификатами. Хошь - включай двумерный режим (где непрограммное будет, например, в хинтах по наведению курсора на нужную скобку), хошь - переходи к одномерному (с тремя колонками для одновременного показа)... Так же любая вьюшка обязывается реализовать контракт на представление любого элемента. ... Другое дело - что надо определяться с обликом альтернатив основного представления... как и вспомогательных представлений (вьюшек, производных от исхтекста и от включающего составного документа). Я вижу как вспомогательные ряд типов схем программного текста и ряд производных от документа. Какие м.б. программные - уже говорил. Для документа это прежде всего граф структуры - учитывающий наличие коммандеров для программ и команд управления сборкой/просмотром. Ну там, понятно, частные вьюшки, что положены по УСД - оглавление и другие указатели (рисунков, источников, именной/предметный).
|
Автор: | Сергей Прохоренко [ Понедельник, 10 Сентябрь, 2012 20:38 ] |
Заголовок сообщения: | Re: Семантический редактор |
Надеюсь, речь не идет о литературном программировании - это тупик или нишевое решение для образовательных целей типа "учебник с примерами задач". Под интеграцией для профессиональных целей я понимаю интеграцию с чужеродными технологиями (унаследованными, популярными, навязанными или уникальными), которые почему-либо не имеют встроенных аналогов в структурном редакторе. Примеры: NoSQL, JVM, математические библиотеки и т.п. Разумеется, в учебном варианте тоже должна быть интеграция различных технологий, но идеологически единых и встроенных в единую среду разработки. |
Автор: | Валерий Лаптев [ Вторник, 11 Сентябрь, 2012 05:48 ] |
Заголовок сообщения: | Re: Семантический редактор |
Сергей Прохоренко писал(а): Но возможности выбора у пользователя нет - семантический редактор пока не дает ему такой возможности. Что касается пересаживания с совка (через лопату) в экскаватор, то подозреваю, что речь идет о пересаживании с "учебного" языка программирования на "промышленный". То есть, "забудьте всё, чему Вас учили в вузе..." Я категорически не согласен с таким подходом. Язык должен быть один, просто для учебных целей должно использоваться его подмножество и шаблонные средства "по умолчанию", а для профессионального программирования - все его возможности плюс возможности интеграции. Поэтому важно, чтобы "учебный" язык становился "промышленным". О боже! Ну сколько можно повторять эту "мантру"?! Речи об этом не идет никогда! Недавно где-то прочитал, что Скала (или Схема?) будет иметь две спецификации: для "учебности" и для "промышленности". Те понятия, которые мы заложили - они при любом синтаксисе остаются базовыми и содержаться в любом промышленном языке... |
Автор: | Валерий Лаптев [ Вторник, 11 Сентябрь, 2012 05:53 ] |
Заголовок сообщения: | Re: Семантический редактор |
Сергей Прохоренко писал(а): Надеюсь, речь не идет о литературном программировании - это тупик или нишевое решение для образовательных целей типа "учебник с примерами задач". Под интеграцией для профессиональных целей я понимаю интеграцию с чужеродными технологиями (унаследованными, популярными, навязанными или уникальными), которые почему-либо не имеют встроенных аналогов в структурном редакторе. Примеры: NoSQL, JVM, математические библиотеки и т.п. Разумеется, в учебном варианте тоже должна быть интеграция различных технологий, но идеологически единых и встроенных в единую среду разработки. 1. "Литературное" - это неграмотный перевод. Грамотно - "грамотное" программирование 2. Пока интеграция с дотнетом - можем вызывать любые средства NET Framework. B интеграция с Питоном - можем использовать средства Питона для нетривиальной обработки. |
Автор: | Сергей Прохоренко [ Вторник, 11 Сентябрь, 2012 14:30 ] |
Заголовок сообщения: | Re: Семантический редактор |
Валерий Лаптев писал(а): Естественно, мы будем среду развивать. В разные стороны. Но сейчас первоочередные задачи такие: 1. Сделать приличный хелп - прямо в среде редактор принимает все, что можно в rtf. Но хелп надо сначала спроектировать, иерархию построить. И потом физически в среду все это всунуть. Да еще поиск привинтить. Всплывающие подсказки современнее и удобнее хелпа. И у них нет указанных Вами проблем: спроектировать, иерархию построить, физически в среду всунуть, поиск привинтить. Валерий Лаптев писал(а): 2. ... Кстати, от множественного мы совсем отказались по результатам бесед здесь на форуме. Будем использовать композицию-агрегацию. Это, конечно оправданно для первой версии учебной среды программирования с текстовым представлением классов. Но в перспективе нужна табличная форма представления классов, которая позволит программисту лучше управлять наследованием, и тогда множественное наследование перестанет быть трудноразрешимой проблемой. Валерий Лаптев писал(а): 5. Сделать на основе комментариев средства типа предусловий-постусловий. Как в эйфеле. Почему на основе комментариев? Программирование по контракту - вещь хорошая. Но дьявол может быть в деталях. Хотелось бы более подробного описания. Валерий Лаптев писал(а): 7. пристегнуть средства проектирования-рисования разнообразных графических схем (как минимум UML и Дракон) Дерево зависимостей (см. рисунок ниже) - действительно нужная вещь. А в необходимости именно UML и Дракона я сильно сомневаюсь. UML вполне заменяется деревом зависимостей, а Дракон - графическими средствами структуризации кода (скобка блока и др.). Вложение:
|
Автор: | Владислав Жаринов [ Среда, 12 Сентябрь, 2012 06:17 ] |
Заголовок сообщения: | Re: Семантический редактор |
Валерий Лаптев писал(а): ... Здесь следует добавить "императивном"... или как?..Те понятия, которые мы заложили - они при любом синтаксисе остаются базовыми и содержаться в любом промышленном языке... Т.е., понятно, что функциональщину можно представить на реально исполнимом чисто алгоритмическом ЯВУ... как Лавров, скажем, в п. 2.5.1 делал... а логицизм расписать в алгоритмах логвывода, как у Рыжикова в Гл. 7 показано... но есть же "абстракции высших порядков", которые д.б. представимы в среде и в собственной форме... так ведь?.. И реляционность надо, наверное, поддержать?.. Кстати, goto и его ограничители (брейки/континуи) и маски (ретурны не из конца/типичные исключения) в базис входят?.. А интересно, что думаете насчёт задачных типов/входов (как реализации асинхронных рандеву) по мотивам Кауфмана?.. |
Автор: | Владислав Жаринов [ Среда, 12 Сентябрь, 2012 06:57 ] |
Заголовок сообщения: | Re: Семантический редактор |
Сергей Прохоренко в viewtopic.php?p=74588#p74588 писал(а): Надеюсь, речь не идет о литературном программировании - это тупик или нишевое решение для образовательных целей типа "учебник с примерами задач". Конечно нет - т.к. согласен с этой главной мыслью:... Сергей Прохоренко в viewtopic.php?p=53533#p53533 писал(а): ... - потому и предлагаю для программ как раз интеграцию с их математическим и предметно-качественным обоснованием - и соответствующие разновидности вьюшек. В наш век документация в виде единой книги, оторванной от исходного кода и от интегрированной среды разработки, уже не актуальна. Учебник в виде книги удобен, но не документация. ... С выносками, как можно видеть, тоже согласен. И уж конечно саму программу не разбивать на главы... Напротив, программы погружены в документы среды - каталожные и проектные - и вообще м.б. единственным содержанием документа. Также в документе м.б. всё, что, скажем, уместно в том же учебнике - а программа связывается (в том же или любых других документов) через коммандер и выводит в окно вьюшки. Ну и её структурные единицы обозримы во включающем документе через указатели, аналогичные УСД-шным... Вместе с тем тут такая штука. Программа ведь в динамике происходит из некоего представления сочинителя - уточняемого с повышением формализованности от предметного до информатического. И надо отразить уровни формализации. Пока вижу такое решение, как здесь: http://forum.easyelectronics.ru/viewtop ... 26#p204947 - т.е. с одной структурой модели связаны описания на ряде языков, на которых среда в принципе позволяет формализовать. Кто что думает? Также по поводу этого: Сергей Прохоренко в viewtopic.php?p=53533#p53533 писал(а): ... - структурную схему программы можно понимать по-разному. Как я думаю (исхдя из позиции Лаптева), единая структура - это СД. Но нужно иметь и частные представления - алгоритмов, структур данных, их связывания на заданном исполнителе. И параллельное представление работы пользователя - как взаимодействующей программы-инструкции. Она и будет хелпом (конечно, сообщения программы/среды само собой - и на схеме инструкции они тоже отражаются как основные причины реакций юзера/сисопа).Глядя на код в семантическом редакторе, программист должен в первую очередь видеть структурную схему программы, а не plain text комментариев, пространные объяснения гиперссылок или словесный мусор макрокоманд препроцессора. Вот если что-то в схеме непонятно, то можно на соответствующий элемент или связь навести курсор и получить всплывающую подсказку. ... И то, что неясно из текста (или частично нетекстовой формы исходника) - должно представлять не только предметными (неформальными) и математическими (утверждениями) комментами. Но и производными от исходника схемами (где уместно - таблицами). Обычно их назначение - представление зависимостей программных единиц в конкретном аспекте. И документ тоже должен схему иметь. По сказанному о редакторе - как единая это тоже СД, поддеревьями которого служат входящие программы (скрипты, частный случай которых - очевидно, коммандеры). И здесь также только такой схемы мало. Надо также структурировать по тем самым "секциям" (докэлементам УСД-шной иерархии). Надо иметь возможность (для тех же учебных документов) предлагать/предписывать порядки просмотра докэлементов - в т.ч. по выбору читателя. И это тоже удобно показывать схематически... Ну и препроцессинг должен заменяться конкретизирующей сборкой из каталожных единиц (типовых и оригинальных). При которой отдельные листы/фрагменты из каталога используются повторно - с заполнением трафаретных реквизитов по контексту - хотя бы для того, чтобы в БД среды целиком не дублировать... И схемы для представления сборки тоже удобны... |
Автор: | Валерий Лаптев [ Среда, 12 Сентябрь, 2012 09:14 ] |
Заголовок сообщения: | Re: Семантический редактор |
Отметил у 2 курса (бывший 1-й) типичную программистскую установку: изучаем язык как некую интересную сущность, а не как средство решения возникающих задач. Должен сказать, достаточна типичная установка - у самого такие были. Как исправлять? |
Автор: | Сергей Прохоренко [ Среда, 12 Сентябрь, 2012 09:42 ] |
Заголовок сообщения: | Re: Семантический редактор |
Всё это безусловно необходимо. И если долго размышлять о структурном редакторе, то кажется совершенно очевидным. И тяжело понять, почему это с таким трудом воспринимается программистами, воспитанными в текстовой парадигме программы. Наверное, это действительно революционный скачок, требующий внутреннего усилия и "созревания". |
Автор: | Дмитрий Грачёв [ Среда, 12 Сентябрь, 2012 10:41 ] |
Заголовок сообщения: | Re: Семантический редактор |
Сергей Прохоренко писал(а): Всё это безусловно необходимо. И если долго размышлять о структурном редакторе, то кажется совершенно очевидным. И тяжело понять, почему это с таким трудом воспринимается программистами, воспитанными в текстовой парадигме программы. Наверное, это действительно революционный скачок, требующий внутреннего усилия и "созревания". А еще леса рук и кучи денег |
Автор: | Владислав Жаринов [ Среда, 12 Сентябрь, 2012 10:50 ] |
Заголовок сообщения: | Re: Семантический редактор |
Тоже отвечу сразу на два (теперь уже на три ) поста - "консерватизм языковых ниш" (один в уме, на другом пишем)?.. Если обычный способ - давать учебный проект - не проходит, то, возможно, предложить студентам поставить свою задачу? Уж у одного из группы найдётся что-то, что можно решить программно?.. Вот пусть и попробуют... Поскольку редактор уже, очевидно, поддерживает интегрированный документ (по типу ББ-шного) - то они могут пока и без неформальных/матемлогических комментов специфицировать "вокруг исхтекста"... и без полиязыковости... Вот чего надо скорее - это поддержку распределения ролей и разработчиков (т.е. пользователей среды), и предметников (пользователей продуктов)... И тут сказанное выше: viewtopic.php?p=74581#p74581 - может пригодиться как ответ.
Тогда как в среде должно начинаться проектирование - со спецификации работы "как есть" в видах выделения вновь /переавтоматизируемой части. С реальными протоколами связей. Так что если, скажем, определено в проекте, что между АРМами разраба и юзера инет-канал - то к коду для этого юзера генерится скрипт или чего там для пересылки его от разраба (из репоза среды)... или (пока нету этого) выдаётся сообщение-инструкция, как делать вручную. И это можно "сыграть", подставив адреса пары компов в дисплейном классе...
И лучше, если это имеет вид формирования предметки в "стратегиях". Когда учень создаёт персонажей, определяет их "взаимотношения и связи" - это будет само по себе увлекать (не всех, конечно... ну тут уж ничего не поделаешь - надо м.б. и творческие приёмы искать, о чём Усов говорил). Ну а потом специфицировать и написать софтину - естественный шаг... вроде делания орудий разных в тех же играх...
Тады и "лес рук" найдётся без кучи денег... Ибо сказано было: ... У него есть рабы студенты которые делают всю работу. ... (редакция не обязательно разделяет мнение автора ) - а согласно Сент-Экзюпери надо сделать обыденную работу творческой, чтобы на неё нашлись исполнители...
|
Автор: | Info21 [ Среда, 12 Сентябрь, 2012 11:11 ] |
Заголовок сообщения: | Re: Семантический редактор |
Дмитрий Грачёв писал(а): Сергей Прохоренко писал(а): И если долго размышлять о структурном редакторе, то кажется совершенно очевидным. И тяжело понять, почему это с таким трудом воспринимается программистами, воспитанными в текстовой парадигме программы. Наверное, это действительно революционный скачок, требующий внутреннего усилия и "созревания". А еще леса рук и кучи денег Это не значит, что в учебном процессе такие штуки не могут быть полезны, но это может означать, что мир за пределами своих ниш они не захватят. |
Автор: | Сергей Прохоренко [ Среда, 12 Сентябрь, 2012 11:39 ] |
Заголовок сообщения: | Re: Семантический редактор |
Info21 писал(а): Сложность структурного редактора уводит от тонко сбалансированного оптимума. Не согласен. Структурный редактор сложен для его создателей, а не для пользователей. Для пользователей он наоборот разбивает сложный программный код на простые, наглядные, интуитивно понятные, автоматически упорядочиваемые элементы на нескольких уровнях абстракции. Все инструменты и подсказки в нем "под рукой" - ничего не надо вспоминать или искать в учебниках и форумах. |
Автор: | Владислав Жаринов [ Среда, 12 Сентябрь, 2012 11:45 ] |
Заголовок сообщения: | Re: Семантический редактор |
Вот же ж пример-то забыл на то самое - вроде не так давно Kubanych обратился к программированию МК - и сколько тут уже представлено материала... проблема, куда складывать... Кстати, он же здесь высказал мысль о разработке программы для изучения арабского... и в проекте ТЗ сразу среди прочего намечены роли... |
Автор: | Сергей Прохоренко [ Среда, 12 Сентябрь, 2012 11:59 ] |
Заголовок сообщения: | Re: Семантический редактор |
Валерий Лаптев писал(а): Отметил у 2 курса (бывший 1-й) типичную программистскую установку: изучаем язык как некую интересную сущность, а не как средство решения возникающих задач. Должен сказать, достаточна типичная установка - у самого такие были. Как исправлять? Сделать задачи более сложными. Вот опыт МАИ: 1) Студенты загружаются умопомрачительной сложности индивидуальными задачами (путем комбинирования подзадач), например, "суффиксное дерево с отображением на суффиксный массив". 2) Никто реально не учит студентов языку программирования - они осваивают его вынужденно и практически самостоятельно (консультируясь друг с другом). 3) Все даже чисто математические учебные дисциплины предусматривают до десятка лаб каждая (с жесткими сроками) - с разработкой работоспособных компьютерных программ. Имеется система тестирования программ по нескольким критериям (загрузка огромными объемами данных, скорость работы, реакция на некорректные данные и т.д.). 4) Кто не сдал все лабы, к сессии не допускается, а потом вынужден ходить на платные дополнительные занятия для подготовки к экзаменам. |
Автор: | Владислав Жаринов [ Среда, 12 Сентябрь, 2012 12:19 ] |
Заголовок сообщения: | Re: Семантический редактор |
Наверное, можно и так... но со всеми ли?.. |
Страница 26 из 34 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |