К теме анализа компьютерных языков

Jan 20, 2019 12:18


1. Все языки потенциально расширяют свою архитектуру и с точки зрения проектирования «снизу вверх», интересны ассемблеры. Идеально иметь базу всех реализованных ассемблеров и возможность трасляции их операций и макросов из одного в другой. Задача конкретная и нетрудная, но неподъемная для одного человека. Крайний вариант -  ограничиться кросс-платформенным FASM, например, сравнивая его с WebAssembly. Компромиссный вариант и может быть необходимый - сравнение С с Форт, у которых ядра изоморфны ассемблерам, но разные подходы к концепту компиляции (связывание, объектный файл, ...).

2. С точки зрения проектирования «сверху вниз» интересны языки предметной области. Здесь можно начать с концепций метаязыков, ограничиваясь на начальном этапе неким специфическим «эзотерическим языком». Не мешает поставить точку в дискуссии между ООП и «функциональным подходом». Сам факт претензий друг другу двух подходов показывает проблемы обоих. Очевидно, что «классы» - не панацея, а функции, пришедшие из численного анализа - не есть основа интеллекта, хотя без арифметики невозможно конструирование GUI, естественно, что нам не обойтись без логики в части булевой алгебры. Здесь же интересны сравнения между языками, ориентированными на алгоритмы работы с векторами (APL или таблицами Lua) и списками (или сериями REBOL).



3. C практической точки зрения выбора «кросс-компилятора» в роли рабочего языка вполне подходит JavaScript. Тем более он является компромиссным вариантом для реализации модели акторов (прототипное программирование, реактивное программирование, «динамическая типизиция», гомоиконичность и прочее). При этом достаточно использовать его некоторую проекцию, но которую требуется ещё определить.

4. Все операционные системы (гипервизоры) и базы данных реализованы на определенных языках и являются их развитием, поэтому нет смысла выделять эти системы из языковой модели, что естественно не отменяет анализа существующих здесь подходов с акцентированием на алгоритмах ввода-вывода и распределении ресурсов между процессами (виртуальными машинами).

5. Все перечисленные замечания и потенциальное их расширение могут быть основой для развития принципов или критериев для анализа структур данных и алгоритмов, являющихся сутью реализованных и проектируемых языков. Архитектура языка - это модель мышления.

P.S. Новые посты в блогах «МЕТАТРОНИКА» и «МЕТАМОДЕЛИРОВАНИЕ» на вордпресс.

МЕТАПОЗНАНИЕ

Реакция поисковых сервисов на запрос МЕТАМОДЕЛИРОВАНИЕ

Регулярно добавляю что-нибудь в METANET и GLOTEON. Пока по мелочам. Обнаружил новую для себя книжку к теме «мышление» *.

реализация, язык моделирования, поиск, метавычисления, модели памяти

Previous post Next post
Up