OberonCore https://forum.oberoncore.ru/ |
|
OberonJS онлайн IDE https://forum.oberoncore.ru/viewtopic.php?f=115&t=6006 |
Страница 5 из 5 |
Автор: | D_S__ [ Суббота, 28 Декабрь, 2019 08:13 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Цитата: А есть у вас какие-то наработки, внедрения? или близкий контакт с предметной областью? Ну приходилось работать с автоматизацией на одном Excel на макросах VBA, с автоматизацией на Access (VBA + SQL), с 1С 7.7/8 в производственном отделе, отделе снабжения, отделе маркетинга, службе управления проектами и т.д.. Там основной функционал - занесение данных в простые таблички внутренней БД через простые формочки, составление отчетов в различных разрезах, построение графиков, выгрузка отчетов в Excel, Word, pdf. Т.е. ничего такого принципиально невозможного для блекбокса. Это та стадия, когда отделы делают автоматизацию сами, так как сами не знают что хотят - поэтому не привлекают программистов. Вот "дошлифовать" блекбокс до состояния готовности к таким задачам, описать все это в инструкции для начинающих - было бы интересной задачей. Вариант макросов Оберона в LibreOffice - тоже интересно - но это задача намного сложнее и объемнее. Там сейчас вроде уже есть несколько языков автоматизации - собственно почему там не может быть Оберона? Еще интересно встраивание Оберона в движки для разработки игр. Многие школьники и студенты интересуются разработкой игр - пусть простых, но которые можно показать одноклассникам и похвастаться. Вот есть движок INSTEAD - там внутри Lua для разработки игр. Или движок RenPy с Python. Почему-бы не сделать тоже самое с блекбоксом? Так как Оберон можно компилировать в Java и JavaScript - то тут вообще открываются интересные возможности. Огромное количество программ на этих языках написано. И там иногда внутри придумывают свои языки - например, для проверки прав пользователей, и т.п. В той же Jira уже кучу языков для автоматизации придумали, конкурирующих между собой. Это все в рамках только ОДНОГО приложения! Причем большинство из них платные и стоят очень немало. Да в ту же 1С почему-бы не встроить - чтобы можно было в 1С что-то рисовать динамически на каких-то страницах - на форме отчетах например? |
Автор: | adimetrius [ Суббота, 28 Декабрь, 2019 12:52 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Вот вы заговорили про Excel - я тоже, когда думаю про мелкую автоматизацию, думаю про электронные таблицы. И, к сожалению, их-то как раз и не хватает в ББ. Хотя, конечно, нет принципиальной сложности их сделать. Цитата: Оберон можно компилировать в Java и JavaScript Вы имеете в виду теоретически? или конкретные компиляторы? |
Автор: | D_S__ [ Суббота, 28 Декабрь, 2019 13:28 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
adimetrius писал(а): Вы имеете в виду теоретически? или конкретные компиляторы? Конкретные. Вот на основе компилятора Luca Boasso попробовал сделать приложение по интеграционному тестированию на основе Selenium (обертку). Это позволит 80-90% таких тестов писать на Обероне. Там нет глобальных сложностей - пробную версию сделал - протестировал страницу. Пока, правда, отложил - времени нет. |
Автор: | Иван Денисов [ Четверг, 25 Июнь, 2020 19:24 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
В связи с тем, что проект получил развитие, он опубликован по новому адресу в домене университета: https://visual.sfu-kras.ru/ Добавлены категории. Выводим на международный уровень! Поэтому теперь сделал поддержку англоязычного интерфейса. Задумка раскрутить применение инструмента в образовании. |
Автор: | Борис Рюмшин [ Пятница, 26 Июнь, 2020 23:43 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Это прекрасная новость! |
Автор: | Иван Денисов [ Понедельник, 27 Июль, 2020 18:51 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Заложил основу нового базовго модуля 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. Фреймворк претерпевает небольшие изменения, поэтому некоторые модели надо будет подправить. |
Автор: | Иван Денисов [ Вторник, 22 Сентябрь, 2020 06:30 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Странный аттрактор Лоренца https://visual.sfu-kras.ru/ready/243 |
Автор: | Иван Денисов [ Вторник, 27 Октябрь, 2020 07:59 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Система диполей получилась весьма занятная https://visual.sfu-kras.ru/ready/257 Диполи можно мышкой передвигать. Добавлять новые диполи в систему. Считаются они через заряды, дипольное приближение не используется. |
Автор: | Artyemov [ Вторник, 27 Октябрь, 2020 23:23 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Иван Денисов писал(а): Система диполей получилась весьма занятная https://visual.sfu-kras.ru/ready/257 Диполи можно мышкой передвигать. Добавлять новые диполи в систему. Считаются они через заряды, дипольное приближение не используется. Жмакаем "Compile": Compiled in 2.6 s. - тут O'k. Жмакаем "Run": TypeError: JS.Processing is not a constructor - вот как-то так... |
Автор: | Иван Денисов [ Среда, 28 Октябрь, 2020 02:15 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Очень любопытно. Какой у вас браузер? |
Автор: | arlean1 [ Среда, 28 Октябрь, 2020 23:45 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
В Хроме 86.0.4240.111, Мозиле 71.0.3770.284 и Торе 10.0.2 работает. интересно, что в Торе автоматически переключаектся язык интефейса in English !!!))) |
Автор: | Artyemov [ Среда, 28 Октябрь, 2020 23:48 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Firefox на RPi3B Вложение:
|
Автор: | Иван Денисов [ Пятница, 20 Ноябрь, 2020 17:30 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Перенес проект на библиотеку p5.js вместо Processing.js, который больше не поддерживается. Немного более адекватно работает в мобильных браузерах, хотя сама библиотека потяжелее немного. Еще нашел шрифт, в котором прилично поддерживаются юникодные символы. https://fonts.google.com/specimen/Source+Sans+Pro |
Автор: | Иван Денисов [ Пятница, 04 Декабрь, 2020 01:58 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Статью на Хабре приняли весьма адекватно https://habr.com/ru/post/530560/ Также мне удалось по совету Влада организовать корректный отлов исключений в обратных вызовах библиотеки p5js, чтобы программа сообщала, если она упала по причине АВОСТа или выхода за границы массива во время перерисовки холста или обработки ввода. |
Автор: | Валерий Лаптев [ Суббота, 06 Февраль, 2021 12:16 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Хорошая статья. |
Автор: | ScrollLock [ Среда, 21 Апрель, 2021 00:08 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Очень интересно и красиво, даже зарегистрировался. Возникли вопросы: 1) Что такое REAL? Измерил для него машинный эпсилон. Он у него как для double, т.е. 64-битной двоичной дроби из IEEE-754. Это так? 2) Есть ли в OberonJS динамические массивы? По типу ARRAY OF REAL или POINTER TO ARRAY OF REAL из Oxford Oberon-2 Compiler (они работают даже в режиме Оберон-07)? Мне актуально, т.к. я делаю на Обероне-07 с дин.массивами нелинейный метод наименьших квадратов и вообще M-оценивание. В основе - разложение Холецкого и метод Левенберга-Марквардта, и в нём для выделения векторов и матриц в памяти эта опция очень полезна. |
Автор: | Иван Денисов [ Среда, 21 Апрель, 2021 06:03 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
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 на сайте. Но очень прошу вас сначала попытаться найти способ обойтись без динамических массивов. Например, можно делать матрицы размером "с запасом". |
Автор: | ScrollLock [ Среда, 21 Апрель, 2021 09:37 ] |
Заголовок сообщения: | Re: OberonJS онлайн IDE |
Иван Денисов писал(а): Я сделал для вас пример, как динамические массивы несложно делаются, например, через списки. Спасибо, мне понравилась идея с выделением памяти блоками. Если на это "наложить" трансляцию индексов, то матрицы тоже будут. Единственное неудобство - из-за отсутствия перегрузки операторов в Обероне нужно будет написать функции для доступа к элементам массива. Но это не страшно. Цитата: опцию для использования Eberon на сайте Насколько я понял, Eberon, КП и Oxford Oberon-2 Compiler O07 mode всё равно по-разному реализуют эти динамические массивы. Так что думаю, что подход с собственной их реализацией будет оптимальным. |
Страница 5 из 5 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |