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