OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 04:38

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 10 Апрель, 2020 17:21 

Зарегистрирован: Пятница, 10 Апрель, 2020 04:42
Сообщения: 8
Поддерживает ли оберон функциональную парадигму программирования?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 10 Апрель, 2020 18:15 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Ответ от любителя самоучки :)

Оберон — классический фундаментальный без излишеств предсказуемый императивный язык программирования весьма близкий к железу.

На Обероне возможно написать программу без применения глобальных переменных, так что она будет соответствовать требованиям функционального программирования. В Обероне есть и процедурные переменные, и поддержка рекурсивных вызовов. Не уверен насчёт 100% технической поддержки от переполнения стека при рекурсии... Но тем не менее рекурсивные алгоритмы какие-то писал.

Но в синтаксическом смысле — нет. Лямбда выражений тут нет, к примеру. И других штук и терминов из мира функционального.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 10 Апрель, 2020 20:18 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
berona писал(а):
Поддерживает ли оберон функциональную парадигму программирования?


В Language report сказано: писал(а):
9.1 Assignments Присваивания
Assignments replace the current value of a variable by a new value specified by an expression.
Присваивания заменяют текущее значение переменной новым значением, которое задается выражением.


Таким образом, Оберон - язык с состояниями; в нем есть оператор присваивания. Следовательно, его нельзя к функциональным отнести. Он не поддерживает, как сейчас это называют, иммутабельности данных.

Можно ли писать функциональные программы на Обероне? Можно. Например, так: на Обероне можно сделать интерпретатор или компилятор функционального языка - и вперед! Вот наш коллега Gérard Meunier написал интерпретатор (или компилятор?) Пролога, и теперь Блэкбокс поддерживает логическое программирование.

Можно и проще: написать программу, которая ограниченно использует присваивание, задавая переменным (начальные) значения, но не изменяя их.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 21 Май, 2020 19:30 

Зарегистрирован: Понедельник, 25 Июнь, 2012 17:26
Сообщения: 473
"Функциональный Оберон": Trankvila


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

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


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

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


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

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