Оберон-клуб «ВЄДАsoft»

Твердыня модульных языков
Текущее время: 21 апр 2024, 11:22

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




Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу Пред.  1, 2
Автор Сообщение
СообщениеДобавлено: 02 дек 2019, 01:52 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Коллеги, а давайте не идеализировать Оберон-компиляторы с прямой генерацией машинного кода, что-де они такие простые и надёжные. Нам с Олегом Комлевым ещё "посчастливилось" столкнуться с ошибкой деления 64-битных целых чисел в BlackBox 1.6. Несколько серьёзных ошибок Александр Ильин нашёл в XDS за годы работы с ним. Я даже думаю, что их до сих пор никто не исправил.

По личным ощущениям компиляторы с генерацией машкода это некая теневая область, в которую вторгаться не очень любят, и правильно делают. Иными словами, больше проблем с тем, чтобы исправить баг или внести фичу осмысленно. Йозеф Темпл при всём моём уважении не до конца понимает как устроен генератор кода в BlackBox, хотя он сейчас основной разработчик.

Что такого есть у Си, чего нет у Оберона, это, даже в худшем случае, наличие более или менее сносного компилятора практически под каждую архитектуру. А есть компиляторы и очень сильные: Clang, GCC, Intel C. Да, это громадные шкафы, но там решена одна проблема, которая всегда будет у слишком простых компиляторов: рыхлость и низкая эффективность порождаемого машинного кода. Я не могу и не хочу с этим мириться, хотя и не обладаю достаточными ресурсами для разработки серьёзного эффективного компилятора.

Pimbom, теперь по Вашему вопросу. Я боюсь, что нет хорошей реализации Оберона, чтобы можно было строить графические интерфейсы визуально и работать с мультимедиа. Что-то в этом направлении сделано в BlackBox, обязательно посмотрите видео-уроки Ивана Денисова, чтобы примерно понять, подойдёт ли это для Ваших задумок:


В Оберонах масса задач подобного класса ещё ждёт своего решения. Здесь просто крутится очень мало денег или их нет вовсе. Поэтому мы стараемся использовать библиотеки на других языках, например, SDL (которая может использоваться внутри Graph во Free Oberon), просто чтобы облегчить себе жизнь. Для GUI такие библиотеки слишком сложные, чтобы так просто ими пользоваться из Оберона. Хотя можно. Надо экспериментировать. Мне очень понравилась библиотека Nuklear:


Для неё на GitHub ищутся биндинги практически для всех известных языков программирования. Ну кроме Оберона конечно. Вот такое красивое, портабельное и весьма минималистичное решение хотелось бы видеть написанным на Обероне. Что-то подобное разрабатывает и Артур Ефимов. Посмотрим, что у него получится. GUI для текстового режима, на котором работает Free Oberon, уже получилось, и весьма недурно.

Ещё, разумеется, остаётся возможность писать графические интерфейсы на WinAPI, однако это не для слабонервных. И это тупиковый путь, так как поддержка Linux и других систем тоже важна.

Pimbom, и не слишком идеализируйте ни Оберон, ни Аду. Сертификация языка сама по себе ничего не гарантирует, а надёжность "от языка" лишь увеличивает вероятность нахождения багов на ранних стадиях, но программисты делают массу ошибок такого рода, которые компилятор не сможет найти никогда, даже если в него встроить подобие ИИ. А "надёжность передачи и отображения данных чтобы была не меньше, чем при управлении летательными аппаратами" никак не сочетается с веб-браузерами. Сеть может упасть в любой момент или браузер всю память съест.

Оберон сам по себе лишь в какой-то мере придаёт процессу разработки предсказуемость и надёжность, но очень зависит ещё кто и как на нём пишет. В Обероне есть нерешённые проблемы, которые и нельзя решить, не выходя за рамки заявленной простоты: компиляторы никак не предотвращают зацикленную рекурсию, есть неоднозначности с поведением управляющей переменной цикла FOR, да и вообще возможность иметь её не локальной, а сам цикл FOR для простоты описан через WHILE, поэтому всегда будет зациклен для максимального граничного значения типа ( FOR i := n TO MAX(IntType) ), кстати, Йозеф не считает это проблемой, а я считаю.

По Ofront+ скажу, что важно не только вылизывание багов, но и вообще жизнеспособность проекта. Им мы активно занимаемся, используем в своей деятельности, поддерживаем пользователей. Может кто ещё не в курсе, но проект Free Oberon переходит с voc на Ofront+


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 02 дек 2019, 06:18 
Не в сети

Сообщения: 53
Благодарю за информацию, буду иметь в виду. Ещё хотел узнать, для автоматизации других программ с помощью языков программирования нужно знать AutoIt или это можно делать на Oberon?

_________________
Работаю в Windows 10. В то же время также установлен Линукс для некоторых ситуаций


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 02 дек 2019, 15:05 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Если имеется в виду управление другими программами (да ещё и с графическим интерфейсом, т.е. чтобы кнопочки сами нажимались), то тут Оберон почти бесполезен.

Оберон хорош как миниатюрная, но самодостаточная основа, языковое ядро, притом для проектов, которые имеют небольшую плоскость стыка с другими технологиями. Потому как кое-что из них адаптировано под Оберон, а ещё больше — нет.

Ну и ещё для обучения Оберон интересен как язык, в котором одни зёрна и нету плевел. Тогда на другие языки тоже смотришь с этой же призмы и грамотнее их используешь.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2019, 03:09 
Не в сети
Аватара пользователя

Сообщения: 15
Откуда: Рига, Латвийская ССР
ivan_denisov писал(а):
Пусть даже и на VOC, но она хороша для широкого круга задач. Главное знакомство системы образования с Обероном. Это горячо поддерживаю!

Спасибо, Иван!
Недавно при разработке проекта (как раз админки сайта на Обероне), я наткнулся на ошибку в VOC, которая меня сильно удивила. Она связана с передачей двумерного массива по ссылке. Я вспомнил, что совсем недавно видел в расслыке по Ofront+ сообщение об устранении этой неисправности. Это послужило толчком к более детальному ознакомлению с Ofront+, я уже перевёл три проекта на него, но пока не Free Oberon. Он на очереди. Поэтому программы на Free Oberon, пожалуй, скоро станут чуточку надёжнее.

Хотелось бы и поддержку компилятора Блекбокса в Free Oberon сделать, но основная проблема в том, что программы, которые люди пишут с использованием Free Oberon, тогда будут различаться в зависимости от используемого компилятора, а это для обучения, для написания книг и других учебных материалов очень неудобно. Однако я помню, что когда я начинал работу над Free Oberon'ом, по началу он работал на OO2C, затем на Блекбоксе (затем на VOC, а потом на моей вариации VOC). Когда он работал на Блекбоксе, компиляция была просто удивительно быстрая. Это произвело на меня (казалось бы подготовленного человека) неизгладимое впечатление. Слегка коснувшись кнопки F9, я увидел на экране вывод уже отработавшей программы. Признаться, сначала я подумал, что компиляция по какой-то причине не запустилась, и передо мной старая версия программы, но нет. Отсутствие этой задержки при компиляции и запуске (пусть даже в одну—две секунды) действительно даёт очень много (что, кстати, указывал и разрабочик Go в своём докладе, вспоминая про время, когда он работал на Обероне в университете).

Поэтому, в частности, мы и работаем над созданием своего компилятора, хоть работа это и заятнулась, и немного заглохла из-за большой занятости. В любой момент мы к ней вернёмся, и результаты обязательно будут.


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 03 дек 2019, 07:29 
Не в сети

Сообщения: 53
Компилятор в Дарт делает свое дело в фоновом режиме, то есть, как понял, пока программист пишет новые строки кода, то что ранее написано, компилируется.

_________________
Работаю в Windows 10. В то же время также установлен Линукс для некоторых ситуаций


Вернуться к началу
 Профиль  
Ответить с цитатой  
СообщениеДобавлено: 04 дек 2019, 00:09 
Не в сети
Аватара пользователя

Сообщения: 1019
Откуда: Днепропетровская обл.
Пётр Советов писал(а):
Кажется, стремление к высокой скорости компиляции снова входит в моду среди разработчиков инструментального ПО.

На эту тему хорошо написал старый Атари-хакер James Hague.

https://prog21.dadgum.com/116.html
https://prog21.dadgum.com/47.html


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

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


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
© VEDAsoft Oberon Club