OberonCore

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

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




Начать новую тему Ответить на тему  [ Сообщений: 26 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Понедельник, 18 Февраль, 2013 10:39 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Часто оказывается, что предметная область богаче и шире предоставляемых языком средств описания. Например, что даёт нам Оберон?

  • базовые типы
  • структуры
  • процедуры
  • модули

Собственно, всё. Несмотря на то, что эти средства довольно выразительны и из них можно строить бесконечные комбинации, они слишком "широки" и недостаточно "глубоки". И это кажется проблемой. Я пока не могу толком сформулировать вопрос, который находится где-то между проектированием и конечным продуктом и связан с описанием абстракций предметной области.
Другими словами, ООП ощущается несколько слабым для хорошего, мощного и удобного описания предметной области. Мелковат. Приходится, грубо говоря, из мелких винтиков и дощечек лепить вещи, которые удобнее было бы описывать через более крупные и специализированные понятия.

Функциональные языки и прочие руби со скалами - жалкие потуги обрести способы такого описания, как мне кажется - не сочтите за троллинг, потому что не сильно далеко они ушли от обыкновенного ООП как способа нарезать реальность на куски.

Что может нам предложить программная инженерия в XXI веке для решения этой проблемы? Или мне только кажется, что это проблема?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Февраль, 2013 11:19 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Иван Кузьмицкий писал(а):
Что может нам предложить программная инженерия в XXI веке для решения этой проблемы?
Или мне только кажется, что это проблема?
Это проблема, но это не проблема программной инженерии, по-моему.

Смесь формального и неформального текстов -- как во всех прочих областях чел. деятельности :)

ИТ тут не лучше, и не хуже, по-моему.
Ср. документацию к ББ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Февраль, 2013 12:37 

Зарегистрирован: Суббота, 17 Сентябрь, 2011 16:39
Сообщения: 72
Посмотрите MPS. Там на основе явы можно написать предметно-ориентированный язык под Вашу задачу и пользоваться им. В конечном счете все это будет работать на JRE.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Февраль, 2013 14:57 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Еще можно посмотреть книгу Мартина Фаулера о предметно ориентированных языках: http://www.ozon.ru/context/detail/id/6967089/


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Февраль, 2013 21:55 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Это всё равно будет языком программирования. А Иван, как я понимаю, говорит о языке документирования анализа задачи и принимаемых проектных решений.
Об инструменте, когда я, условно говоря, могу восстановить весь ход решений проектирования, приведший к появлению некоторого куска кода...

На эту тему Алексей Донской неоднократно выкладывал фидошные обсуждения с Седовым - очень любопытные...

А DSL уровня программирования, кроме некоторых задач - игрушка красивая... Пока не наиграешься - интересно :) И не новая игрушка - ЛИСПы-ФОРТы - всё ведь уже там пробовано :) С плюсами и минусами...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 18 Февраль, 2013 23:33 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Не. Дело в том, что при разработке DSL мы ведь вольны спроектировать абстракции сколь угодно высокого уровня. Можно двигаться в любом направлении при создании таких абстракций.
Не обязательно реализовывать это в исполняемый язык.
Вспомните APL - его ведь мужик придумал специально для описания своих задач. И только много лет спустя это дело реализовали как исполняемый язык программирования.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 07:40 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Валерий Лаптев писал(а):
Не. Дело в том, что при разработке DSL мы ведь вольны спроектировать абстракции сколь угодно высокого уровня.
Мне представляется, что это не из той оперы.

Вот посмотрите, у нас есть следующие стадии решения IT-задачи (упрощённо и укрупнённо, и используя производственную терминологию):
1) НИР - научно-исследовательские работы (исследование предметной области);
2) ОКР - опытно-конструкторские разработки (алгоритмизация и всяко разно, вплоть до прототипов);
3) ТПП - технологическая подготовка производства (собственно программирование, кодирование);
4) производство (эксплуатация программы).

Вы говорите об этапе (3), максимум (2), да и то фрагментарно.
А меня интересует (1)!


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 08:56 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Alexey_Donskoy писал(а):
Валерий Лаптев писал(а):
Не. Дело в том, что при разработке DSL мы ведь вольны спроектировать абстракции сколь угодно высокого уровня.
Мне представляется, что это не из той оперы.

Вот посмотрите, у нас есть следующие стадии решения IT-задачи (упрощённо и укрупнённо, и используя производственную терминологию):
1) НИР - научно-исследовательские работы (исследование предметной области);
2) ОКР - опытно-конструкторские разработки (алгоритмизация и всяко разно, вплоть до прототипов);
3) ТПП - технологическая подготовка производства (собственно программирование, кодирование);
4) производство (эксплуатация программы).

Вы говорите об этапе (3), максимум (2), да и то фрагментарно.
А меня интересует (1)!

Спасибо за аналогию. Я подобную аналогию проводил на строителях :
архитектурный проект, инженерный проект, проект производства работ.
Что касается 1...
Может быть, надо вспомнить Андрея Петровича Ершова и его деловую прозу?
У архитекторов-строителей же явно есть свой профессиональный язык.
А в ИТ его просто нет по причине молодости отрасли.
ИМХО - пока обходиться естественным и придумывать терминологию по мере накопления опыта.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 09:04 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
А может, речь о "программе как части системы"?.. в смысле обсуждавшегося здесь, например: viewtopic.php?p=77645#p77645 и далее: viewtopic.php?p=77646#p77646 ?..


Последний раз редактировалось Владислав Жаринов Вторник, 19 Февраль, 2013 09:38, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 09:07 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Валерий Лаптев писал(а):
У архитекторов-строителей же явно есть свой профессиональный язык.
А в ИТ его просто нет по причине молодости отрасли.
Да опять же не в этом дело!!!

Этап (4) имеет дело с конкретным готовым инструментом (программа) и состоит в строго регламентированном его использовании.

Этап (3) имеет дело с конкретным готовым инструментом (язык) и состоит в конкретизированном действии (кодирование).

Этап (2) имеет дело обычно с конкретными методиками (в том числе использующими язык математики и DSL) и состоит в "инженерном творчестве" - проектировании по известным методикам.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 09:14 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Кстати, регламентация каждого этапа - это, видимо, система техпроцессов... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 09:31 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Валерий Лаптев писал(а):
Вспомните APL - его ведь мужик придумал специально для описания своих задач.


Не представляю, какие узкоспециальные задачи решает APL.
Матрично-векторную обработку реализует уйма людей - и на Фортране прекрасно реализует :)
Так что мужик просто решил ещё раз "спасти мир", сделав язык более высокого уровня "из общих соображений" о том, что было бы полезно осчастливить всех... :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 09:39 

Зарегистрирован: Воскресенье, 01 Ноябрь, 2009 05:13
Сообщения: 2046
Да, по 4) - эксплуатация - это производство чего?.. ведь результатов работы программы?..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 09:46 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Владислав Жаринов писал(а):
Да, по 4) - эксплуатация - это производство чего?.. ведь результатов работы программы?..
В общем виде программа - один из инструментов производства, а результаты её работы - промужуточный (в частном случае - окончательный) продукт.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 10:37 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 10:57 
Аватара пользователя

Зарегистрирован: Суббота, 29 Март, 2008 19:27
Сообщения: 1053
Откуда: Россия, Чебоксары
Владислав Жаринов писал(а):
Так вот и определить бы прежде всего абстракцию работы системы по этим стадиям...
Опять растеклись мыслию по древу. Какой системы-то?!

Цитата:
Может, тогда для основы больше ничего и не надо?.. а специфики предметок пусть "по-человечески" для начала описывают... как привыкли... главное, чтоб всё было к системе привязано...
Ну. может, тогда и вообще ничего не надо. И без компов раньше сидели, и не жужжали, и латынь изучали, и изобретали, и открывали законы природы в промежутке между военными действиями...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 12:13 

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

Это к тому, что так должны описываться и эти вещи: viewtopic.php?p=73812#p73812. Или есть другие варианты?..


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 19 Февраль, 2013 16:46 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Владислав, вы не пробовали для излияния подобных "догадайся сам"-реплик использовать сервис Twitter?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 20 Февраль, 2013 14:34 

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 20 Февраль, 2013 16:27 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Здесь ведь не микроблог, а вы организуете ковровые постометания в твиттер-стиле, поди вас пойми.


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

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


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

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


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

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