phi-000.md 6.8 KB

Философские основы языка

Философы лишь различным образом объясняли мир,
но дело заключается в том, чтобы изменить его.

Карл Маркс, «Тезисы о Фейербахе», 1845 г.

Диалектический материализм, как основа языка

Из всех доступных философских направлений диалектический материализм наиболее полно отражает основную идею языка. Как известно, любой язык должен моделировать реально существующие материальные сущности и процессы. Либо скрытые процессы, но имеющие вполне материальную основу. Существует ряд сущностей и процессов, которые не имеют прямой реализации в реальном мире (например игры), но такие процессы смоделированные в виде состояний электронных структур всё-равно в нектором смысле существуют.

Три закона диалектики, как основа проектирования языка

Все три закона диалектики создают целостный базис для моделирования языка.

Единство и борьба противоположностей

Закон единства и броьбы противоположностей определяет основы форм и содержаний всего сущего. Основными сущностями в языке программирования являются значения и процессы, связывающие значения. Это две ортогональные философские категории наполняют пространство состояний.

Закон отрицания отрицания

Закон отрицания отрицания определяет формы, которые содержатся в общей содержащей форме. Перетекание одной формы в другую форму определяет то внутренее превращение, которое с ходом времени приводит к превращению объемлющей формы в своё новое представление. Так например, программный код при рефакторинге отрицает своё предыдущее состояние, через развитие новой качественной формы.

Закон перехода количества в качество и обратно

Этот закон диалектического материализма определяет переход накопленных количественных характеристик в новое качество. А при утрате качества -- назад в количественное состояние. Язык программирования в рамках диалектического дискурса проявляет такие свойства, например -- при переводе текста программы из одной формы в другую более низкого уровня. При этом количество кода соответствующего уровня растёт, неявно сохраняя в себе качества более высокого уровня.

Основные диалектические противоречия в языках программирования

Диалектические пары присутствуют в любом языке программирования. Обычно они описаны либо не полно, либо не описаны вообще. Цель настоящего языка программирования явн оописать эти диалектические противоречия и решить их в духе диалектическог оматериализма.

Материя первична, сознание вторично

Материя первична, сознание вторично. Язык программирования является продуктом объективной реальности. Все процессы и явления имеют материальную основу. Модель должна опираться на объективную реальность, а не на абстрактные идеи. Все находится в постоянном движении, изменении и развитии. Состояния не статичны — они трансформируются под действием внутренних и внешних причин. Развитие происходит через борьбу противоположностей. Внутренние противоречия — двигатель изменений. Без них — нет развития. Переход количественных изменений в качественные. Накопление мелких изменений ведёт к скачку, к новому качеству. Отрицание отрицания. Развитие идёт не по прямой, а по спирали: старое отрицается, затем отрицается само отрицание — и возникает что-то более высокое.

Язык программирования не рождается из пустоты, не является плодом субъективной фантазии. Он возникает как ответ на объективные потребности:

  • Развитие аппаратного обеспечения (процессоры, память, параллелизм).
  • Появление новых задач (веб, ИИ, распределённые системы).
  • Опыт существующих языков (их успехи и провалы).

Следовательно, материальной основой является:

  • Техническая база (компьютеры, сети),
  • Социальная практика (программирование как труд),
  • Предшествующие формы (языки C, Lisp, Python, Rust и др.).

Вывод: язык программирования — производное от производительных сил информационной эпохи.