OberonCore
https://forum.oberoncore.ru/

Паттерны и приёмы программирования на Обероне
https://forum.oberoncore.ru/viewtopic.php?f=6&t=1218
Страница 1 из 2

Автор:  AVC [ Суббота, 25 Октябрь, 2008 11:04 ]
Заголовок сообщения:  Паттерны и приёмы программирования на Обероне

Хотелось бы составить перечень (реестр :) ) паттернов и приёмов программирования, специфичных для Оберона.
Речь идёт именно о приёмах, специфичных для языка, а не об общих правилах "хорошего тона" (вроде структурного программирования).
Некоторые из них достаточно очевидны. Например, использование программной шины или фабричных функций вместо конструкторов.
Некоторые менее очевидны (или являются уже производными от более очевидных). Например, кэширование памяти для повышения эффективности программ. (Например, http://forum.oberoncore.ru/viewtopic.php?p=20109#p20109.)
Интересует именно повседневная практика, "будни" языка, позволяющие подвергнуть язык обоснованной критике и исправить недостатки.

Автор:  Info21 [ Суббота, 25 Октябрь, 2008 11:56 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Паттерн Carrier-Rider возник в механизме доступа к файлам в Системе Оберон.

В общем виде сформулирован Шиперским в 1992 как (по-моему, сравнительно тривиальное) обобщение.

Источник: Oberon – The Overlooked Jewel, Michael Franz
http://www.ics.uci.edu/~franz/Site/pubs-pdf/BC03.pdf

Автор:  AVC [ Суббота, 25 Октябрь, 2008 12:48 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Info21 писал(а):
Паттерн Carrier-Rider возник в механизме доступа к файлам в Системе Оберон.
Спасибо.
Начало положено. :)

Автор:  Илья Ермаков [ Суббота, 25 Октябрь, 2008 15:37 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Хорошо бы тут собрать, а потом в Wiki перенесть....

Автор:  AVC [ Суббота, 25 Октябрь, 2008 15:56 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Илья Ермаков писал(а):
Хорошо бы тут собрать, а потом в Wiki перенесть....
Согласен.
В принципе, хотелось бы даже, чтобы набралось материала на маленькую электронную книжку "Практическое программирование на Обероне/КП", которую потом выложить на OberonCore.ru. :) (Более детальный вариант Вашей статьи, посвященной Оберон-технологии.)
Маэстро Вирт справедливо славится краткостью и ясностью изложения, но при таком подходе, кажется, недостаточно освещаются некоторые вопросы, возникающие у программиста, который недавно начал использовать Оберон всерьёз (не только для учебных задач).
Некоторые поклонники Оберона (вроде меня :roll: ) вынуждены программировать на нём "набегами", не проникаясь всеми его возможностями, в отличие от тех, кто программирует в ОС Оберон или в ББ.

Автор:  AVC [ Суббота, 01 Ноябрь, 2008 14:00 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Жаль, что тема не развивается.
Ведь речь как раз об "Оберон-культуре" (как естественном дополнении к Оберон-технологии - "цивилизации" :) ).
Эта культура не сводится к структурному программированию (а структурное программирование, в свою очередь, не сводится к структурным циклам и драконовским мерам для борьбы с ужасным goto).

Автор:  Info21 [ Воскресенье, 02 Ноябрь, 2008 02:08 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

AVC писал(а):
Жаль, что тема не развивается.

Всегда нужна "теорема существования".
А здесь -- взял ББ, поизучал -- вот и все паттерны.
-----------------------
Выделю еще "композицию" вместо наследования.

Автор:  Neplul [ Воскресенье, 02 Ноябрь, 2008 11:14 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Info21 писал(а):
AVC писал(а):
Жаль, что тема не развивается.

Всегда нужна "теорема существования".
А здесь -- взял ББ, поизучал -- вот и все паттерны.
-----------------------
Выделю еще "композицию" вместо наследования.

В принципе я тоже так знакомился с ББ, только все таки очень помогла в изучении статья
про Оберон технологии( и до сих пор мне хочется иметь намного расширенный вариант этой статьи). Сейчас я активно просматриваю документацию ББ статьи преосвященные ББ так что в скором времени пополним эту ветвь. А пока немного про хорошо известную модель MVC , хотя она и появилась в Смолтолке, но за счет свойств Оберонов она приобрела новые возможности.
1.В Смолтолке во главу угла поставили объекты и передачу сообщений между ними, объекты объединялись в классы (кстати в литературе про Смолтолк часто говорится что классы это модули,
но мы знаем к чему это привело такое не понимание , хотя в инете много инфы про применении MVC в разработке программ на Яве или С# и модификаций данного паттерна, но они даже приблизительно по мощности не достигают возможностей оберонов.
З.ы хотя и много уже говорилось про MVC, но всетаки есть задумка сравнить применение данного паттерна в Смолтолке, Кп и Яве.

Автор:  AVC [ Воскресенье, 02 Ноябрь, 2008 13:53 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

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

Автор:  PGR [ Воскресенье, 02 Ноябрь, 2008 14:57 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Neplul писал(а):
А пока немного про хорошо известную модель MVC , хотя она и появилась в Смолтолке, но за счет свойств Оберонов она приобрела новые возможности.
А какие именно возможности?
Neplul писал(а):
З.ы хотя и много уже говорилось про MVC, но всетаки есть задумка сравнить применение данного паттерна в Смолтолке, Кп и Яве.
Да, это было бы очень интересно. Особенно в сравнении со Смолтоком.

Автор:  Ярослав Романченко [ Вторник, 14 Декабрь, 2010 14:18 ]
Заголовок сообщения:  Паттерны в Процедурно/Реляционной парадигме

Patterns using Procedural/Relational Paradigm

Автор:  kemiisto [ Вторник, 14 Декабрь, 2010 14:39 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

H. Mössenböck. Twin - A Design Pattern for Modeling Multiple Inheritance.
J. Temp. A systematic approach to multiple inheritance implementation.

Вложения:
J. Templ. A systematic approach to multiple inheritance implementation.pdf [312.27 КБ]
Скачиваний: 662
H. Mössenböck. Twin - A Design Pattern for Modeling Multiple Inheritance.pdf [633.97 КБ]
Скачиваний: 727

Автор:  Валерий Лаптев [ Вторник, 01 Ноябрь, 2011 11:41 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Второй файл почему-то не открывается (после загрузки - на моем столе). Пишет, что файл не найден.

Автор:  Peter Almazov [ Вторник, 01 Ноябрь, 2011 11:50 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Это из-за немецких букв o с умляутами (точками вверху). Переименуйте файл.

Автор:  Валерий Лаптев [ Вторник, 01 Ноябрь, 2011 11:54 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Спасибо!

Автор:  Info21 [ Вторник, 01 Ноябрь, 2011 12:07 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

kemiisto писал(а):
H. Mössenböck. Twin - A Design Pattern for Modeling Multiple Inheritance.
J. Temp. A systematic approach to multiple inheritance implementation.
А ниче текстики, спасибо!

Автор:  kolesiko [ Суббота, 22 Февраль, 2014 17:56 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Я тоже интересуюсь этой темой. Мне бы очень хотелось увидеть какие-то примеры проектирования программ на Обероне-2. Например, создание простенькой игры. Причем этот процесс должен объясняться по шагам. Нет, не процесс программирования (написание модулей), а именно проектирования (взаимодействие модулей). Тут все комментарии свелись к тому, что "это так просто в Обероне, что и смысла рассказывать нет". К сожалению, есть такой парадокс: когда человек что-то знает хорошо, он не может это хорошо объяснить. Это называется "Проклятие знания"

О многом говорит хотя бы тот факт, что вот этот пост за 8 лет так и не удостоился ответа - viewtopic.php?f=5&t=254
Знаете, почему люди пишут на C# и Python? Потому что на любой вопрос легко гуглится ответ, а то и сниппет. Я так на VB.NET однажды прогу написал.

Вот мне, например, надо написать программу на Обероне-2. Конечно, можно постепенно осваивать его, реализуя все более сложные программы. Начиная с какой-нибудь ерунды типа восьми ферзей. Проблема в том, что так я научусь только записывать алгоритмы на этом языке, а это дело десятое. Алгоритмизировать я и так умею. Я говнокодер с 30-летним стажем. :) Но вот модульное программирование для меня в диковинку. Каких-то паттернов и best practices я не нашел (глупый гугль думает, что я хочу изучить ООП), за исключением тех ссылок, что в этой теме (большое спасибо, завтра почитаю, сейчас уже глаза и попа болят), а также принципа CQRS, который применим к любому ЯП, а значит, и к Оберону.

Автор:  Евгений Темиргалеев [ Суббота, 22 Февраль, 2014 18:23 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

kolesiko писал(а):
Мне бы очень хотелось увидеть какие-то примеры проектирования программ на Обероне-2. Например, создание простенькой игры. Причем этот процесс должен объясняться по шагам. Нет, не процесс программирования (написание модулей), а именно проектирования (взаимодействие модулей).
http://oberoncore.ru/library/kuzmiczkij ... e_blackbox (...
27 апреля 2009г.
Библиотека, Кузьмицкий И.А., ББ, Образование )

http://oberoncore.ru/library/ermakov_gr ... _pokazanij
http://oberoncore.ru/blackbox/tutorial

P.S. http://oberoncore.ru/wiki/lang/component_pascal

Автор:  Jordan [ Четверг, 04 Декабрь, 2014 16:23 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Паттерны говорите.

Берём книгу, фундаментальные алгоритмы(Для болей близости к оберону, есть редакция для delphi).

Всё остальное, это всяко разные апи, движки, фреймворки.

Автор:  Илья Ермаков [ Четверг, 04 Декабрь, 2014 20:37 ]
Заголовок сообщения:  Re: Паттерны и приёмы программирования на Обероне

Алгоритмы - это алгоритмы.

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

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