OberonCore https://forum.oberoncore.ru/ |
|
Обсуждение проекта PureBuilder https://forum.oberoncore.ru/viewtopic.php?f=93&t=3133 |
Страница 1 из 7 |
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 14:16 ] |
Заголовок сообщения: | Обсуждение проекта PureBuilder |
Приглашаю всех обсудить проект PureBuilder. Конструктивная критика приветствуется. |
Автор: | Владислав Жаринов [ Воскресенье, 09 Январь, 2011 17:57 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Сергей Прохоренко писал(а): Приглашаю всех обсудить проект PureBuilder. Пока основной вопрос к понятию "визуальный" в контексте данного проекта. Если речь не идёт о переходе к тому или иному графовому (точнее, "графитному") представлению ни для императивных, ни для декларативных, ни для активностных знаний - то что вкладывается в это понятие? Отметим, что в новой книге об автоматном программировании (анонсированной здесь) обсуждается увязка описаний кода программы и исполнителя именно в "графитной" форме для авторского ЯВС-метода (как я понимаю, это и есть основа SWITCH-технологии - точнее, МФЗ) в сравнении с альтернативным (метод Statemate) - см. п/р 2.2.
Конструктивная критика приветствуется. |
Автор: | Димыч [ Воскресенье, 09 Январь, 2011 18:19 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
С точки зрения web-дизайна – на «морде» сильно много текста. Приведенная страница могла бы пойти как «максимально подробно». Но уж никак не главная страница. Что касается задумки – не слишком ли широко замахнулись? Я не участвовал в предыдущих обсуждениях, может уже обговаривалось: визуальная нотация отдает APL, в кучу сведены ДРАКОН и UML, на одном экране есть построитель выражений из 1С и построитель форм из Delphi (во всяком случае очень толстые намеки на последний). Плюс, если код генерируется автоматом, какой смысл в сравнении версий? Как производить сравнение визуальных алгоритмов? Зачем наверху вкладки «Проект», «Модуль» и т.д? Какой смысл несет модальность, привносимая вкладками? Ну и т.д. От представленного остается два ощущения: много текста и отсутствие четкой идеи. Хотя некоторое присутствие идеи всё-же ощущается. PS. Грамматика по тексту хромает, орфография вроде ничего. |
Автор: | Александр Ильин [ Воскресенье, 09 Январь, 2011 18:21 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Цитата: PureBuilder должен, оставаясь по-возможности лаконичным, наглядными средствами поддерживать разнообразные (но не любые существующие) парадигмы программирования: Предлагаю скорректировать название проекта: PureeMasher.
Функциональное программирование Логическое программирование Процедурное программирование Структурное программирование Объектно-ориентированное программирование Обобщенное программирование Компонентно-ориентированное программирование Параллельное и распределенное программирование |
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 19:09 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Драконограф писал(а): Пока основной вопрос к понятию "визуальный" в контексте данного проекта. У UML, Дракона, блок-схем и других графов нет монополии на термин "визуальный". Про Вижуал Бейсик знают все. Системы для проектирования GUI тоже часто обозначаются термином "визуальный", и в PureBuilder тоже будет такая система. Но есть и гораздо более близкая аналогия. Поиск картинок в Гугле по строке "визуальное программирование" дает несколько "неграфовых" систем программирования, в которых программа, как и в PureBuilder, собирается мышкой из "визуальных" [вложенных] блоков, а не набирается на клавиатуре, в частности: http://robocraft.ru/blog/arduino/340.html http://www.computerra.ru/softerra/547989/ http://habrahabr.ru/tag/%D0%B2%D0%B8%D0 ... %B8%D0%B5/ На самом деле таких систем много - см. ссылки в самом низу веб-страницы проекта PureBuilder. В отличие от графов блоки в этих системах программирования не расползаются по экрану, а располагаются в одну вертикальную линию, как текст программы. Но это не текст. Вместо ключевых слов на блоках можно было бы изображать даже значки. PureBuilder соответствует определению "Среды визуальной разработки" в Википедии: Цитата: Среда визуальной разработки — среда разработки программного обеспечения, в которой наиболее распространенные блоки программного кода представлены в виде графических объектов. PureBuilder соответствует определению "Визуальное программирование" в Википедии: Цитата: Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Кроме того, в PureBuilder предполагается использовать и графы в качестве вспомогательного инструмента - для отображения зависимостей между модулями. |
Автор: | Alexey Veselovsky [ Воскресенье, 09 Январь, 2011 19:44 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Какой-то план работ (roadmap) с ориетировочными сроками существует? |
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 19:55 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Димыч писал(а): Что касается задумки – не слишком ли широко замахнулись? Это - программа-максимум. Для того, чтобы двигаться вперед, необходимо представлять себе всю картину целиком. Естественно, не всё должно быть реализовано сразу. Минимальную функциональность реализовать не сложно - на уровне Scratch. А дальше можно наращивать. Димыч писал(а): визуальная нотация отдает APL, в кучу сведены ДРАКОН и UML, на одном экране есть построитель выражений из 1С и построитель форм из Delphi (во всяком случае очень толстые намеки на последний). Там нет ничего от APL (кроме возможности операций над массивами аналогично PL/I), а тем более от ДРАКОНа или UML, к которому у меня отношение отрицательное. Читайте внимательнее. Построитель выражений оригинальный, и навеян не 1С, а MS Access. И он не "на одном экране", а на отдельной вкладке. Построитель форм действительно предполагается, как и во многих IDE, но к Delphi он не имеет отношения. Димыч писал(а): Плюс, если код генерируется автоматом, какой смысл в сравнении версий? Как производить сравнение визуальных алгоритмов? Непонятно, о каких версиях вопрос - о версиях PureBuilder или о версиях разработанного на нем ПО. В первом случае от версии к версии может несколько меняться встроенный язык, набор элементов и функций стандартной библиотеки и т.п. Во втором случае сравнение версий необходимо, когда программист хочет знать, какие произошли изменения в разрабатываемом ПО. Димыч писал(а): Зачем наверху вкладки «Проект», «Модуль» и т.д? Во вкладке "Проект" должен быть граф (или таблица), показывающий зависимости модулей и объединение модулей в подсистемы. Во вкладке "Модуль" должен быть граф или таблица функций и процедур, входящих в модуль (способ и степень подробности отображения выбирает пользователь). Димыч писал(а): Какой смысл несет модальность, привносимая вкладками? Каждая большая вкладка отображает содержимое объекта соответствующего типа. Поскольку содержимое объектов разных типов различается кардинальным образом, то изображение этого содержимого, действия над ним и, соответственно, интерфейс в каждой вкладке особенные. Малые вкладки позволяют изменить способ и степень подробности отображения. |
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 20:01 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Alexey Veselovsky писал(а): Какой-то план работ (roadmap) с ориетировочными сроками существует? У меня - нет. У Валерия Лаптева, который разрабатывает семантический редактор с близкой идеологией - наверное. Насколько я знаю, его студент, участвующий в разработке семантического редактора, должен через несколько лет защитить диплом по этой теме. |
Автор: | Peter Almazov [ Воскресенье, 09 Январь, 2011 20:07 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Вот маленькая (на фоне остальных) проблема - как должно выглядеть сравнение двух похожих версий программы? Небольшое различие в тексте может приводить к большим различиям в графическом представлении. |
Автор: | Владислав Жаринов [ Воскресенье, 09 Январь, 2011 20:17 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Сергей Прохоренко писал(а): Драконограф писал(а): Пока основной вопрос к понятию "визуальный" в контексте данного проекта. У UML, Дракона, блок-схем и других графов нет монополии на термин "визуальный"... Но есть и гораздо более близкая аналогия. Поиск картинок в Гугле по строке "визуальное программирование" дает несколько "неграфовых" систем программирования, в которых программа, как и в PureBuilder, собирается мышкой из "визуальных" блоков, а не набирается на клавиатуре, в частности: http://robocraft.ru/blog/arduino/340.html http://www.computerra.ru/softerra/547989/ http://habrahabr.ru/tag/%D0%B2%D0%B8%D0 ... %B8%D0%B5/ На самом деле таких систем много - см. ссылки в самом низу веб-страницы проекта PureBuilder. В отличие от графов блоки в этих системах программирования не расползаются по экрану, а располагаются в одну вертикальную линию, как текст программы. Но это не текст... По поводу систем указанного рода - высказывался здесь о гарантоспособности. По сути главный вопрос - "об идее", как сказал Димыч - а точнее, о целевом назначении (и целевой аудитории). Для кого делается эта среда? Если "для программистов" - то тут уже поднаторели "индустриальные киты" типа MS, известные "магнаты сложности" (часто "избыточной"). Нужно ли их "переплёвывать"? А если от этого уходить, то вылезает главное - есть ББ с его концепцией "текст как интерфейс" - которой трудно противопоставть что-то, если уходить от явного нетекстового представления структуры знания о задаче (да и надо ли?). Когда ББ-шники на Ваш (или мой, или чей-то ещё) вопрос о том, чего недостаёт ББ-среде, отвечают "так возмите и реализуйте" - я лично прекрасно их понимаю - тому, кто программирует и разобрался в ББ-докусах, концепциях употребления базового языка и библиотек - чё бы не реализовать... как программисту для программистов ? Однако штука вся в том, чтобы поддержать работу всей триады "предметник-аналитик-программист" - и всей цепочки формализации знаний о задаче как целостной единице организованной деятельности, освещённой на этой странице. Так чего же я лично хотел бы? Чтобы документ среды отражал все результаты работы над задачей - и постановку, и спецификацию решения, и уже как результат - модель комплекса "инфопроги-инструкции по применению несущего их комплекса средств автоматизации". Предметно - вот Михайлов на с. 69 выдержки, вложенной здесь ставит и решает вопрос: "Как описать систему, чтобы её можно было запрограммировать?" И вот надо, чтобы и "описать", и "запрограммировать" отражалось в одном документе. Как развитие представления о решении задачи (я не версии имею в виду, а именно то, что у Фридланда). При этом поддерживается коллективная работа на базе механизма исправлений - как в офисных пакетах. С этим можно увязать и ведение версий. Для этого должны выполняться общие условия, обсуждавшиеся, в частности, здесь. Ну и о представлении знаний целостном здесь говорилось. И поддерживаться технология формализации, общий облик которой определялся здесь. Сергей Прохоренко писал(а): PureBuilder соответствует определению "Среды визуальной разработки" в Википедии: Вот из вышесказанного и следует - если не чистый текст основа представления - то графы должны стать основой. А вспомогательными одни будут по отношению к другим - если оставаться в системе графит-языков, описанной здесь, то ДМ-схемы содержат данные, которые в принципе можно получить и из системы дракон-схем, связанных подстановками - но человеку это сложнее.Цитата: Среда визуальной разработки — среда разработки программного обеспечения, в которой наиболее распространенные блоки программного кода представлены в виде графических объектов. PureBuilder соответствует определению "Визуальное программирование" в Википедии: Цитата: Визуальное программирование — способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста. Кроме того, в PureBuilder предполагается использовать и графы в качестве вспомогательного инструмента - для отображения зависимостей между модулями. Александр Ильин писал(а): Цитата: PureBuilder должен, оставаясь по-возможности лаконичным, наглядными средствами поддерживать разнообразные (но не любые существующие) парадигмы программирования:
|
Автор: | Илья Ермаков [ Воскресенье, 09 Январь, 2011 21:13 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Сергей, как и раньше, вижу сильные возможные последствия в том, что на центральное место ставится семантическая структура. (ещё Вы не упоминаете, а стоит, о том, что должен быть стандартизирован API для работы с этой структурой, как ASIS, например, для Ады - и весь инструментарий - и сам редактор - тогда может создаваться как компоненты, работающие с программой через такой API. Типа как DOM, но, разумеется, не такой неуклюжий). Но вот не могу я понять, зачем построитель выражений, если любое выражение быстрее на порядок ввести? Ну быстрее!! Ну, факт. У меня в башке не помещается, зачем тыкаться с построителями. Только при изучении среды, в виде эдакого режима, позволяющего увидеть "а что можно подставить вот в это место". Но уже на пятый раз это осточертеет. MS Access и мышь - ужасные воспоминания. Я вообще с "обычными" БД работаю редко, но недавно и с Access пришлось, и с MySQL. От SQL и написания SQL-запросов, как и раньше, куча позитивных впечатлений. Access с его тыканием - ужасно. Могли бы Вы обяснить, кого и чем может привлекать режим "построителей"? Одну категорию я могу предположить - кто совсем медленно печатает. |
Автор: | Alexey Veselovsky [ Воскресенье, 09 Январь, 2011 21:25 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
На счет построителей -- вспомнился ZX Spectrum с его бейсиком, где невозможно было допустить опечатку в ключевом слове просто потому, что они там печатались сразу (режим ввода + комбинация кнопок давалос разу ключевое слово). По буквам что-то набрать (например слово LET) было НЕЛЬЗЯ. Очень было это не удобно. |
Автор: | Илья Ермаков [ Воскресенье, 09 Январь, 2011 21:30 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Ну да, там это было вызвано экономией памяти - чтобы не хранить ключевое слово несколькими символами, а хранить числовым кодом. Свои плюсы в структурном вводе есть... Но очень и очень продумать нужно его, чтобы он был эргономичен. Это значит - чтобы можно было ВВОДИТЬ, "потоком действий", а не собирать мышкой, как лего. |
Автор: | Владислав Жаринов [ Воскресенье, 09 Январь, 2011 21:41 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Илья Ермаков писал(а): Свои плюсы в структурном вводе есть... Но очень и очень продумать нужно его, чтобы он был эргономичен. Это значит - чтобы можно было ВВОДИТЬ, "потоком действий", а не собирать мышкой, как лего. Прежде всего - после выбора структуры предоставлять оператору возможность заполнять её "поля" именами сущностей (выбирается по списку - из базы открытых проектов+возможность ввести вручную, что понимается как создание новой и требует её описания).
|
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 21:57 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Драконограф писал(а): Для кого делается эта среда? Если "для программистов" - то тут уже поднаторели "индустриальные киты" типа MS, известные "магнаты сложности" (часто "избыточной"). Нужно ли их "переплёвывать"? А если от этого уходить, то вылезает главное - есть ББ с его концепцией "текст как интерфейс" - которой трудно противопоставть что-то Кирилл Осенков, разработавший структурный редактор C#, идеологически похожий на PureBuilder, - сотрудник Microsoft (правда, структурный редактор C# - его личная инициатива). Значит, внутри "индустриальных китов" есть люди, которые понимают, что структурный редактор необходим. И не пройдет и ...дцати лет, как он станет составной частью Visual Studio. Но больно уж долго "индустриальные киты" запрягают - выжидают, пока приносят прибыль прежние разработки. Почему концепции "текст как интерфейс" трудно что-то противопоставить? Вовсе нет. Вот Вы же противопоставляете Дракон! Целевых групп PureBuilder несколько:
|
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 22:39 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Илья Ермаков писал(а): Сергей, как и раньше, вижу сильные возможные последствия в том, что на центральное место ставится семантическая структура. (ещё Вы не упоминаете, а стоит, о том, что должен быть стандартизирован API для работы с этой структурой, как ASIS, например, для Ады - и весь инструментарий - и сам редактор - тогда может создаваться как компоненты, работающие с программой через такой API. Типа как DOM, но, разумеется, не такой неуклюжий). Я не специалист в компиляторах и абстрактных синтаксических деревьях, поэтому это скорее пожелание Валерию Лаптеву. К тому же, это не только технический вопрос, но и вопрос бизнеса - а нужно ли кому-то предоставлять такой API? Если семантический редактор будет закрытой системой, то нет. Илья Ермаков писал(а): Но вот не могу я понять, зачем построитель выражений, если любое выражение быстрее на порядок ввести? Ну быстрее!! Ну, факт. У меня в башке не помещается, зачем тыкаться с построителями. Только при изучении среды, в виде эдакого режима, позволяющего увидеть "а что можно подставить вот в это место". Но уже на пятый раз это осточертеет. ... Могли бы Вы обяснить, кого и чем может привлекать режим "построителей"? Одну категорию я могу предположить - кто совсем медленно печатает. Построитель выражений - это опция. Если простое выражение быстрее ввести с клавиатуры - ради бога. У построителя выражений другое предназначение, чем заменять машинистку: он позволяет быстро найти то, что должно быть вставлено в выражение (функции, переменные, константы), правильно расставить многочисленные вложенные скобки, обозначить текстовыми "заглушками" последовательность ввода параметров. Илья Ермаков писал(а): MS Access и мышь - ужасные воспоминания. Я вообще с "обычными" БД работаю редко, но недавно и с Access пришлось, и с MySQL. От SQL и написания SQL-запросов, как и раньше, куча позитивных впечатлений. Access с его тыканием - ужасно. Бывают настолько сложные запросы, что без графического представления вообще невозможно разобраться. Скорость работы в MS Access отличная - только придумал, и запрос уже готов, и гарантированно безошибочный. Правда, есть один вид запросов, для которого графический интерфейс почему-то не реализован. Илья Ермаков писал(а): Свои плюсы в структурном вводе есть... Но очень и очень продумать нужно его, чтобы он был эргономичен. Это значит - чтобы можно было ВВОДИТЬ, "потоком действий", а не собирать мышкой, как лего. Ввод мышью может быть очень эргономичным, а может быть утомительным - в зависимости от качества проектирования структурного редактора. Вот в Scratch ввод неудачный - приходится перетаскивать элемент вплоть до того места, где его нужно вставить. Если вы обратили внимание, в PureBuilder ввод организован совершенно по-другому (см. раздел Вставка шаблона элемента из панели коллекций элементов в панель структуры). |
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 22:52 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Peter Almazov писал(а): Вот маленькая (на фоне остальных) проблема - как должно выглядеть сравнение двух похожих версий программы? Небольшое различие в тексте может приводить к большим различиям в графическом представлении. Мне кажется, что хорошего красивого решения этой проблемы не придумать. Но сколько-нибудь приемлемое решение найти можно. Например, удаленные, модифицированные и новые элементы могут выделяться соответствующими цветами. Щелкнув по модифицированному элементу, можно посмотреть, что же изменилось в его структуре. |
Автор: | Info21 [ Воскресенье, 09 Январь, 2011 23:16 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Посоветую не ветки переносить, а сделать там, на новом месте, обзорчик со ссылками и небольшими комментариями. Но это не значит, что некоторые ветки нельзя и целиком перенести. |
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 23:23 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Спасибо всем участникам за интересные вопросы. Обсуждение оказывается очень плодотворным - я уже внес несколько изменений в текст веб-странички проекта. |
Автор: | Сергей Прохоренко [ Воскресенье, 09 Январь, 2011 23:26 ] |
Заголовок сообщения: | Re: Обсуждение проекта PureBuilder |
Info21 писал(а): Посоветую не ветки переносить, а сделать там, на новом месте, обзорчик со ссылками и небольшими комментариями. Но это не значит, что некоторые ветки нельзя и целиком перенести. Согласен. Спасибо за идею. Сделаю такую тему со ссылками. |
Страница 1 из 7 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |