|
|
@@ -1,2 +1,61 @@
|
|
|
# Философские основы языка
|
|
|
|
|
|
+```citate
|
|
|
+Философы лишь различным образом объясняли мир,
|
|
|
+но дело заключается в том, чтобы изменить его.
|
|
|
+```
|
|
|
+
|
|
|
+Карл Маркс, «Тезисы о Фейербахе», 1845 г.
|
|
|
+
|
|
|
+## Диалектический материализм, как основа языка
|
|
|
+
|
|
|
+Из всех доступных философских направлений `диалектический материализм` наиболее полно отражает основную идею языка. Как известно, любой язык должен моделировать реально существующие материальные сущности и процессы. Либо скрытые процессы, но имеющие вполне материальную основу. Существует ряд сущностей и процессов, которые не имеют прямой реализации в реальном мире (например игры), но такие процессы смоделированные в виде состояний электронных структур всё-равно в нектором смысле существуют.
|
|
|
+
|
|
|
+## Три закона диалектики, как основа проектирования языка
|
|
|
+
|
|
|
+Все три закона диалектики создают целостный базис для моделирования языка.
|
|
|
+
|
|
|
+### Единство и борьба противоположностей
|
|
|
+
|
|
|
+Закон единства и броьбы противоположностей определяет основы форм и содержаний всего сущего. Основными сущностями в языке программирования являются значения и процессы, связывающие значения. Это две ортогональные философские категории наполняют пространство состояний.
|
|
|
+
|
|
|
+### Закон отрицания отрицания
|
|
|
+
|
|
|
+Закон отрицания отрицания определяет формы, которые содержатся в общей содержащей форме. Перетекание одной формы в другую форму определяет то внутренее превращение, которое с ходом времени приводит к превращению объемлющей формы в своё новое представление. Так например, программный код при рефакторинге отрицает своё предыдущее состояние, через развитие новой качественной формы.
|
|
|
+
|
|
|
+### Закон перехода количества в качество и обратно
|
|
|
+
|
|
|
+Этот закон диалектического материализма определяет переход накопленных количественных характеристик в новое качество. А при утрате качества -- назад в количественное состояние. Язык программирования в рамках диалектического дискурса проявляет такие свойства, например -- при переводе текста программы из одной формы в другую более низкого уровня. При этом количество кода соответствующего уровня растёт, неявно сохраняя в себе качества более высокого уровня.
|
|
|
+
|
|
|
+## Основные диалектические противоречия в языках программирования
|
|
|
+
|
|
|
+Диалектические пары присутствуют в любом языке программирования. Обычно они описаны либо не полно, либо не описаны вообще. Цель настоящего языка программирования явн оописать эти диалектические противоречия и решить их в духе диалектическог оматериализма.
|
|
|
+
|
|
|
+### Материя первична, сознание вторично
|
|
|
+
|
|
|
+Материя первична, сознание вторично. Язык программирования является продуктом объективной реальности.
|
|
|
+Все процессы и явления имеют материальную основу. Модель должна опираться на объективную реальность, а не на абстрактные идеи.
|
|
|
+Все находится в постоянном движении, изменении и развитии.
|
|
|
+Состояния не статичны — они трансформируются под действием внутренних и внешних причин.
|
|
|
+Развитие происходит через борьбу противоположностей.
|
|
|
+Внутренние противоречия — двигатель изменений. Без них — нет развития.
|
|
|
+Переход количественных изменений в качественные.
|
|
|
+Накопление мелких изменений ведёт к скачку, к новому качеству.
|
|
|
+Отрицание отрицания.
|
|
|
+Развитие идёт не по прямой, а по спирали: старое отрицается, затем отрицается само отрицание — и возникает что-то более высокое.
|
|
|
+
|
|
|
+Язык программирования не рождается из пустоты, не является плодом субъективной фантазии.
|
|
|
+Он возникает как ответ на объективные потребности:
|
|
|
+
|
|
|
+- Развитие аппаратного обеспечения (процессоры, память, параллелизм).
|
|
|
+- Появление новых задач (веб, ИИ, распределённые системы).
|
|
|
+- Опыт существующих языков (их успехи и провалы).
|
|
|
+
|
|
|
+Следовательно, материальной основой является:
|
|
|
+
|
|
|
+- Техническая база (компьютеры, сети),
|
|
|
+- Социальная практика (программирование как труд),
|
|
|
+- Предшествующие формы (языки C, Lisp, Python, Rust и др.).
|
|
|
+
|
|
|
+Вывод: язык программирования — производное от производительных сил информационной эпохи.
|
|
|
+
|