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

Твердыня модульных языков
Текущее время: 26 апр 2018, 05:23

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
СообщениеДобавлено: 24 окт 2016, 11:37 
Не в сети
Аватара пользователя

Сообщения: 878
Откуда: Днепропетровская обл.
Oleg N. Cher писал(а):
У меня к Вам просьба, Илья. Если будете использовать его для своих проектов - не переводите, пожалуйста, разработку транслятора в закрытку. Смысла вообще нет. Пусть лежит на GitHub, и каждый сможет написать issue. Йозеф мечтал стричь золотых барашков и ныкал Ofront в closed source / shareware. А это полностью тупик, потому что: a) прошло много лет, а проект остался нафаршированный багами как пирог изюмом; b) из-за отсутствия нормальной лицензии (раньше!) Ofront потерял много потенциальных юзеров, не были сделаны привязки, не написаны библиотеки, руководства и т.д., в результате чего OO2C вышел вперёд. Это безобразие, потому что Ofront - тоже интересный проект.

У нас накоплен большой опыт ковыряния во внутренностях Ofront'а (участие в проекте Ofront+), поэтому предлагаю содействие в полировке транслятора. А если будет коммерческий интерес - это особенно привлекательно. Кстати, он и биндинги ББ'шные транслирует, даже с системными тегами ([union], [align]), что интересно (кроме COM).

Илья Ермаков писал(а):
Олег, приветствую!

Спасибо за пояснения.

Во-первых, планы использовать есть.
Во-вторых, планов закрывать нет. Мы вообще ничего пока из коммерческих соображений не закрывали. Только из соображений - не показывать пол-работы. А это очень часто оправдано.

Я делал на Оберон-дне доклад по нашей платформе пром. автоматизации, которая сложилась за последние полгода, и уже два промышленных проекта на ней были выполнены. Его я вообще хотел открытым сделать, но времени оказалось мало, были ещё уходы в сторону, поэтому придётся перезаписать доклад. (Хотя вот как раз некоторые особо интеллектуальные части платформы в open-source не обещаю).

CPFront считаю большим подарком для пром. автоматизации - потому что пока мы были вынуждены в роли управляющего узла использовать x86-архитектуры (а ПЛК оставлять тупо узлом ввода-вывода). А так можно и сесть прямо на ПЛК, или за пределами готовых ПЛК, использовать на ARM и т.п. Потихоньку начнём экспериментировать - попробуем потранслировать наши сборки. Как только выстрелит коммерческое что-то, я готов Вас пригласить на эти доработки.

Oleg N. Cher писал(а):
Привет, Илья!

Это отлично, что есть коммерческие перспективы дальнейшего совершенствования CPfront, и сейчас самое главное - не распыляться на несколько веток, и в этом смысле я рад предложенным Вами перспективам и готов идти на многие компромиссы, тем более, у Вас опыта больше. Вы не против вести разработку на GitHub?

Илья Ермаков писал(а):
CPFront считаю большим подарком для пром. автоматизации
Илья, и не только CPfront (я рад, что Вы приняли это название, в дальнейшем будет проще различать Ofront и CPfront). Дело в том, что транслятор КП пишет в генерируемые Си-исходники довольно много мета-информации. Поэтому таким же подарком может оказаться и наш проект - Ofront+ (особенно для микроконтроллеров, особенно для слабеньких в вычислительных мощностях), где сделаны очень интересные вещи над обычным Ofront'ом, например, константные массивы, чего не принял консервативный Йозеф Темпл, упорно продолжая развивать свой исходный Ofront в традициях ETH Oberon (вплоть до интерфейса включительно).

Если сравнить Ofront+ и CPfront, то:

    • Ofront+ сегодня - это Оберон-2 + некоторые фичи КП. Я начал работать в направлении превращения Ofront+ в универсальный транслятор нескольких Оберон-диалектов (Oberon-2, КП, Oberon-07 и наш собственный диалект) в Си. CPfront очень интересный проект, но я получил его в свои шаловливые ручки слишком поздно, когда разработка Ofront+ уже шла полным ходом. И в ней мне помогают многие люди, включая Йозефа Темпла. Там уже поддержана 64-битность, консольная версия крутится под Windows x64, Linux (32 и 64). Под другими не пробовал. voc (подобный же транслятор Норайра Чилингаряна, тоже на базе Ofront) крутится и под BSD. У Темпла есть версия его Ofront'а для ARM Raspbian.

    • CPfront OMинки делали для той же цели - использовать на архитектурах, отличных от x86. Он выполнен на базе подсистемы Dev, практически весь фронт-энд используется тамошний, соответственно, будет работать только в окружении BlackBox на x86 (или эмуляции типа Wine). Язык - только КП. Подвязка на виндоуз - есть. Отвязать наверно не трудно, но это надо сделать. "Из коробки" не поставляется.

В принципе, я хотел бы соединить оба проекта - Ofront+ и CPfront - в один, и в итоге получить только один транслятор на базе Ofront, но мне не хватает рук и, честно признаюсь, опыта. Ofront+ находится в рабочем состоянии, но планов по его развитию слишком много. И есть внутренние проблемы, которые мне трудно решать в силу специфики моего мышления (например, единый рантайм и сборщик мусора для x86 и x64). Чего греха таить, там много чего можно (и нужно) сделать - как в Ofront+, так и в CPfront. От voc я дистанцируюсь, потому что у нас с Норайром не сошлись взгляды на разработку (Норайр не приемлет Компонентного Паскаля, а сильно тяготеет к минимализму (излишнему, на мой взгляд) и Оберону-07), но я охотно пользуюсь решениями из voc, там есть сильный разработчик - Дэвид Браун, который работал в Microsoft.

Илья Ермаков писал(а):
потому что сейчас мы вынуждены в роли управляющего узла использовать x86-архитектуры (а ПЛК оставлять тупо узлом ввода-вывода). А так можно и сесть прямо на ПЛК (вот на этот, как вариант - http://segnetics.com/smh_2gi), или за пределами готовых ПЛК, использовать на ARM и т.п.
Потихоньку начнём экспериментировать - попробуем потранслировать наши сборки. Как только выстрелит коммерческое что-то, я готов Вас пригласить на эти доработки.
Хорошо, принято.

Все 4 транслятора - Ofront, Ofront+, CPfront и voc очень похожи внутреннему устроению, они на базе OP2, как и ETH Oberon, и ранний компилятор AO, и BlackBox.

Илья Ермаков писал(а):
Привет, Олег!

Да я же говорю, по всему, что касается Ofront и "посадки" на его основе на микроархитектуры, ничего закрывать и не думаю.
Единственное, с GIT не работали, у нас всё на Mercurial, но это мелочи.

По поводу языка - нас интересует только КП. У нас нет никаких аргументов и сил распылять силы - а два диалекта - всё равно что два разных языка. У нас базовых абстракций разных не один десяток тысяч строк кода, и нужно, чтобы просто взял и подключил, в любом проекте.
Дико бесит пока невозможность это сделать в браузере )) Поэтому и вариант с OberonJS не берём, толку, если всё равно нельзя иметь один код на сервере и в браузере...

И аргументированно считаю КП основным промышленным вариантом Оберона.
Как бы там ни агитировал Кемет за А2... Это талантливый технический академический эксперимент... Но вся их параллельная модель, в конечном счёте, слизана с Явы и просто не нужна, имхо.

Oleg N. Cher писал(а):
Приветствую, Илья!

Я не против попробовать освоить Mercurial. :-)

Согласен с Вами. Различия между Обероном и КП абсолютно разумны и очень взвешены. КП - это очень осторожно отточенный Оберон-2. В правильную сторону притом. AO же отпугивает параллельной моделью, имхо параллелизм - штука специфическая, и на самом деле нужен в задачах тоже специфических, и не так уж часто. Насчёт O7 меня до сих пор терзают смутные сомнения. Как-то парит городить кучу лишних переменных для того, чтобы эмулировать выход из цикла или из процедуры. Они и загромождают код, и снижают его эффективность. Не, лепить EXIT и RETURN где попало и стрелять себе в ногу никто не запретит, ровно также как называть переменные aaaa1, aaaaa2, aaaaaaa3. Но зачем этим заниматься. Это не от избытка языковых средств делается. Ну и культура кодирования, и самодисциплина ещё никому не повредили. ;-)

Будем ждать от Вас новостей.


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

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


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

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


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

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Тех.поддержка phpBB