Модульные системы
80 subscribers
31 photos
18 videos
9 files
110 links
Всё об истории и эволюции модульного программного обеспечения и надёжных программных систем
Download Telegram
TopSpeed Modula-2 Compiler for Windows

"Он существует". Название внутри соответствующих .dll компилятора - Clarion Modula-2 Compiler for Windows .

Подробности - в комментариях.

| ОС A2 | Модульные системы | Вики |
🔥3
Позволил себе вставить свои "5 копеек" под лекцией Дмитрия Завалишина. Собственно, с этого момента (6:45) и видно, сколько проблем решил Oberon подход.

Убираем на уровне языка программирования адресную арифметику и возможность "влезть" в чужие данные и убираем сразу целый класс проблем. Таким путём пошли разработчики языка и одноимённой системы Oberon. Современная реинкарнация данного языка – Active Oberon, пошла ещё немного дальше. Для эффективного использования многоядерного железа примитивы многопоточности и синхронизации встроили прямо в язык, реализовав активные объекты и мониторы. На Active Oberon даже операционка написана – A2 OS

| ОС A2 | Модульные системы | Вики |
Media is too big
VIEW IN TELEGRAM
Дмитрий Завалишин про Python

| ОС A2 | Модульные системы | Вики |
👍3
Media is too big
VIEW IN TELEGRAM
Дмитрий Завалишин о красивых современных решениях. Unix, Plan 9

| ОС A2 | Модульные системы | Вики |
Media is too big
VIEW IN TELEGRAM
Дмитрий Завалишин о накладных расходах на переключение адресных пространств и о мнимой защищённости

| ОС A2 | Модульные системы | Вики |
Прослушал очередной доклад Завалишина. Умный дядька. Надо весь молодняк им, прямо, пытать 🙂
Правда, он всё склоняет, в итоге, к языку Java, но это дело такое.
Критика других языков/технологий у него отменная.
О, похоже, телеграм понимает тайм-коды к видео. Удобно 🙂

11:17 Внеэкономические и экономические факторы выбора языка программирования. PHP, C;
22:46 Зависимость стоимости сопровождения систем от выбора языка программирования;
25:55 Очень любопытный "злой тезис" про пользу внесения в код некоторой избыточности при помощи строгой типизации, который помогает в обнаружении ошибок на стадии компиляции;
29:38 Тезис из которого следует прямой вывод, что Oberon принадлежит к языкам "высшей лиги" 🙂;
46:24 Боль стартаперов: написать и выкинуть 😄;
48:42 О персистентности.

| ОС A2 | Модульные системы | Вики |
Реализовал некоторые контейнеры для A2 на дженериках и написал для них тесты. Но ещё надо некоторое число предварительных исправлений сделать, чтобы это можно было отправить в репозиторий

| ОС A2 | Модульные системы | Вики |
👍5
Для тех, кто ещё не знаком с языком Active Oberon и операционной системой A2, пример решения простейшей задачи "Вывести все простые числа в диапазоне [2;n)":
module NPrimes;

import Math, Commands;

procedure Eratosthenes(var b: array of boolean; const n1, n2: signed32);
var i, j : signed32;
begin
for i := n1 to entier(Math.sqrt(n2) + 0.5) do
if b[i] then
j := i * i;
while j < n2 do
b[j] := false;
inc(j, i)
end
end
end
end Eratosthenes;

procedure Do*;
var context : Commands.Context;
n, i : signed32;
sift : pointer to array of boolean;
begin
context := Commands.GetContext();
if context.arg.GetInteger(n, false) then
new(sift, n);
for i := 0 to n - 1 do
sift[i] := true
end;
Eratosthenes(sift^, 2, n);
for i := 2 to n - 1 do
if sift[i] then
context.out.Int(i, 0);
context.out.Char(20X)
end
end;
context.out.Ln
end
end Do;

end NPrimes.

NPrimes.Do 50 ~
System.Free NPrimes ~
Вывод программы будет следующий:

2 3 5 7 11 13 17 19 23 29 31 37 41 43 47

| ОС A2 | Модульные системы | Вики |
👍51
Options.Execution.Test
1.6 KB
Хорошее дело перед внесением существенных изменений в код, написать для этого кода тесты. Так поступил и я. В ОС A2 есть тестовая подсистема, и надо активно её использовать.
Это тест для модуля Options.Mod, по-моему, хороший пример и для ваших тестов.
В файле теста после ключевого слова options идёт набор параметров для запуска. А запустить данный тест можно выполнив следующую команду:

FoxTest.Compile Options.Execution.Test ~


| ОС A2 | Модульные системы | Вики |
Швейцарская компания HighDim активно использует язык Active Oberon, операционную систему A2 и технологию ActiveCells в своих продуктах. Компания специализируется на производстве медицинского оборудования

| ОС A2 | Модульные системы | Вики |
👍7
Где-то между орбитами Марса и Юпитера есть астероид, названный в честь Никлауса Вирта

| ОС A2 | Модульные системы | Вики |
🔥5👍2