OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 20:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 130 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения: Re: Ещё раз о целях и средствах :)
СообщениеДобавлено: Четверг, 13 Январь, 2011 09:11 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Валерий Лаптев писал(а):
...Сколько раз, пися :) циклы на С/С++ попадал в ситуацию, что хочется поставить break или continue. Это для меня сигнал - надо поискать более простую организацию цикла - чтобы не было подобных переходов. И такая более простая схема всегда нахОдится...
Ага... Уж не говоря о циклах ДЛЯ и их "гнездовании" - тоже "некогнитивно" смотрится даже на "эргономичном" визуальном языке - так и хочется сделать то, что описано в этом примере... только не знаю, точно ли здесь всё сделано :wink: Конечно, это вопрос не к языку (при условии, что он полон, как Д2М-техноязык вроде бы более-менее :)), а к подходу в программной формализации...


Последний раз редактировалось Владислав Жаринов Четверг, 13 Январь, 2011 09:30, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Январь, 2011 09:29 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Сергей Прохоренко писал(а):
Драконограф в viewtopic.php?p=57312#p57312 писал(а):
...некоторые парадигмы, наверное, плохо сочетаемы (если не взаимоисключающие) - а некоторые, напротив, хорошо объединяются (где-то однорангово, где-то иерархически).


Думаю, что применение той или иной парадигмы должно диктоваться стоящей задачей. При этом вряд ли кто будет интересоваться, сочетаются ли парадигмы друг с другом. Лишь бы не было противоречий в используемом инструментарии.
Вот к этому как раз есть вопросы.
Александр Ильин писал(а):
Цитата:
PureBuilder должен, оставаясь по-возможности лаконичным, наглядными средствами поддерживать разнообразные (но не любые существующие) парадигмы программирования:
    ...
    Обобщенное программирование
    ...
    Параллельное и распределенное программирование
В связи со второй упомянутой концепцией возникают такие вопросы:
1) Об уточнении предметки - речь будем вести о системах взаимодействующих процессов, в частном случае исполняющихся параллельно (зависимо или независимо друг от друга) - об источниках см. это сообщение. Так я понимаю?
2) Каковы возможности информатизации систем процессов вплоть до программирования? С одной стороны, существует возможность, описываемая Виртом - на минимальном прогязыке представить операторы взаимодействия типа Д25, 25Д, Д3/25, Д14/25, 3/25Д, 14/25Д, Д26, Д15/26, 21Д, 15/26Д, Д31, Д32, 32Д по определению Д2М-языка здесь - а может, ещё какие (я здесь для услкринтервалов, скажем, ничего не ввёл). Очевидно, эти представления оформляются как библиотечные для последующего употребления в Оберон-(Promela-)информоделях систем процессов - как эквиваленты рандеву-операторов (ну и аналогично вводятся операторы других механизмов - услкринтервалы и пр.). Так?
С другой стороны, есть Активный Оберон, представляющий расширение самого минимального прогязыка конкретным типом механизма взаимодействия процессов (AWAIT - верно я понимаю, что это услкринтервалы?) - и другими определёнными языковыми сущностями (делегаты и пр.), нужными и для поддержки этого механизма. Достоинства и недостатки этого обсуждались, как я понял, прежде всего в этой теме - там, правда, о системном взаимодействии процессов меньше - м.б. есть специализированная тема.
И вот вопрос - какой подход будет реализован в Вашем проекте? Как видится путь реализации?
И ещё вопрос - как это связано с обобщённым программированием?


Последний раз редактировалось Владислав Жаринов Четверг, 13 Январь, 2011 10:14, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ещё раз о целях и средствах :)
СообщениеДобавлено: Четверг, 13 Январь, 2011 09:33 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Валерий Лаптев писал(а):
Сколько раз, пися :) циклы на С/С++ попадал в ситуацию, что хочется поставить break или continue. Это для меня сигнал - надо поискать более простую организацию цикла - чтобы не было подобных переходов. И такая более простая схема всегда нахОдится...

Всё же это сильно от языка зависит. Ну вот такой код на С#:
Код:
foreach (SomeObject obj in objs)
{
    if (SomeCondition(obj))
    {
        SomeAction(obj);
        break;
    }
}
Вот как его упростить? И стоит ли?
Я в таких случаях не заморачиваюсь и с чистой совестью ставлю break.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Январь, 2011 09:35 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
И всё сказанное в предыдущих постах опять выводит на желательность дать (постепенно, конечно - как по составу, так и по грубине проработки) определение системы языков PureBuilder. И его обсуждать сначала. И опять же не забывая, что д.б. язык структурирования самого проекта (как документа среды) - о чём говорил во второй части этого поста... но пока ответа не видно (конечно, нужно время на обдумывание)...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ещё раз о целях и средствах :)
СообщениеДобавлено: Четверг, 13 Январь, 2011 10:04 

Зарегистрирован: Пятница, 24 Апрель, 2009 16:28
Сообщения: 563
Откуда: Москва
Geniepro писал(а):
Всё же это сильно от языка зависит. Ну вот такой код на С#:
Код:
foreach (SomeObject obj in objs)
{
    if (SomeCondition(obj))
    {
        SomeAction(obj);
        break;
    }
}
Вот как его упростить? И стоит ли?
Я в таких случаях не заморачиваюсь и с чистой совестью ставлю break.
Язык тут не при чем, проблема глубже.
Раньше я с негодованием осуждал такие циклы. Но с некоторых пор изменил позицию. Цикл такого вида может быть абсолютно строгим ("хорошим").
Но данный конкретный вариант - плохой однозначно. Почему - объяснять не буду, оставляю в качестве самостоятельного упражнения :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ещё раз о целях и средствах :)
СообщениеДобавлено: Четверг, 13 Январь, 2011 10:19 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
Peter Almazov писал(а):
Но данный конкретный вариант - плохой однозначно. Почему - объяснять не буду, оставляю в качестве самостоятельного упражнения :)

Приведите свой вариант и окажется, что он ничуть не лучше.
В Хаскелле выглядело бы примерно так:
Код:
    case dropWhile someCondition obs of
        (obj:_)   -> someAction obj
        otherwise -> return ()
Тоже не лучше...


Последний раз редактировалось Geniepro Четверг, 13 Январь, 2011 10:25, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 10:25 

Зарегистрирован: Пятница, 24 Апрель, 2009 16:28
Сообщения: 563
Откуда: Москва
Речь идет о тем, что нарушены некоторые принципы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 10:32 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Peter Almazov писал(а):
Речь идет о тем, что нарушены некоторые принципы.
Похоже, нужна отдельная тема об определении языков представления знаний, поддерживаемых структурным редактором...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 10:45 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Драконограф писал(а):
Похоже, нужна отдельная тема об определении языков представления знаний, поддерживаемых структурным редактором...
Если нужна, заводите. Цельный форум выделен не для того, чтобы все обсуждалось в одной глобальной теме. Самим ведь потом не удобно будет...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:11 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Драконограф писал(а):
И насчёт составления документов - нужен язык структурирования самого проекта (как документа среды, несущего тот самый "широкий смысл" - т.е. полный "паспорт задачи/предметки", как говорилось в этом сообщении) - о чём говорил во второй части этого сообщения.


Такой язык спецификации программы давно существует - это комментарии. Но в PureBuilder комментарии не размазаны произвольным образом по тексту программы, а структурированы в соответствии со структурой программного проекта: сам проект как целое, каждый модуль, каждая функция, параметр, инструкция и т.п. может (и по-хорошему должна) иметь комментарий. Для написания комментария может предлагаться типовая структура, зависящая от типа элемента. Комментарии могут содержать гиперссылки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ещё раз о целях и средствах :)
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:20 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Geniepro писал(а):
Валерий Лаптев писал(а):
Сколько раз, пися :) циклы на С/С++ попадал в ситуацию, что хочется поставить break или continue. Это для меня сигнал - надо поискать более простую организацию цикла - чтобы не было подобных переходов. И такая более простая схема всегда нахОдится...

Всё же это сильно от языка зависит. Ну вот такой код на С#:
Код:
foreach (SomeObject obj in objs)
{
    if (SomeCondition(obj))
    {
        SomeAction(obj);
        break;
    }
}
Вот как его упростить? И стоит ли?
Я в таких случаях не заморачиваюсь и с чистой совестью ставлю break.


А я в таких условиях - просто использую while, а не foreach.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:23 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Сергей Прохоренко писал(а):
Комментарии могут содержать гиперссылки.
Неужели только гиперссылки? Так уж и пишите честно, что комментарии у Вас --- это настоящий (не плоский) текст. Типа как в ворде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:23 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Сергей Прохоренко писал(а):
Драконограф писал(а):
И насчёт составления документов - нужен язык структурирования самого проекта (как документа среды, несущего тот самый "широкий смысл" - т.е. полный "паспорт задачи/предметки", как говорилось в этом сообщении) - о чём говорил во второй части этого сообщения.


Такой язык спецификации программы давно существует - это комментарии. Но в PureBuilder комментарии не размазаны произвольным образом по тексту программы, а структурированы в соответствии со структурой программного проекта: сам проект как целое, каждый модуль, каждая функция, параметр, инструкция и т.п. может (и по-хорошему должна) иметь комментарий. Для написания комментария может предлагаться типовая структура, зависящая от типа элемента. Комментарии могут содержать гиперссылки.
Снова не о том речь, что программист "для себя и своих" пишет - а о результатах всего движения от "есть такая задача" к "есть такое решение" - точнее см. в этом и следующем сообщениях.
Глаголев в этой книге, кстати, пишет по существу о том же - см. в конце п. 4.3:
Глаголев В. на с. 64 писал(а):
...порядок работы с ПО излагать в руководстве по работе комплекса, используя рекомендации по построению руководства пользователя АС.
Эти рекомендации даются в п. 8.5 той же книги. Кстати, существенно и замечание в п. 7.3, что нужно определить состав и структуру аппаратно-программной инфорсимы через схему деления - о том же по сути и при обсуждении реализации автоматного программирования в п/р 2.2 этой работы - т.е. надо иметь актив-схему системы, взаимосвязанную с остальным.


Последний раз редактировалось Владислав Жаринов Четверг, 13 Январь, 2011 11:34, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:29 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Драконограф писал(а):
я и предлагаю поддерживать в среде два представления каждой структуры отчуждённого знания. И тогда один человек-сочинитель выстраивает в форме текста (и по правилам текстования структур), а другой в "графитной" форме (и по правилам графитизации) - кому как удобнее.


Мне это кажется лишним в PureBuilder, поскольку в графическом представлении используются такие же ключевые слова (а не значки!, хотя это теоретически возможно), выражения и идентификаторы, как и в традиционном программном коде.

Вот хороший пример: в среде Modkit есть оба представления (графическое и текстовое) по-отдельности, но они настолько близки и похожи, что различия не имеют какого-либо существенного значения для восприятия. Графика воспринимается как всего лишь расцветка текста, хотя на самом деле это не так.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:38 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Сергей Прохоренко писал(а):
Драконограф писал(а):
я и предлагаю поддерживать в среде два представления каждой структуры отчуждённого знания. И тогда один человек-сочинитель выстраивает в форме текста (и по правилам текстования структур), а другой в "графитной" форме (и по правилам графитизации) - кому как удобнее.


Мне это кажется лишним в PureBuilder, поскольку в графическом представлении используются такие же ключевые слова (а не значки!, хотя это теоретически возможно), выражения и идентификаторы, как и в традиционном программном коде.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:49 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Драконограф писал(а):
Сергей Прохоренко писал(а):
Драконограф в viewtopic.php?p=57312#p57312 писал(а):
...некоторые парадигмы, наверное, плохо сочетаемы (если не взаимоисключающие) - а некоторые, напротив, хорошо объединяются (где-то однорангово, где-то иерархически).


Думаю, что применение той или иной парадигмы должно диктоваться стоящей задачей. При этом вряд ли кто будет интересоваться, сочетаются ли парадигмы друг с другом. Лишь бы не было противоречий в используемом инструментарии.
Вот к этому как раз есть вопросы.
Александр Ильин писал(а):
Цитата:
PureBuilder должен, оставаясь по-возможности лаконичным, наглядными средствами поддерживать разнообразные (но не любые существующие) парадигмы программирования:
    ...
    Обобщенное программирование
    ...
    Параллельное и распределенное программирование
В связи со второй упомянутой концепцией возникают такие вопросы:
1) Об уточнении предметки - речь будем вести о системах взаимодействующих процессов, в частном случае исполняющихся параллельно (зависимо или независимо друг от друга) - об источниках см. это сообщение. Так я понимаю?
2) Каковы возможности информатизации систем процессов вплоть до программирования? С одной стороны, существует возможность, описываемая Виртом - на минимальном прогязыке представить операторы взаимодействия типа Д25, 25Д, Д3/25, Д14/25, 3/25Д, 14/25Д, Д26, Д15/26, 21Д, 15/26Д, Д31, Д32, 32Д по определению Д2М-языка здесь - а может, ещё какие (я здесь для услкринтервалов, скажем, ничего не ввёл). Очевидно, эти представления оформляются как библиотечные для последующего употребления в Оберон-(Promela-)информоделях систем процессов - как эквиваленты рандеву-операторов (ну и аналогично вводятся операторы других механизмов - услкринтервалы и пр.). Так?
С другой стороны, есть Активный Оберон, представляющий расширение самого минимального прогязыка конкретным типом механизма взаимодействия процессов (AWAIT - верно я понимаю, что это услкринтервалы?) - и другими определёнными языковыми сущностями (делегаты и пр.), нужными и для поддержки этого механизма. Достоинства и недостатки этого обсуждались, как я понял, прежде всего в этой теме - там, правда, о системном взаимодействии процессов меньше - м.б. есть специализированная тема.
И вот вопрос - какой подход будет реализован в Вашем проекте? Как видится путь реализации?
И ещё вопрос - как это связано с обобщённым программированием?


В PureBuilder нет явной границы между языком и стандартной библиотекой.
Я не являюсь специалистом по параллельному и распределенному программированию.
В моем понимании параллельное и обобщённое программирование не связаны - это ортогональные парадигмы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 13 Январь, 2011 11:52 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Сергей Прохоренко писал(а):
Драконограф в viewtopic.php?p=57532#p57532 писал(а):
...

В PureBuilder нет явной границы между языком и стандартной библиотекой.
Я не являюсь специалистом по параллельному и распределенному программированию.
В моем понимании параллельное и обобщённое программирование не связаны - это ортогональные парадигмы.
Т.е. кто-то будет расширять Оберон, заложенный как базовый прогязык, для организации взаимодействия процессов? Как Форт примерно - захотел чего-то - написал "новое слово на букву AWAIT" :) ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 12:11 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Евгений Темиргалеев писал(а):
Сергей Прохоренко писал(а):
Комментарии могут содержать гиперссылки.
Неужели только гиперссылки? Так уж и пишите честно, что комментарии у Вас --- это настоящий (не плоский) текст. Типа как в ворде.


Нет, графические объекты не могут вставляться в комментарии - для этого просто нет места. Ведь в основном комментарии будут в ячейках таблиц, а высота ячеек фиксированная. Ну, может, только смайлики поместятся :D :D :D или маленькие пиктограммы.


Последний раз редактировалось Сергей Прохоренко Четверг, 13 Январь, 2011 12:30, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 12:21 
Аватара пользователя

Зарегистрирован: Воскресенье, 08 Июль, 2007 00:38
Сообщения: 778
Откуда: Москва
Драконограф писал(а):
Снова не о том речь, что программист "для себя и своих" пишет - а о результатах всего движения от "есть такая задача" к "есть такое решение" - точнее см. в этом и следующем сообщениях.
Глаголев в этой книге, кстати, пишет по существу о том же - см. в конце п. 4.3:
Глаголев В. на с. 64 писал(а):
...порядок работы с ПО излагать в руководстве по работе комплекса, используя рекомендации по построению руководства пользователя АС.
Эти рекомендации даются в п. 8.5 той же книги. Кстати, существенно и замечание в п. 7.3, что нужно определить состав и структуру аппаратно-программной инфорсимы через схему деления - о том же по сути и при обсуждении реализации автоматного программирования в п/р 2.2 этой работы - т.е. надо иметь актив-схему системы, взаимосвязанную с остальным.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Обсуждение проекта PureBuilder
СообщениеДобавлено: Четверг, 13 Январь, 2011 13:05 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Сергей Прохоренко писал(а):
Драконограф в viewtopic.php?p=57550#p57550 писал(а):
...

Если Вы о том, что программная документация должна стать составной частью каждого программного проекта (с возможностью по гиперссылкам переходить к конкретным местам программы), то я с Вами совершенно согласен. :D
Именно! :) А Глаголев и Шалыто идут и дальше в русле намеченного при классификации здесь - предлагая увязывать и с исполнителем (аппаратурой), и с реальным объектом управления (если его нет - то есть виртуальный в виде перерабатываемых данных). Чтобы включить человека - просто фиксируем его деятельность как взаимодействующие процессы (по Шалыто они, видимо, должны входить в среду АО-модели). Также добавляем данные верификации - как-то assert-инварианты, ModelChecking-требования. Ну и логически завершающий шаг - зафиксировать в проекте обобщённое знание - как "внешнюю схему" для "нейтральной" программно-аппаратной модели с инструкциями человеку. Учитывая, что с этого начинается формализация задачи - и на этом основано решение (включая определение критериев верификации). Примерно так.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 130 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB