OberonCore
https://forum.oberoncore.ru/

Оберон и GNU Octave в образовании
https://forum.oberoncore.ru/viewtopic.php?f=8&t=6771
Страница 1 из 1

Автор:  ScrollLock [ Пятница, 11 Июнь, 2021 14:20 ]
Заголовок сообщения:  Оберон и GNU Octave в образовании

Приходилось иметь дело и с GNU Octave, и с MATLAB. В основном для реализации разных численных методов и задач нелинейной оптимизации. Язык GNU Octave регулярно использую в преподавании регрессионного анализа. Ради интереса (чтобы оценить, насколько Оберон пригоден для замены GNU Octave) реализовал в нём метод Левенберга-Марквардта, робастную регрессию и квантили распределения Стьюдента. Пришёл к выводу, что по сравнению с GNU Octave ему не хватает ряда серьёзных вещей:

1) Стандартизации языка: есть и Blackbox, и Oxford Oberon Compiler (пользовался в основном ним), и FreeOberon, и много чего ещё. При этом в разных вариантах Оберона (Oberon, Oberon-2, Oberon-07) сильно различается поддержка таких вещей, как динамические массивы. Также бывает разнобой с именами функций в математической библиотеке. А они очень нужны. Бывает даже разный размер типа REAL, что важно для численных методов. В этом плане GNU Octave и MATLAB куда более единообразны. О C и нечего говорить, там почти всё стандартизовано, но "тащить" его в преподавание математики непрограммистам лучше не надо.
2) Готовых библиотек численных методов. Если не прав - поправьте меня. А то сейчас для того, чтобы описать точки полиномом, нужно сначала реализовать как минимум метод Гаусса или разложение Халецкого. Это особенно удивило, т.к. язык вроде бы позиционируется как хороший для образования и науки.
3) Кросс-платформенных библиотек визуализации научной графики: сейчас студенты могут использовать и Mac OS, и GNU/Linux.

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

В GNU Octave ещё удобна интерпретируемость, возможность перегружать операторы и лаконично объявлять матрицы, но это уже не так критично. Особенно с учётом того, что компиляторы Оберона очень быстрые, что позволит обойтись без интерпретации.

P.S. Есть ли где-то подборка литературы, модулей и пособий для использовании Оберонов именно для численных методов и матстатистики?

Автор:  Борис Рюмшин [ Пятница, 11 Июнь, 2021 15:48 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

На счёт п. 2 посмотрите http://zinnamturm.eu/ там были какие-то библиотеки математические. Иван Андреевич ближе к этому вопросу, может что-то ещё присоветует. Также у него, кстати, была отличная библиотека двумерных графиков.

Автор:  Иван Денисов [ Пятница, 11 Июнь, 2021 21:50 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

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

Главным образом математические библиотеки развивает Роберт Кэмпбелл: http://zinnamturm.eu/authors.htm#Cam

Сам разрабатывал и планирую в скором времени обновить систему для отображения графиков:
https://blackbox.oberon.org/extension/Dia

В Компонентном Паскале есть стандарт. Этот язык уже 20 лет не меняется помимо добавления поддержки юникодных идентификаторов.

Автор:  Иван Денисов [ Пятница, 11 Июнь, 2021 21:56 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

Оберон (последняя версия — Оберон-07) может быть полезен для систем с более ограниченными ресурсами железа (к примеру, компилятор O7 Александра Ширяева), или требованиями к простоте компилятора (например, онлайн компилятор Оберона от Владислава Фольца). Для преподавания простых алгоритмов обычной информатики и программирования вполне подходит и простой Оберон, как онлайн (OberonJS), так и на ПК (компилятор Восток, МультиОберон, Ofront+).

А вот для сложной математики, разных динамических вещей и символьных вычислений — Компонентный Паскаль получше. В Блэкбоксе или через МультиОберон.

Оберон-2 — это уже скорее, если есть большое желание использовать конкретные компиляторы типа VOC, XDS или Ofront+.

Автор:  Oleg N. Cher [ Пятница, 11 Июнь, 2021 23:30 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

Раз зашёл разговор про Ofront+, вставлю и свои пять копеек: он тоже поддерживает Компонентный Паскаль — всё, кроме двухбайтового типа CHAR. Пока что так.

Также подумываю о поддержке математического расширения Oberon-X.

Автор:  ScrollLock [ Суббота, 12 Июнь, 2021 00:48 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

Oleg N. Cher писал(а):
Также подумываю о поддержке математического расширения Oberon-X.

Перегрузка операторов чем-то смахивает на подход из Julia с множественной диспетчеризацией.

Иван Денисов писал(а):
Главным образом математические библиотеки развивает Роберт Кэмпбелл:

Спасибо за ссылки, среди представленных там библиотек наиболее близка к изначальной теме Datafit, там действительно есть реализация нелинейного МНК. Какой именно алгоритм они используют - не ясно. Наверное, Нелдера-Мида. Сама библиотека немного загадочная, с идентификаторами в коде почти без комментариев на неизвестном языке.

Автор:  Sergej Durmanov [ Суббота, 12 Июнь, 2021 08:07 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

Безусловно, Активный Оберон будет лучшим выбором для этого.
Перегрузка операций, математические и тензорные массивы ( включая литералы ), автовывод типов и другие свойства языка облегчат реализацию необходимых компонентов.
В А2 интегрирована в качестве приложения ос ETH Oberon, для которой реализован каркас AntsInFilelds.
Так же в репозитории присутствует каркасы CAPO (Computational Analysis Platform for Oberon), OCTK(Oberon Computational Toolkit), Matrix(Linear Algebra and Planar/Volumetric Signal Processing Modules и т.д. ).

Автор:  Иван Денисов [ Четверг, 17 Июнь, 2021 19:46 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

ScrollLock писал(а):
Иван Денисов писал(а):
Главным образом математические библиотеки развивает Роберт Кэмпбелл:

Спасибо за ссылки, среди представленных там библиотек наиболее близка к изначальной теме Datafit, там действительно есть реализация нелинейного МНК. Какой именно алгоритм они используют - не ясно. Наверное, Нелдера-Мида. Сама библиотека немного загадочная, с идентификаторами в коде почти без комментариев на неизвестном языке.

Автор — француз, похоже, так что идентификаторы на своём языке, наверное, назвал :)

Автор:  ScrollLock [ Среда, 30 Июнь, 2021 02:42 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

Sergej Durmanov писал(а):
Безусловно, Активный Оберон будет лучшим выбором для этого.
Перегрузка операций, математические и тензорные массивы ( включая литералы ), автовывод типов и другие свойства языка облегчат реализацию необходимых компонентов.
В А2 интегрирована в качестве приложения ос ETH Oberon, для которой реализован каркас AntsInFilelds.
Так же в репозитории присутствует каркасы CAPO (Computational Analysis Platform for Oberon), OCTK(Oberon Computational Toolkit), Matrix(Linear Algebra and Planar/Volumetric Signal Processing Modules и т.д. ).

А Zonnon - производное от Активного Оберона или нет?

Автор:  Илья Ермаков [ Среда, 30 Июнь, 2021 10:34 ]
Заголовок сообщения:  Re: Оберон и GNU Octave в образовании

ScrollLock писал(а):
А Zonnon - производное от Активного Оберона или нет?


Ну идеологически он отталкивается от AO, да.
А так это был авторский проект Зуева в MS Research, там много его изменений относительно "привычного для Оберонов".
Были интересные средства типа грамматик на протоколы обмена вызовами (последовательность вызовов методов).

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