OberonCore
https://forum.oberoncore.ru/

Оберон и функциональное программирование
https://forum.oberoncore.ru/viewtopic.php?f=29&t=6597
Страница 1 из 1

Автор:  berona [ Пятница, 10 Апрель, 2020 17:21 ]
Заголовок сообщения:  Оберон и функциональное программирование

Поддерживает ли оберон функциональную парадигму программирования?

Автор:  Иван Денисов [ Пятница, 10 Апрель, 2020 18:15 ]
Заголовок сообщения:  Re: Оберон и функциональное программирование

Ответ от любителя самоучки :)

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

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

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

Автор:  adimetrius [ Пятница, 10 Апрель, 2020 20:18 ]
Заголовок сообщения:  Re: Оберон и функциональное программирование

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 написал интерпретатор (или компилятор?) Пролога, и теперь Блэкбокс поддерживает логическое программирование.

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

Автор:  PSV100 [ Четверг, 21 Май, 2020 19:30 ]
Заголовок сообщения:  Re: Оберон и функциональное программирование

"Функциональный Оберон": Trankvila

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