Explorar o código

SVI Добавление документации

SVI hai 6 meses
pai
achega
070b2ae5b6
Modificáronse 4 ficheiros con 202 adicións e 2 borrados
  1. 3 1
      README.md
  2. 1 1
      docs/phi-000.md
  3. 34 0
      docs/prolet-lang-context.md
  4. 164 0
      docs/prolet-philosoph-requirements.md

+ 3 - 1
README.md

@@ -4,7 +4,9 @@
 
 ## Документация
 
-- [Философские основы языка](./docs/phi-000.md)
+- [Философия в проектировании языков](./docs/phi-000.md)
+- [Контекст создания нового языка](./docs/prolet-lang-context.md)
+- [Диалектико-теоретические требования к языку](./docs/prolet-philosoph-requirements.md)
 - Вертикальная иерархия языка
 - Атомы языка
 - ВМ

+ 1 - 1
docs/phi-000.md

@@ -154,4 +154,4 @@ Go не просто "ещё один CPython", он синтезирует
 
 ## Заключение
 
-Все языки с точки зрения диалектическог оматериализма можно рассматривать, как идеалистические (такие как `brainfuck` и им подобные), материалистические (такие как `Оберон-7`), а также языки занимающие переходное положение (такие как `Go` или `Rust`). В рамках текущей работы будет предпринята попытка на уновом уровн осмысления создать язык программирования с опрой на идалектический материализм на столько, на сколько это возмсожно в текущих условиях.
+Все языки с точки зрения диалектического материализма можно рассматривать, как идеалистические (такие как `brainfuck` и им подобные), материалистические (такие как `Оберон-7`), а также языки занимающие переходное положение (такие как `Go` или `Rust`). В рамках текущей работы будет предпринята попытка на уновом уровн осмысления создать язык программирования с опрой на идалектический материализм на столько, на сколько это возмсожно в текущих условиях.

+ 34 - 0
docs/prolet-lang-context.md

@@ -0,0 +1,34 @@
+# prolet -- проект нового языка
+
+В этой части приводятся некоторые рассуждения, о языке с расширой и углубленной семантической базой.
+
+Цель:
+Создать язык для децентрализованных, безопасных, экологичных и коллективных систем.
+
+## Диалектические задачи
+
+- Разрешение противоречия между производительностью и безопасностью → система физических перемещений и наблюдений (как поведение макрообъектов).
+- Синтез функционального и императивного → чистые функции по умолчанию, но с контролируемыми побочными эффектами.
+- Поддержка коллективной разработки → встроенные механизмы для open-source, верификации кода, лицензирования, семантического обмена.
+- Экономия ресурсов → компиляция в Wasm, минимальное энергопотребление (экологический аспект).
+- Доступность → простой синтаксис, но мощная типовая система (обучение масс!).
+
+## Название в диалектическом духе
+
+`prolet` можно раскрыть в разных формах
+
+- "Язык трудящихся" (prolet-lang)
+- "Язык с отражением материалистичного присвоения, перемещения и трансформаций" (professional-let)
+
+## Интегральные показатели
+
+Он не будет "лучшим" в абстрактном смысле, но станет лучшим для решения конкретных задач мультиагнетного, открытого, кооперативного, социалистического информационного общества.
+
+## Заключение
+
+Разработка языка программирования — это инженерно-конструкторская задача, опирающаяся на социально-технический процесс, подчинённый законам диалектики:
+
+- Материя (аппарат, задачи, опыт) → первична.
+- Противоречия → двигатель.
+- Практика → критерий истины.
+- Сознание (разработчики) → руководит процессом (направляет его), но не создаёт законы.

+ 164 - 0
docs/prolet-philosoph-requirements.md

@@ -0,0 +1,164 @@
+# Диалектико-теоретические требования к языку
+
+Необходимость данного раздела продиктована тем, что без глубокого теоретического обоснования практика слепа.  Прежде чем строить язык, необходимо заложить философский фундамент, ибо каждый синтаксис, каждая парадигма, каждый тип — это не просто технический выбор, а выражение мировоззрения.
+
+Философские основания языка программирования: диалектико-материалистический подход.
+
+## Онтология языка
+
+Что такое программа с точки зрения диалектического материализма:
+
+```text
+Программа — это форма организации материи в информационной сфере.
+```
+
+- Она не существует в идеальном мире Платона.
+- Она не порождение чистого разума, оторванного от практики.
+- Она — продукт человеческого труда, направленный на преобразование объективной реальности (аппаратуры, данных, социальных процессов).
+
+```text
+Программа — это материализованная логика, выраженная в коде; выполняется на машине, которая изменяет реально существующий мир.
+```
+
+Следовательно,
+
+`язык программирования` — инструмент труда, подобный молоту для рабочего или плугу для крестьянина.
+
+## Эпистемологический вопрос
+
+Как язык отражает реальность?
+
+Диалектический материализм утверждает: `сознание отражает бытие`.
+
+Применительно к языку:
+
+Хороший язык — тот, который наиболее адекватно отражает структуру объективной реальности, в которой работает программа.
+
+Это означает:
+
+- Если реальность параллельна (множество процессов), язык должен поддерживать параллелизм без избыточных или вычурных абстракций.
+- Если реальность состоятельна (серверы, базы данных), язык должен моделировать состояние безопасно и явно.
+- Если реальность ошибочна (падения, сетевые сбои), язык должен встраивать устойчивость как норму, а не как решение `ad hoc`.
+- Язык не должен искажать реальность ради "элегантности" или "чистоты" — это идеализм, враг материализма.
+
+## Противоречие между формой и содержанием
+
+В каждом языке — борьба формы и содержания:
+
+- Хочется иметь красивый, лаконичный код
+- Машина требует чёткости и эффективности
+- Язык должен быть универсальным
+- Но реальность требует специализации
+
+Диалектический синтез: `форма должна служить содержанию, а не доминировать над ним`.
+
+Пример идеалистического перекоса:
+
+_Язык, где всё выражается через монады, но никто не может написать HTTP-сервер за 10 минут_.
+
+Язык, где синтаксис "чист", но производительность падает в 10 раз. Это как построить прекрасный дворец, который замедляет проход посетителей, потому что эскалатор всегда едет навстречу.
+
+## Язык как производительная сила
+
+В информационной эпохе язык программирования — производительная сила.
+
+- Он увеличивает производительность труда программиста.
+- Он определяет скорость и качество создания программ.
+- Он влияет на распределение ресурсов (энергия, память, время).
+
+Следовательно, разработка языка — с одной стороны акт индивидуального тврочества, с другой стороны -- акт коллективной значимости.
+
+Капиталистический подход: язык, который делает программиста зависимым от проприетарных платформ (Swift, C# в прошлом).
+
+Общественно-коллективный подход: язык, который освобождает труд от частной зависимости, делает его коллективным, доступным, прозрачным (Python, Rust, Lua).
+
+Язык должен быть орудием освобождения умственного труда, а не инструментом эксплуатации через завимость.
+
+## Язык и сознание: формирование "программиста нового типа"
+
+Карл Маркс как-то сказал: "Условия, которые изменяют людей, — это практика."
+
+Язык программирования, как инструмент познания мира, изменения мира и воспитания формирует мышление программиста.
+
+- Если язык учит думать в терминах состояния и побочных эффектов — он культивирует хаос.
+- Если язык учит думать в терминах потоков данных, чистоты, композиции — он развивает диалектическое мышление.
+
+```text
+Язык — это педагогический инструмент.
+```
+
+Новый язык должен:
+
+- Развивать системное мышление,
+- Поощрять коллективную разработку, как преобладающий способ производства на практике
+- Обучать ответственности за код (в том числе — экологической, социальной).
+
+## Филсоофские принципы проектирования языка как постулаты
+
+На основе диалектического материализма следуют шесть фундаментальных принципов:
+
+### Принцип объективности
+
+Синтаксис и семантика языка должны отражать объективные законы информационной материи, а не субъективные предпочтения авторов.
+
+### Принцип противоречия
+
+Язык должен не избегать противоречий, а позволять их осознанно разрешать (например, безопасность vs производительность — через явные аннотации).
+
+### Принцип развития
+
+Язык должен быть открыт для эволюции, но не ради моды, а ради развития производительных сил.
+
+### Принцип практики
+
+Каждая конструкция языка должна проходить проверку практикой, а не "элегантностью".
+
+### Принцип единства теории и практики
+
+Язык должен объединять математическую строгость (теория типов, логика) и практическую применимость (встраиваемость, производительность).
+
+### Принцип коллективизма
+
+Язык должен способствовать совместной разработке, открытости, доступности знаний — быть инструментом не для интеллектуальной элиты, а для широких масс как профессиональных программистов, так и не профессиональных (студенты, исследователи, учёные, энтузиасты).
+
+## Критика идеалистических течений в языках программирования
+
+Чтобы укрепить философский фундамент, необходимо разоблачить идеалистические отклонения:
+
+### Платонизм типов
+
+`"Типы существуют в идеальном мире"`
+
+Типы — инструмент для предотвращения ошибок в реальных системах
+
+### Культ элегантности
+
+`"Код должен быть красив"`
+
+Код должен быть работающим, понятным, безопасным
+
+### Аскетизм (минимализм ради минимализма)
+
+`"Меньше — значит лучше"`
+
+Меньше — если это служит практике, а не догме
+
+### Техноэлитаризм
+
+`"Только избранные поймут этот язык"`
+
+Хороший язык — тот, который доступен массам, но обладает достаточной семантической мощностью для экспертов
+
+Все эти течения — отражение эгоистического индивидуализма в программировании.
+
+Вывод: `язык как орудие революциного смены парадишмы в сознании`
+
+Разработка языка программирования — не инженерная утилитарная задача, а акт философский, политический, имеющий глубокое влияние на сам способ существования общества.
+
+Разрабатываемый язык:
+
+- Будет материалистическим — опирается на реальность,
+- Диалектическим — разрешает противоречия,
+- Практическим — служит делу преобразования мира,
+- Коллективистским — строится и используется сообществом.
+- Педагогическим — служит построению новог оспособы мышления разработчиков.