OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 07:16

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




Начать новую тему Ответить на тему  [ Сообщений: 98 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Суббота, 28 Декабрь, 2019 08:13 

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
Цитата:
А есть у вас какие-то наработки, внедрения? или близкий контакт с предметной областью?

Ну приходилось работать с автоматизацией на одном Excel на макросах VBA, с автоматизацией на Access (VBA + SQL), с 1С 7.7/8 в производственном отделе, отделе снабжения, отделе маркетинга, службе управления проектами и т.д.. Там основной функционал - занесение данных в простые таблички внутренней БД через простые формочки, составление отчетов в различных разрезах, построение графиков, выгрузка отчетов в Excel, Word, pdf. Т.е. ничего такого принципиально невозможного для блекбокса. Это та стадия, когда отделы делают автоматизацию сами, так как сами не знают что хотят - поэтому не привлекают программистов. Вот "дошлифовать" блекбокс до состояния готовности к таким задачам, описать все это в инструкции для начинающих - было бы интересной задачей.

Вариант макросов Оберона в LibreOffice - тоже интересно - но это задача намного сложнее и объемнее. Там сейчас вроде уже есть несколько языков автоматизации - собственно почему там не может быть Оберона?

Еще интересно встраивание Оберона в движки для разработки игр. Многие школьники и студенты интересуются разработкой игр - пусть простых, но которые можно показать одноклассникам и похвастаться. Вот есть движок INSTEAD - там внутри Lua для разработки игр. Или движок RenPy с Python. Почему-бы не сделать тоже самое с блекбоксом?

Так как Оберон можно компилировать в Java и JavaScript - то тут вообще открываются интересные возможности. Огромное количество программ на этих языках написано. И там иногда внутри придумывают свои языки - например, для проверки прав пользователей, и т.п. В той же Jira уже кучу языков для автоматизации придумали, конкурирующих между собой. Это все в рамках только ОДНОГО приложения! Причем большинство из них платные и стоят очень немало.

Да в ту же 1С почему-бы не встроить - чтобы можно было в 1С что-то рисовать динамически на каких-то страницах - на форме отчетах например?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Суббота, 28 Декабрь, 2019 12:52 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Вот вы заговорили про Excel - я тоже, когда думаю про мелкую автоматизацию, думаю про электронные таблицы. И, к сожалению, их-то как раз и не хватает в ББ. Хотя, конечно, нет принципиальной сложности их сделать.
Цитата:
Оберон можно компилировать в Java и JavaScript

Вы имеете в виду теоретически? или конкретные компиляторы?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Суббота, 28 Декабрь, 2019 13:28 

Зарегистрирован: Пятница, 22 Март, 2019 07:50
Сообщения: 62
adimetrius писал(а):
Вы имеете в виду теоретически? или конкретные компиляторы?

Конкретные. Вот на основе компилятора Luca Boasso попробовал сделать приложение по интеграционному тестированию на основе Selenium (обертку).
Это позволит 80-90% таких тестов писать на Обероне. Там нет глобальных сложностей - пробную версию сделал - протестировал страницу.
Пока, правда, отложил - времени нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Четверг, 25 Июнь, 2020 19:24 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
В связи с тем, что проект получил развитие, он опубликован по новому адресу в домене университета:
https://visual.sfu-kras.ru/

Добавлены категории. Выводим на международный уровень! Поэтому теперь сделал поддержку англоязычного интерфейса.

Задумка раскрутить применение инструмента в образовании.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Пятница, 26 Июнь, 2020 23:43 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Это прекрасная новость!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Понедельник, 27 Июль, 2020 18:51 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Заложил основу нового базовго модуля Forms. Поддерживаются кнопки и поле ввода трех типов: строка, целые и действительные числа.

https://visual.sfu-kras.ru/ready/239

Пример кода простой программы с применением Forms.
Код:
MODULE Init;

 IMPORT D := Draw, F := Forms;

 VAR
  b1: F.ButtonControl;
  f1, f2, f3: F.FieldRealControl;

 PROCEDURE Sum;
 BEGIN F.SetReal(f3, f1.value + f2.value)
 END Sum;

 PROCEDURE Setup;
 BEGIN
  D.SetSize(195, 190);
  D.SetFrameRate(20);
  f1 := F.FieldReal(50, 20,  120, 30, NIL);
  f2 := F.FieldReal(50, 60,  120, 30, NIL);
  b1 := F.Button(50, 100, 120, 30, "a + b → c", Sum);
  f3 := F.FieldReal(50, 140, 120, 30, NIL);
 END Setup;

 PROCEDURE Draw;
 BEGIN
  D.SetBackground(D.green);
  D.Stringi("a = ", 20,  40, 16);
  D.Stringi("b = ", 20,  80, 16);
  D.Stringi("c = ", 20, 160, 16);
 END Draw;

BEGIN
 D.CreateCanvas("canvas");
 D.SetSetupProc(Setup);
 D.SetDrawProc(Draw);
 D.Start
END Init.


Фреймворк претерпевает небольшие изменения, поэтому некоторые модели надо будет подправить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 22 Сентябрь, 2020 06:30 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Странный аттрактор Лоренца :)
https://visual.sfu-kras.ru/ready/243


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 27 Октябрь, 2020 07:59 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Система диполей получилась весьма занятная
https://visual.sfu-kras.ru/ready/257
Диполи можно мышкой передвигать. Добавлять новые диполи в систему.
Считаются они через заряды, дипольное приближение не используется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Вторник, 27 Октябрь, 2020 23:23 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 592
Иван Денисов писал(а):
Система диполей получилась весьма занятная
https://visual.sfu-kras.ru/ready/257
Диполи можно мышкой передвигать. Добавлять новые диполи в систему.
Считаются они через заряды, дипольное приближение не используется.

Жмакаем "Compile": Compiled in 2.6 s. - тут O'k.
Жмакаем "Run": TypeError: JS.Processing is not a constructor - вот как-то так...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 28 Октябрь, 2020 02:15 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Очень любопытно. Какой у вас браузер?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 28 Октябрь, 2020 23:45 

Зарегистрирован: Среда, 31 Январь, 2018 19:54
Сообщения: 244
В Хроме 86.0.4240.111, Мозиле 71.0.3770.284
и Торе 10.0.2 работает.

интересно, что в Торе автоматически переключаектся язык интефейса in English !!!)))


Последний раз редактировалось arlean1 Среда, 28 Октябрь, 2020 23:50, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 28 Октябрь, 2020 23:48 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 592
Firefox на RPi3B
Вложение:
2020-10-28-234039_1280x1024_scrot.png
2020-10-28-234039_1280x1024_scrot.png [ 202.75 КБ | Просмотров: 7740 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Пятница, 20 Ноябрь, 2020 17:30 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Перенес проект на библиотеку p5.js вместо Processing.js, который больше не поддерживается.
Немного более адекватно работает в мобильных браузерах, хотя сама библиотека потяжелее немного.
Еще нашел шрифт, в котором прилично поддерживаются юникодные символы. https://fonts.google.com/specimen/Source+Sans+Pro


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Пятница, 04 Декабрь, 2020 01:58 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Статью на Хабре приняли весьма адекватно
https://habr.com/ru/post/530560/

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Суббота, 06 Февраль, 2021 12:16 

Зарегистрирован: Суббота, 07 Март, 2009 15:39
Сообщения: 3261
Откуда: Астрахань
Хорошая статья.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 21 Апрель, 2021 00:08 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Очень интересно и красиво, даже зарегистрировался.
Возникли вопросы:
1) Что такое REAL? Измерил для него машинный эпсилон. Он у него как для double, т.е. 64-битной двоичной дроби из IEEE-754. Это так?
2) Есть ли в OberonJS динамические массивы? По типу ARRAY OF REAL или POINTER TO ARRAY OF REAL из Oxford Oberon-2 Compiler (они работают даже в режиме Оберон-07)? Мне актуально, т.к. я делаю на Обероне-07 с дин.массивами нелинейный метод наименьших квадратов и вообще M-оценивание. В основе - разложение Холецкого и метод Левенберга-Марквардта, и в нём для выделения векторов и матриц в памяти эта опция очень полезна.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 21 Апрель, 2021 06:03 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
ScrollLock писал(а):
Очень интересно и красиво, даже зарегистрировался.

Очень рад! Будет супер, если там сделаете какие-то крутые расчёты и опубликуете. Пишите, если что-то надо будет очень важное доработать. Времени мало, но хочу развивать систему, чтобы было больше пользователей.

ScrollLock писал(а):
1) Что такое REAL? Измерил для него машинный эпсилон. Он у него как для double, т.е. 64-битной двоичной дроби из IEEE-754. Это так?

Он транслируется в действительный тип JavaScript... а там уж как реализация JavaScript сделана.

ScrollLock писал(а):
2) Есть ли в OberonJS динамические массивы? По типу ARRAY OF REAL или POINTER TO ARRAY OF REAL из Oxford Oberon-2 Compiler (они работают даже в режиме Оберон-07)? Мне актуально, т.к. я делаю на Обероне-07 с дин.массивами нелинейный метод наименьших квадратов и вообще M-оценивание. В основе - разложение Холецкого и метод Левенберга-Марквардта, и в нём для выделения векторов и матриц в памяти эта опция очень полезна.

Динамических массивов в Обероне-07 нет. Владислав сделал их в своём экспериментальном Eberon. Но я не хочу на портал добавлять это, чтобы люди учились программировать в стиле, как это для микроконтроллеров надо при использовании компилятора O7.
Я сделал для вас пример, как динамические массивы несложно делаются, например, через списки.
https://visual.sfu-kras.ru/model/311
Но, если это супер критично для вашей задачи, и нет прямо никакого пути обойти необходимость создания, то я готов как-то сделать опцию для использования Eberon на сайте. Но очень прошу вас сначала попытаться найти способ обойтись без динамических массивов. Например, можно делать матрицы размером "с запасом".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: OberonJS онлайн IDE
СообщениеДобавлено: Среда, 21 Апрель, 2021 09:37 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 162
Иван Денисов писал(а):
Я сделал для вас пример, как динамические массивы несложно делаются, например, через списки.

Спасибо, мне понравилась идея с выделением памяти блоками. Если на это "наложить" трансляцию индексов, то матрицы тоже будут. Единственное неудобство - из-за отсутствия перегрузки операторов в Обероне нужно будет написать функции для доступа к элементам массива. Но это не страшно.

Цитата:
опцию для использования Eberon на сайте

Насколько я понял, Eberon, КП и Oxford Oberon-2 Compiler O07 mode всё равно по-разному реализуют эти динамические массивы. Так что думаю, что подход с собственной их реализацией будет оптимальным.


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

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


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

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


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

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