Девятиэтажик радуга

PL/2 - education programming language ideas

Community with English language - http://pl2-en.livejournal.com/
Считаю, что современное многообразие языков программирования способствует созданию языка, способного объединить достоинства существующих языков.

Оглавление
Collapse )
Девятиэтажик радуга

Сегментация для процессоров Intel

Модуль, объект, класс, рекусивность, иерария
сегмент кода - статический размер
сегмент констант - статический размер
сегмент констант - статический размер
сегмент стека - размер зависит от рекурсии
сегмент данных - динамическая память
сегмент объектов - объектная память с дискриптором
сегмент синалов
сегмент времени
сегмент исключений

Сегмент класса
статические константы
статические даннные
дескрипторы объектных данных

Динамические объекты
    Протоколы объекта
        Элементы, связи, системы

Декларации процессов, социологии, экономики, синергетики, бюрократии, экологии
Девятиэтажик радуга

Подход к программированию транслятора

для первичного транслятора, ориентированного на парность открывающей и закрывающей скобки, можно взять за основу LISP

внутренняя императивная и логическая часть может разбираться с помощью обычного магазинного автомата
Девятиэтажик радуга

Идеология развития 2017

Для увеличения количества пользователей предполагается такая последовательность:
Целевые языки: Android SDK, C#, Java, Object C,
Ассемблеры - байт-код Java, MSIL, физические процессоры, FPGA

Последовательность разработки трансляторов:
  • Препроцессор синтаксиса языка программирования

  • Препроцессор культуры и языковых терминалов

  • Совершенствование справочника разработчика

  • Расширение универсальной базы примеров исходного кода

  • Препроцессор пространств имени, имен классов, свойств, методов, включая Generic, шаблонов

В качестве основы можно взять минимальную среду .NET для разных платформ с наращиванием пространства имен pl2.
Девятиэтажик радуга

Деятельность в языках программирования

Варианты тенденций языков программирования
Оригинал взят у ailev в
Деятельность в языках программирования


Социальность (то, что людей обычно много) приходит в в языки программирования самыми неожиданными путями:
-- попытка опростить программирование для народных масс, включив туда декларативные средства выражения workflow (чем-то это напоминает adaptive case management, но совсем уж хардкорно-программерски): http://alpha.trycarbide.com/@jxe/6d5e19369ddb9cc4728510e11a3f7586 -- это Chatterbase, с declarative social. Там есть ещё и CEML (Coordinated Event Modeling Language), https://github.com/jxe/ceml/blob/master/guide/guide.pdf
-- попытка повторить успех VisualBasic и HyperCard, и тоже с включением средств организации людей -- http://www.chorus-home.org/, это Chorus, exploring the middle ground between spreadsheets and programming плюс средства организации групп людей.
-- императивный control flow для групп, http://salmanahmad.com/files/Dog-UIST2013.pdf -- это язык Dog, a new dynamically-typed procedural programming language that simplifies creating interactive, multi-user, and cross-client software applications.

А ещё интересно, как обсуждают социальность в Julia: мало им просто пакетов, хотят перейти к проектам -- ибо в этом больше "социальности": https://youtu.be/C3iR_PknlFc. Впрочем, это не слишком внятный доклад, но с той же идеей: как бы учесть на уровне языка программирования то, что людей много, и их работа организована не как "пакеты", а как более деятельностные "проекты".

Это всё маргинальное и сектантское, конечно. Экзотические языки, нулевого качества немасштабируемые инструменты. Но само направление мысли интересное: языки динамического исполнения и программирования человеко-компьютерной деятельности.

Девятиэтажик радуга

Проработка моделирования

изменил концепции
общая структура модели:
1. описание элемента с указанием цели, точки зрения, ближайшими соседями (P-0 - аналогичное A-0 IDEF0)
2. иерархия подчиненных объектов с внешними связями
3. детализация в виде цикла PDCA
далее - декомпозиция элемента до разумного уровня с гиперссылками на связанные модели

по гиперссылкам можно будет оценивать полноту моделей через создание текущего среза связей с учетом версий моделей