Если типичный императивный язык программирования был в начальной задумке однопоточным, то наивное добавление в него многопоточности не может быть осуществлено без слома совместимости, так как нарушает фундаментальное свойство, гарантирующее неизменность доступных переменных при отсутствии их изменений со стороны самого потока. Приёмы работы с данными, которые были совершенно приемлемы в однопоточности, могут оказаться неадекватными в многопоточном. Такой слом в языке не является чем-то совсем недопустимым, если сама платформа зарождалась в такой среде и накопление кода всегда происходило с учётом этой особенности. Но даже в этом случае достижение правильности кода избыточно перекладывается на плечи программиста с сопутствующими результатами. Такой подход неприемлем для языков, создаваемых не только для того, чтобы не мешать, но и для того, чтобы помогать. Что можно предложить для них?
четверг, 10 ноября 2022 г.
понедельник, 26 сентября 2022 г.
Накладные расходы проверок на RISC-V, ARM, Эльбрус, AMD64
Получил в использование одноплатный компьютер StarFive VisionFive c 2-ядерным процессором на архитектуре RISC-V. На поставляемом с платой дистрибутиве Fedora провёл тестирование транслятора Восток и, в частности, проверку времени исполнения сгенерированного кода с проверками корректности и без.
суббота, 13 августа 2022 г.
Транслятор 0.0.10 и Web-среда 0.2
Выпущено обновление транслятора 0.0.10, библиотеки по умолчанию 0.0.9 и веб-среды для взаимодействия с транслятором 0.2.
суббота, 23 июля 2022 г.
Web-среда 0.1 для транслятора Web-sandbox 0.1 for the translator
Доработана и обозначена как версия 0.1 написанная на Go и JavaScript web-среда(песочница) для взаимодействия с транслятором Восток. Среда позволяет редактировать модули на Обероне, запускать экспортированные процедуры, преобразовывать модули на другие языки программирования. Модули, доступные по умолчанию из окружения транслятора, ограничены в доступе к возможностям сервера.
The web-sandbox written in Go and JavaScript for interacting with the Vostok translator has been fixed as version 0.1. The sandbox allows you to edit modules on Oberon, run exported procedures, convert modules to other programming languages. Modules available from the default translator's environment have restricted access to server's resources.
среда, 23 февраля 2022 г.
Версия 0.0.9
Выпущено обновление транслятора, библиотеки и сборщика Android приложений. Как и прежде, доступна установка и автоматическое обновление из Snap Store, deb-репозитория и Homebrew. Также доступна Web-песочница.
пятница, 18 февраля 2022 г.
odcey
Выпущена начальная версия утилиты odcey — преобразователя насыщенного текстового формата BlackBox Component Builder .odc в плоский UTF-8 текст. Утилита появилась как побочный эффект изучения блэкбоксовского формата и сопровождения установочного пакета для программы odcread, написанной на C++. odcey может рассматриваться как замена заброшенной odcread.
Доступны две основные команды:
textдля вывода содержимого объектов типаTextModels.StdModelgitдля встраиванивания в .git в качестве текстового конвертера для удобного просмотра изменений черезgit diffи аналоги
До стабилизации в собранном виде доступна только в snapcraft в edge потоке
воскресенье, 30 января 2022 г.
CASE для указателей и записей
Добавлена поддержка указателей и записей в CASE, введённой в пересмотре 2013 года сообщения о языке, и необходимой для эффективного перехода по указанным в ветвях типах.
Расширение командного режима
Расширены возможности кода Oberon-команд в трансляторе Восток. Эти возможности являются альтернативой частным и в то же время однообразным р...
-
Добавлено свойство проверяемости при работе с низкоуровневыми адресами в процедурах из SYSTEM — ADR, BIT, GET, PUT, COPY. Прове...
-
На примере языка Oberon представлен общий подход [0] , позволяющий на основе высокоуровневых средств создать безопасную по памяти программну...
-
Воспользовавшись тестом на производительность с форума oberspace , реализованного для разных языков, проверил свой транслятор . ...


