Программирование графами без языков программирования. (Новая математическая концепция).

 Загрузить - Графическая Среда Программирования(ГСП): rEditor          Инструкция

 03

Аннотация. 

Предлагается использовать новую, более простую, интеллектуальную и математически строгую концепцию программирования ориентированными графами из горизонтальных дуг, на которых сверху и снизу записывается информация на любых языках – русском, английском, китайском, математическом и т. д. На дуге сверху записывается условие прохождения по дуге, а снизу – действия, которые выполняются, если условие «истинно». Для выполнения на компьютере такого графа эти записи преобразуются в строго определенные выражения и формулы элементарной математики. Традиционные языки программирования не используются, но их библиотеки (машинный интеллект) сохраняются и используются как функции в математике при задании информации на дугах. Такой граф является интеллектуальным полиглотом, имеет стандарт ISO 8631/1989, и только ОДИН(!) эффективно используется для записи алгоритмов, данных, программ, ООПрограмм, баз знаний, сетевых графиков и компьютерных схем, значительно упрощая и улучшая процессы их проектирования. Он имеет намного лучшие характеристики по наглядности, простоте, компактности(в 100+ раз компактнее), доказательству правильности и скорости ввода в компьютер. Чем больше и логически сложнее программный проект, тем больше эффект применения новой концепции, которая настолько проста, что позволяет программировать ВСЕМ, а не только программистам. Это делает программирование элементом всеобщей грамотности и культуры общества. Новая концепция программирования не имеет (нам не известно) аналогов. В статье в сжатой, компактной форме представлена ​​история появления, анализа и проверки новой концепции, описание ее сути,  реализованной среды программирования графами и мнение первых десяти пользователей.

Ключевые слова.

Графическое программирование, Программирование без языков программирования, Математическая и Полиглот концепция, базы данных, базы знаний, ориентированные графы с горизонтальными дугами, трехмерные графы, любая нагрузка на дугах, компактность записи, доказательство правильности, оптимизация, автоматическая генерация тестов, цвет, самодокументация, программирование для ВСЕХ. 

 Предисловие.

Современное программирование – это самый сложный процесс человеческой трудовой деятельности. Первая программа была написана во второй половине 40-х годов. В то же время была разработана концепция программирования. В этой концепции используются операторы (команды) типа: if-then, else, for, while, goto, : =, …, label, begin-end, {-} и т. д., которые являются машинно-ориентированными и неестественными для человека и математики. Только теперь после появления новой концепции стало ясно, что все проблемы и сложности существующего программирования определяются его концепцией, которая до сих пор в течение более 70 лет не изменялась и сейчас устарела. Интересно отметить, что на протяжении 70 лет в программировании было много сделано для нейтрализации недостатков существующей концепции. Но чем больше было сделано, тем дальше существующее программирование становилось от математики, от ее строгих принципов. В результате, сейчас в программировании существует только эмпирический и примитивно интуитивный (а не строгий математический) процесс разработки программ. Поэтому существующий процесс программирования не упрощается, а усложняется, увеличивается его длительность и стоимость. Получаемые программы не имеют доказательства правильности и потому отлаживаются всю свою жизнь. Они не наглядны, не компактны (не обозримы), сложны в модификации в процессе эксплуатации и т.д. Э.Дейкстра, признанный гений в программировании, в конце своей жизни много думал о будущем программирования и в результате предложил использовать «охраняемые команды». Это огромный шаг вперед, так как в программирование была введена математическая логика предикатов первого порядка, но этого было недостаточно.

       В новой концепции предлагается программировать ориентированными графами из только горизонтальных дуг, на которых записывается некоторый аналог охраняемых команд Дейкстра. На дуге сверху записывается УСЛОВИЕ прохождения по дуге, а снизу – выполняемые при этом ДЕЙСТВИЯ, одно или НЕСКОЛЬКО(в отличие от Э.Дейкстра) охраняемых команд. В качестве УСЛОВИЯ могут применяться КЛЮЧЕВЫЕ СЛОВА, задающие понимание информации под дугой. В результате программирование переводится  полностью  на строгие математические принципы, что позволяет отказаться от существующих языков и концепции программироания. Это первая попытка изменить существующую концепцию программирования, которая не имеет аналогов. В результате програмирование стало понятным, наглядным и упростилось настолько, что стало доступно ВСЕМ, а не только программистам.  Компактность программы увеличилась в разы (известный максимум в 400 раз), число символов в программе намного уменьшилось (известный максимум –  более чем в 500 раз). Существенно упростился ввод графических программ в компьютер. Программа имеет доказательство правильности и другие преимущества, но главное – решена проблема сложности в программировании, и все лучшее (библиотеки, охраняемые команды, ООП и т.д.), накопленное в существующей практике программирования, сохранено в новой концепции в единой графической оболочке.

 Читать далее…

4 комментария: Программирование графами без языков программирования. (Новая математическая концепция).

  • Dmitry Ponyatov говорит:

    Очень интересная концепция, чем-то напоминает фреймы Минского.

    Есть значительная проблема: как представлять структуры данных?
    Те же записи реляционных БД, или исходный код программ на других языках?
    ООП стал настолько распространен, потому что дает прозрачное представление.

    Экспериментирую с системой, построенной на фреймах: базовый объект одновременно может хранить одно примитивное значение, упорядоченный список, и ассоциативный массив со строковыми ключами.
    Типа такой объектно-графовой БД, еще хочу добаивть туда возможность логического вывода на объектных графах.

    • Dmitry Ponyatov говорит:

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

  • Dmitry Ponyatov говорит:

    Нет ли у вас реализации R-системы, способной генерировать код для Arduino?

    Графовый подход особенно интересен для программирования автоматики и систем управления.

  • Dmitry Ponyatov говорит:

    К программе в комплекте никакой документации, даже справка по F1 не реализована

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>