1

Re: Научные идеи «Канторовых систем»

Видимо, пора. Всегда сомневался, являются ли развиваемые мной идеи научными, поскольку не делился ими с представителями официальной науки. Но всё случается в первый раз. Нельзя расписать идеи, не обозначив их. Собирательную тему, играющую роль оглавления, нужно тоже как-то обозначить, и характеристика «научные» сюда как нельзя лучше подходит.

В науке как принято? Пока не доказано обратное — идея верна, если подтверждается результатами опытов и объясняет происходящие в них процессы. Сам я считаю свои идеи научными.

Разработка Кантора основывается на следующих ключевых идеях, реализацией которых является Кантор:

  • Объектная теорема — условный аналог теоремы Бёма-Якопини и реляционной модели в ООП, объясняющая, как при помощи SOLID добиться декомпозиции и нормализации классов (аналог Кодда) и избавиться от приведения типа (аналог избавления от goto).

  • Машина Кантора — аналог машины Тьюринга в функциональном программировании. Машина Кантора объединяет ООП и ФП в единую парадигму декларативного ООП и делает возможным функциональное системное программирование.

  • Объектная алгебра — реализация моделей объектной теоремы на машине Кантора, практическое воплощение декларативного ООП.

  • Фрактальная модель — способ разработки ПО на основе обратимого кода, отказ от исходных текстов как основного представления программы. Фрактальная модель является естественным отражением окружающего мира в машине Кантора.

  • Суперкомпиляция — порождение частного кода из общего, естественный способ реализации компилируемого языка с объектами первого класса. Вероятно, единственный способ реализации машины Кантора, раскрывающий ее преимущества без накладных расходов, то есть позволяющий конкурировать на равных.

  • Исключения первого класса — перенос концепции объектов первого класса на реализацию исключений в языке. Необходимый шаг для превращения системы с объектами первого класса в машину Кантора.

Далее в теме я буду постепенно добавлять отдельные сообщения по обозначенным идеям, с расчетом выделить их в самостоятельные темы, если созреют. По итогам размышлений и обсуждения, если состоятся, по каждой теме должна быть написана минимум одна статья в блог и/или создана страница документации в правой колонке.