|
|
@@ -0,0 +1,142 @@
|
|
|
+# Диалектика становления: абстракция - конкретное - обобщение
|
|
|
+
|
|
|
+Дерево сущностей в `prolet` представлено ниже:
|
|
|
+
|
|
|
+```text
|
|
|
+ Обобщённые абстракции (отрицание)
|
|
|
+ ↓
|
|
|
+ Конкретные типы (противоположность)
|
|
|
+ ↓
|
|
|
+ Структуры (синтез)
|
|
|
+ ↓ ↘
|
|
|
+ атрибуты методы
|
|
|
+ ^
|
|
|
+ Интерфейс
|
|
|
+```
|
|
|
+
|
|
|
+В данном случае отображается не иерархию типов, а как онтологический процесс становления, в соответствии с законами диалектического материализма:
|
|
|
+
|
|
|
+- `отрицание` → `противоположность` → `синтез`,
|
|
|
+- `форма` → `содержание` → `единство формы и содержания`.
|
|
|
+
|
|
|
+Разберём схему более подробно, уточним и закрепим как каноническое отражение развития сущего в **prolet**.
|
|
|
+
|
|
|
+## 🔍 Диалектический разбор
|
|
|
+
|
|
|
+### Обобщённые абстракции (отрицание)
|
|
|
+
|
|
|
+**Что**: `Целое`, `Строка`, `Перечисление`, `Массив`, `Логическое` — формы из математического или логического дискурса.
|
|
|
+
|
|
|
+**Статус**: не типы, а отрицание конкретности, идеализированные формы, выделенные из практики.
|
|
|
+
|
|
|
+**Роль в диалектике**: «Отрицание первичной практики счёта, измерения, классификации».
|
|
|
+
|
|
|
+❗ В **prolet** нельзя использовать напрямую — только через `@_база`.
|
|
|
+
|
|
|
+### Конкретные типы (противоположность)
|
|
|
+
|
|
|
+**Что**: `Рубль`, `ЧеловекИмя`, `ПользовательНомер`, `Роль` — материализованные формы сущего, возникшие в практике.
|
|
|
+
|
|
|
+**Статус**: противоположность абстракциям — они вписаны в контекст, имеют единицы, ограничения, назначение.
|
|
|
+
|
|
|
+**Роль в диалектике**: «Противоположность идеализму — конкретное, социальное, ограниченное сущее».
|
|
|
+
|
|
|
+✅ Определяются через `(тип ... @_база Абстракция)`.
|
|
|
+
|
|
|
+### Структуры (синтез)
|
|
|
+
|
|
|
+**Что**: `Пользователь`, `Заказ`, `Документ` — формы композиции, отражающие организацию практики.
|
|
|
+
|
|
|
+**Статус**: синтез абстрактного и конкретного — не просто набор полей, а целостная форма сущего, в которой отношения между частями — так же важны, как и сами части.
|
|
|
+
|
|
|
+**Роль в диалектике**: «Синтез: не тип, не значение, а форма организации практики».
|
|
|
+
|
|
|
+✅ Определяются через `(структ ...)`.
|
|
|
+
|
|
|
+### Атрибуты
|
|
|
+
|
|
|
+**Что**: `@_база`, `@_диапазон`, `@_обязательно`, `@значение`, `@активен` — характеристики сущего.
|
|
|
+
|
|
|
+**Происхождение**: Унаследованы от структур, как их внутренние свойства.
|
|
|
+
|
|
|
+**Роль**: Отражают состояние, статус, ограничения, контекст.
|
|
|
+
|
|
|
+✅ Атрибуты — не метаданные, а сущее, выделенное из структуры.
|
|
|
+
|
|
|
+## Методы и Интерфейсы
|
|
|
+
|
|
|
+```text
|
|
|
+ структуры
|
|
|
+ ↓
|
|
|
+ методы
|
|
|
+ ↑
|
|
|
+ интерфейсы
|
|
|
+```
|
|
|
+
|
|
|
+**Методы**: действия, применяемые к структурам — `ПроверитьАктивность`, `ОтправитьЧерезПочту`.
|
|
|
+
|
|
|
+**Интерфейсы**: обобщение методов, отражающее форму взаимодействия с сущим, независимо от реализации.
|
|
|
+
|
|
|
+💡 Интерфейс — не "сверху", а "снизу": он возникает как обобщение практики работы со структурами, как отрицание конкретной реализации.
|
|
|
+
|
|
|
+✅ Таким образом:
|
|
|
+
|
|
|
+- Структуры порождают методы,
|
|
|
+- Методы обобщаются в интерфейсы,
|
|
|
+- Интерфейсы — отрицание конкретности методов, но на основе практики.
|
|
|
+
|
|
|
+🔄 Полная диалектическая цепочка
|
|
|
+
|
|
|
+```text
|
|
|
+ (1) Обобщённые абстракции
|
|
|
+ ↓
|
|
|
+ (отрицание практики)
|
|
|
+ ↓
|
|
|
+ (2) Конкретные типы
|
|
|
+ ↓
|
|
|
+ (противоположность абстракции)
|
|
|
+ ↓
|
|
|
+ (3) Структуры
|
|
|
+ ↓
|
|
|
+ (синтез формы и содержания)
|
|
|
+ ↓ ↘
|
|
|
+(4) Атрибуты (5) Методы
|
|
|
+ ↓
|
|
|
+ (6) Интерфейсы
|
|
|
+ ↑
|
|
|
+ (обобщение практики)
|
|
|
+```
|
|
|
+
|
|
|
+## 📜 Онтологическое содержание уровней
|
|
|
+
|
|
|
+- Обобщённые абстракции: `Целое`, `Строка` (Идеализация практики)
|
|
|
+- Конкретные типы: `Рубль`, `Роль` (Материализация абстракции)
|
|
|
+- Структуры: `Пользователь`, `Заказ` (Форма организации сущего)
|
|
|
+- Атрибуты: `@_база`, `@активен` (Характеристики сущего)
|
|
|
+- Методы: `ПроверитьАктивность` (Действия над сущим)
|
|
|
+- Интерфейсы: `Хранилище`, `Аутентификатор` (Обобщение форм взаимодействия)
|
|
|
+
|
|
|
+## 💡 Философское обоснование
|
|
|
+
|
|
|
+Идеи языка следуют диалектическому материализму:
|
|
|
+
|
|
|
+- Развитие идёт не сверху вниз, а от практики к её обобщению.
|
|
|
+- Интерфейс не первичен, он — порождение практики работы со структурами.
|
|
|
+- Абстракция не основа, она — отрицание конкретного,
|
|
|
+- а конкретный тип — противоположность абстрактного обобщения,
|
|
|
+- а структура — синтез конкретных типов.
|
|
|
+💬
|
|
|
+«Не `interface` как божественный замысел, а `структ` как продукт труда, и интерфейс как его обобщение —
|
|
|
+вот путь материалистического программирования».
|
|
|
+
|
|
|
+## 🏁 Заключение
|
|
|
+
|
|
|
+Установлена онтологическая модель **prolet**:
|
|
|
+
|
|
|
+Это не иерархия типов.
|
|
|
+
|
|
|
+Это — диалектика становления сущего: `от идеализированной формы` → `к конкретному` → `к организованному` → `к взаимодействующему`.
|
|
|
+
|
|
|
+**prolet** — не язык программирования.
|
|
|
+
|
|
|
+Это — _язык фиксации развития практики_.
|