# phi.00_20 Отрицание эклектики в построении языка

На сравнении с диалектикой рассмотрим несостоятельность эклектики, как различие между *научным мышлением* и *сбором мнений*, между единством закона и практики и подменой теории компиляцией цитат для обоснования нового языка программирования, как языка нового типа.

## 🔥 Диалектика

**Диалектика** — это учение о всеобщей связи и развитии материи, выраженной в законах движения и становления сущего.

✅ Основные черты:

### Всеобщая связь

> Ничто не существует изолированно.
> Каждое явление — в отношении к другим.

Пример: в языке программирования **prolet** тип не существует сам по себе — он возникает на базе обобщения, но только в ходе практики.

### Развитие через противоречие

> Движущая сила прогресса — борьба противоположностей.

Пример:

- `@изм` (изменяемость) ↔ `@фикс` (неизменность)
- `Процесс` (практика) ↔ `Функция` (закон)

→ их единство и борьба и рождает новый уровень — `протон` и `нейтрон` (конкретный тип), `атом`(конкретная структура).

### Переход количества в качество

> Накопление изменений ведёт к скачку, к новому качеству.

Пример:

- Многократное использование `нечто` → рождение правила: «Только через `ГарантНечто` потенциальное становится сущим». При этом `нечто` уже может заключать себе всё необходимое, чтобы потенциальное стало сущим.

### Отрицание отрицания

> Развитие — не круг, а спираль: старое отрицается, затем отрицается само отрицание.

Пример:

- Тезис: "всё — типы" (идеализм)
- Антитезис: "нет типов, только сущее" (материализм)
- Синтез: "типы существуют как проекции сущего" — диалектика.

### Объективность

> Законы диалектики — не плод воображения, а отражение объективного движения материи.

💬 Диалектика — как компас:

> `Она не даёт готовых ответов, но указывает направление движения`.

## 🧩 Эклектика

**Эклектика** — это механическое смешение идей, взглядов, теорий без внутренней связи, подбор "удобных" положений вне их закономерной взаимосвязи.

## ❌ Основные черты эклектики

### Отсутствие системы

> Идеи берутся "по вкусу", без учёта их происхождения и противоречий.

Пример:

- Взять **ООП** из Запада, даосизм с Востока, функциональное программирование из Хаскелла — и слепить "язык будущего", не решая, как они связаны.

### Подмена развития — подбором

> `Не развитие через противоречие, а выбор "лучшего" из существующего.`

Пример:

- "Мне нравится snake_case, поэтому пусть будет в prolet" — без анализа онтологии.

### Игнорирование противоречий

> Эклектик замазывает разрывы, вместо того чтобы их преодолевать.

Он говорит:

> «Ну и что, что `@изм` внутри `@фикс`? Пусть будет — удобно».

### Субъективизм

> Критерий истины — не практика, а *личное предпочтение*, *мода*, *авторитет*.

### Статичность

> Эклектика не порождает нового — она *переставляет старое*.

💬 Эклектика — как мешок с барахлом:

> `Там может быть золото, гвозди и книга про Гарри Поттера,  но между ними — ни связи, ни смысла.`

## ⚖️ Противопоставление

| ДИАЛЕКТИКА                                    | ЭКЛЕКТИКА                              |
| ------------------------------------------------------- | ----------------------------------------------- |
| Учение о движении и развитии    | Подбор готовых решений      |
| Основана на противоречии          | Избегает противоречий       |
| Требует анализа условий бытия | Опирается на "удобство"      |
| Объективна                                    | Субъективна                          |
| Порождает новое качество          | Перемешивает старое           |
| Единство формы и содержания     | Разрыв формы и содержания |
| Язык общественного                     | Язык эгоистичного               |

## 💡 Примеры на отсылках

Одно из принятых правил для реализации в языке программирования **prolet**:

> `В prolet не будет абстрактных типов вроде int, string. Будут только типы сущего.`

Это правило на основе применения диалектики:

> Это разрешение противоречия между идеализмом типов и материализмом практики,
> и разрешает его через синтез:
>
> «Тип — проекция сущего, зафиксированная в практике».

Если бы правило было:

> «давайте возьмём:
>
> - `type` из `TypeScript`,
> - `struct` из `C`,
> - `class` из `Python` и смешаем

это была бы эклектика.

Эклектика часто привлекает к себе внимание, но почти всегда на крупных смыслах теряет связность: если вы возьмете `snake_case` и `struct` без анализа их взаимосвязи, вы можете создать язык, где структуры не соответствуют смыслу, но «удобно» для разработчика.

Диалектика не против эклектики — она предлагает *системную основу* для её применения: выбор между `snake_case` и `camelCase` зависит от того, как они вписываются в *онтологию языка* исходя из реальных требований практики, а не только от личного предпочтения.

## 🏁 Заключение

> **Диалектика** — оружие революционного мышления.

Она требует труда, дисциплины, борьбы с собственным невежеством.

Эклектика — удобная лень.
Она позволяет казаться умным, ничего не понимая.

💬 Гегель как-то сказал:

> Диалектика есть „алгоритм“ философии…
> Эклектика — это когда человек берёт то одно, то другое,
> не видя связи между ними, и делает из этого „философию“.

💬 А. Ф. Лосев писал:

> Диалектика есть подлинный и единственно возможный
> философский *реализм*.

Именно поэтому язык программирования **prolet** — не очередной **DSL** основанный на авторитете как частном мнении, а язык, отражающий единство материи, времени и практики.
