Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування
It is proposed to use a new simple, smart, and mathematically rigorous programming concept by oriented graphs consisting of only horizontal arcs, on which from above and below texts are recorded in any languages – Russian, English, Chinese, Mathematical, etc. The mathematical language is strictly de...
Збережено в:
| Дата: | 2017 |
|---|---|
| Автор: | |
| Формат: | Стаття |
| Мова: | Російська |
| Опубліковано: |
The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute"
2017
|
| Теми: | |
| Онлайн доступ: | https://journal.iasa.kpi.ua/article/view/117212 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | System research and information technologies |
| Завантажити файл: | |
Репозитарії
System research and information technologies| _version_ | 1867334327206936576 |
|---|---|
| author | Velbitsky, I. V. |
| author_facet | Velbitsky, I. V. |
| author_institution_txt_mv | [
{
"author": "I. V. Velbitsky",
"institution": "Фонд Глушкова, Киев"
}
] |
| author_sort | Velbitsky, I. V. |
| baseUrl_str | http://journal.iasa.kpi.ua/oai |
| collection | OJS |
| datestamp_date | 2018-03-30T15:35:21Z |
| description | It is proposed to use a new simple, smart, and mathematically rigorous programming concept by oriented graphs consisting of only horizontal arcs, on which from above and below texts are recorded in any languages – Russian, English, Chinese, Mathematical, etc. The mathematical language is strictly defined as part of elementary mathematics (its expressions and formulas for recording conditions and actions) that can be written on the graphical arcs of the new concept and executed on the computer. Traditional programming languages are not used, but their libraries (intelligence) are saved with the ability to access them from graphics programs using appropriate functions with or without parameters. Any program from this library can be automatically translated into a single new graphical sheath. Such a graph is an intellectual polyglot, it can be 3D+, has the ISO 8631/1989 standard and only one is effectively used throughout the life cycle of the process of developing, executing and using the programs. The new concept uses a single mathematical (graphical) method for recording algorithms, data, programs and network graphs of their development, which has much better (up to 100+ times) characteristics by clarity, simplicity, compactness, speed of entering them into the computer and, as a result, the efficiency of the generated computer code. The article gives the history of the appearance and verification of a new concept, a description of its essence, the implemented environment for graphic programming and the benefits of its use. |
| doi_str_mv | 10.20535/SRIT.2308-8893.2017.3.09 |
| first_indexed | 2025-07-17T10:23:19Z |
| format | Article |
| fulltext |
И.В. Вельбицкий, 2017
88 ISSN 1681–6048 System Research & Information Technologies, 2017, № 3
УДК 519.85
DOI: 10.20535/SRIT.2308-8893.2017.3.09
ИНТЕЛЛЕКТУАЛЬНАЯ ВИЗУАЛЬНАЯ
3D+ ПОЛИГЛОТ-КОНЦЕПЦИЯ ПРОГРАММИРОВАНИЯ
БЕЗ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ
И.В. ВЕЛЬБИЦКИЙ
Аннотация. Предложена простая, интеллектуальная и математически строгая
концепция программирования ориентированными графами из только горизон-
тальных дуг, на которых сверху и снизу записываются тексты на любых язы-
ках — русском, английском, китайском, математическом и т.д. Математиче-
ский язык строго определен как часть элементарной математики, которая
задает выражения и формулы для записи условий и действий на графических
дугах новой концепции и выполнения их на компьютере. Традиционные языки
программирования не используются, но их библиотеки (интеллект) сохраня-
ются с возможностью доступа к ним из графических программ с использова-
нием соответствующих функций с параметрами или без. Любая программа из
этой библиотеки может быть автоматически переведена в единую новую гра-
фическую оболочку. Такой граф является интеллектуальным полиглотом, он
может быть 3D+, имеет стандарт ISO 8631/1989, и только один эффективно
используется на протяжении всего жизненного цикла процесса разработки,
выполнения и эксплуатации программ. В новой концепции используется еди-
ный математический (графический) метод для записи алгоритмов, данных,
программ и сетевых графиков их разработки, который имеет гораздо лучшие
(до 100+ раз) характеристики по наглядности, простоте, компактности, скоро-
сти их ввода в компьютер и эффективности полученного в результате компью-
терного кода. Приведена история возникновения и проверки новой концепции,
описание ее сути, реализованной графической среды программирования
и мнение некоторых экспертов и пользователей о преимуществах ее использо-
вания.
Ключевые слова: программирование, интеллектуальное, визуальное, поли-
глот, 3D+, ориентированные графы, только горизонтальные дуги, нагрузка
только дуг, любой язык (русский, английский, китайский, математический и
т.д.), цвет, чертеж, доказательный стиль, оптимизация, самодокументирование,
документипрвание мотивации, кибербезопасность, большие данные.
ВВЕДЕНИЕ
В 1960-х годах нами впервые был введен термин «технология программиро-
вания» [1,2] как интуитивное осознание того факта, что главным является
не только язык (в то время Алгол-60), а и как его использовать и писать на
нем грамотно и культурно, легко и просто. В настоящее время технология
программирования включена во все IT-программы обучения. Но програм-
мирование стало еще более сложным, дорогим, недоступным и непонят-
ным. Сейчас после появления новой нагруженной по дугам графической
концепции программирования стало ясно, что причина этому является ста-
рая неизменная с 1947 г. и устаревшая неграфическая концепция програм-
мирования.
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 89
В этой концепции используются машинно-ориентированные и неесте-
ственные для человека операторы типа: if-then, else, for, while, goto ..., мет-
ки, блочные скобки типа begin-end, {-} ..., отступы (лесенки), большинство
знаков препинания и т.д., которые все исключены из новой концепции про-
граммирования (рис. 1) и которых слишком много в существующих текстах
программ. Такие операторы сложны, маломощны, эмпиричны (строго не
определены) и обеспечивают только примитивно-ремесленническую техно-
логию работы. Для нейтрализации их недостатков пользователь тратит
слишком много усилий, создавая огромное количество новых языков,
методов и сред программирования, которые якобы упрощают, а на самом
деле делают программирование неунифицированным, еще более сложным,
запутанным, непонятным и недоступным для всех.
Программирование в графах*
формируется в 70-х в течении 15 лет
при разработке больших систем
управления основных ракет бывше-
го Советского Союза [3] как техно-
логический процесс формального
документирования их разработки для
быстрого внесения постоянных ис-
правлений и улучшений, с одной сто-
роны, и работ Дейкстры [4], который
впервые показал математическую
нестрогость и избыточность тради-
ционной концепции программирова-
ния, с другой стороны. В 2016 году
окончательно сформирована новая, очень простая графическая концепция
программирования единая(!) для задания алгоритмов, программ, данных и
сетевых графиков на всем жизненном цикле разработки и эксплуатации
программ. Проведен ее всесторонний анализ, опытная реализация(!) и эксплуа-
тация новой графической среды программирования (ГСП) [5–8].
Новая концепция впервые предлагает не писать, а рисовать программы
в графах, нагруженных по горизонтальным дугам символами, выражениями
и функциями из элементарной математики. Рисовать во много раз проще,
быстрее, нагляднее и компактнее, чем писать программу в существующей
концепции (в специальных текстовых языках) программирования. При этом
используется та же клавиатура, мышь или сенсорный экран и обеспечивает-
ся соответствие получаемого рисунка стандарту ISO 8631/1989 [5]. Такие
графы и записи на них являются полиглотами, понятными без сложных оп-
ределений. Они сливаются с известными, строгими математическими прин-
ципами представления и обработки информации, которые приближаются к
принципам работы мозга. Поэтому все специальные языки программирова-
ния типа Фортран, С++, JAVA, Python становятся маломощными и ненуж-
ными, но сохраняются их библиотеки и специализированные полезные про-
* В математике в теории графов есть только два эквивалентных типа графов, кото-
рые могут быть использованы в программировании. Это граф, нагруженный по
вершинам (например, известные блок-схемы, автоматы Мура), и граф, нагружен-
ный по дугам (сетевые графики, автоматы Мили).
Рис. 1. Существующая с 1947 г. концеп-
ция программирования
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 90
граммы типа Oracle Database, разработки Websites и т.д. Любая програм-
ма из библиотеки на любом языке может быть автоматически переведена в
новую графическую форму представления. Благодаря этому упрощается пе-
реход на новую концепцию и сохраняется и многократно преумножается
опыт программирования.
Новая концепция позволяет записать любой алгоритм, любую про-
грамму любым известным методом от структурного до глубокого интел-
лектуального анализа информации, обеспечивая кибербезопасность, с
использованием уже готовых специализированных программ и библиотек,
которые могут быть объединены в единую графическую гипербиблиотеку.
Новая концепция вводит в программирование доказательный и безошибоч-
ный стиль, самодокументирование и документирование мотивации прини-
маемых решений, позволяет легко, быстро, наглядно и компактно (!) нари-
совать логическую схему проблемы и решить ее. Принципы новой
концепции так просты и естественны, что программирование будет доступ-
но не только программистам, а станет элементом всеобщей грамотности и
культуры общества.
СУТЬ НОВОЙ КОНЦЕПЦИИ ПРОГРАММИРОВАНИЯ
В новой концепции для записи любых алгоритмов, данных и программ ис-
пользуется только одна направленная влево или вправо горизонтальная дуга
графа, так называемая логическая R-схема или аксиома (рис. 2). На этой
дуге сверху записано Условие, а снизу — Действия,
которые выполняются, если Условие «истинно». Для
записи на дуге Условие и Действия в одну или не-
сколько строк используются любые естественные
языки (английский, русский, китайский и т.д.), сим-
волы, выражения и функции элементарной матема-
тики, соответствующие фрагменты из любых языков
программирования для записи Условия и Действий
и, прежде всего, функций обращения к библиотекам
этих языков (рис. 3).
Из вершины графа может
исходить любое число дуг вле-
во и/или вправо. Для записи
графов типа «петли» (рис. 4, сле-
ва) используются либо пустая ду-
га, обозначающая безусловный
переход без выполнения каких-
либо Действий, либо специальная
двойная горизонтальная дуга ти-
па «знак равно» между верши-
нами (рис. 4, справа). Дуги, ис-
ходящие из любой вершины, анализируются последовательно сверху
вниз. Выполняется первая дуга, у которой Условие «истинно». При этом вы-
полняются все Действия под этой дугой и осуществляется переход по
Рис. 2. Аксиома новой
концепции программи-
рования
Рис. 3. Запись Условия и Действий на дуге
в одну или несколько строк
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 91
стрелке дуги в новое состояние графа (алгоритма, данных или програм-
мы). Если все дуги, исходящие из вершины, имеют «ложные» Условия, то
осуществляется переход по стрелке последней просматриваемой дуги
в соответствующее новое состояние графа (программы) без выполнения
Действий.
Пример определения нового оператора: «трех (может быть любое
число) Условий и Цикла» показан на рис. 5. На рис. 5, а показана его
R-схема (11 строк), на рис. 5, б — его абстрактная R*-схема (4 строки) или
запись R-схемы (алгоритма, программы) без деталей реализации, без за-
писей на дугах, а на рис. 5, в — эквивалентная традиционная запись
в С++ (24 строки), где красным отмечены лишние символы для R-схемы на
Рис. 4. R-схемы графов типа «петли»
1 1 1
Рис. 5. Запись нового оператора «Выбора и Цикла» в графах и в С++
Оператор «Выбора
и цикла» в С++: {
_l1:
if(Условие1){
Действия
}else{
if(Условие2){
Действия
}else{
if(Условие3){
Действия
}
}
}
if(Условие4){
Действия
}
if(Условие5){
Действия
goto _l1;
}
}
Трансляция нового
оператора «Выбора и
цикла» с оператором
while в С++: {
do{
if(Условие1){
Действия
}else{
if(Условие2){
Действия
}else{
if(Условие3){
Действия
}
}
}
if(Условие4){
Действия
}
}while(Условие5{
+ Действия})
}
б в г
a
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 92
рис. 5, а. А на рис. 5, в их 76 или с отступами и переводами строк 217 (73%).
Запись R-схемы в 2(24/14), а R*-схемы в 6(24/4) раз компактнее записи их
в С++ или R=2 и R*=6 соответственно. Ввод одного (из 10) оператора С++
(рис.5, в) в компьютер занимает в среднем 10(100/10) кликов клавиатуры, а
ввод дуги R-схемы (рис.5, а) занимает 0,8 (4/5), что в 13 (10/0,8) раз меньше,
eR=13 и потому быстрее. Порядок цифр преимуществ новой концепции со-
храняется при использовании в соответствующем трансляторе R-схем
в ГСП оператора while на выходе (рис.5, г). Максимальные известные
в настоящее время RR*-схемы программ имеют характеристики: R=133,
R*=400 и eR=578. Это значит, что они имеют компактность в 133 и 400 раз
больше (в 133 и 400 раз имеют меньше строк), а скорость ввода в компьютер
быстрее в 578 раз по сравнению с традиционной запиcью этих же программ
в С++
Ввод каждой горизонтальной дуги графа выполняется одним нажатием
мыши или клавиатуры или пальца по сенсорному экрану. При одном нажа-
тии может быть введено сразу несколько новых горизонтальных дуг. Верти-
кальные дуги и вершины графа не вводятся в компьютер и рисуются в ГСП
автоматически, что намного упрощает и ускоряет ввод графических опера-
торов (дуг) по сравнению с вводом существующих операторов традицион-
ных языков программирования.
Такой граф имеет имя, которое записывается сверху около желтого эл-
липса, рис. 2–7. В математике это имя соответствует имени некоторой функ-
ции, заданной графически в новой концепции программирования. Для реаль-
ных графических программ [9, 10] это имя функции может быть с параметрами
или без них, рис. 6, 7. Программа в новой концепции задаетя любым числом
взаимосвязанных по имени таких графов. Первый граф (R-схема) такой
программы называется аксиомой. Первая слева вершина аксиомы програм-
мы всегда выделяется красным. В аксиоме залается архитектура соответст-
вующей ООП программы: данные и соответствующие им методы. Если дан-
ные простейшие, как на рис. 6, 7, то они задаются традиционным способом:
сверху дуги записывается ключевое слово соответствующего класса данных,
а под дугой список его идентификаторов. Если данные логически сложные,
то они задаются графом, у которого на дуге задаются сами данные (их син-
таксис), а снизу семантика (методы) их обработки. Граф задает логическую
структуру данных любой сложности..
Графическая ООП-программа, которая в 7 раз компактнее, чем тради-
ционная запись этой программы в языке Delphi [9], показана на рис. 6, дру-
гая ООП-программа, которая в 4 раза более компактна, чем традиционная
запись этой программы в С++, R=4, показана на рис. 7 [10, с. 489–491]. Это
значит, что в этих программах Условия и Действия записаны на языке
Delphi и С++ соответственно. На рис. 6 и 7 первая R-схема (аксиома с крас-
ной точкой) задает формулу, архитектуру определения соответствующих
ООП, а именно, Данные (FIELDS для Delphi и privat для C++) и связанные
с ними методы. Далее приведено определение четырех Методов для
Delphi и 5+1 public-функции для C++ соответственно.
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 93
Р
ис
. 6
. R
-с
хе
м
а
О
О
П
-п
ро
гр
ам
м
ы
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 94
Р
ис
. 7
. R
-с
хе
м
а
О
О
П
-п
ро
гр
ам
м
ы
«
О
пр
ед
ел
ен
ия
и
и
сп
ол
ьз
ов
ан
ия
к
ла
сс
а
А
К
Ц
И
Я
»
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 95
ГДЕ следующие обозначения показаны на рис. 7:
*) // формат #.## с 2-мя знаками после точки и показом нулей в итоге
**) // усечь со для помещения в соmраnу
*3) «Количество пакетов не может быть отрицательным; для» << « ус-
тановлено в 0.\n»
*4) «Количество приобретаемых(продаваемых) пакетов не может быть
отрицательным.» 6*
*5) «Вы не можете продать больше того, чем владеете!» 6*
*6) << «Транзакция прервана.\n»
Показанная на рис.7 графическая ООП-программа в С++ иллюстрирует
способ записи комментариев и макроопределений после префикса ГДЕ, ис-
пользуемого в математике и потому более естественный, компактный и эф-
фективный по сравнению с записью их в традиционной концепции про-
граммирования.
На рис. 8, 9 показаны абстрактные R*-схемы программ. Абстрактная
R*-схема — это запись ее R-схемы без деталей реализации, без записей на
дугах, т.е. максимально компактно с изображением только математической
логики сути программы. Это новое теоретичекое понятие в программи-
ровании для компактной записи, анализа, графической сертификации и
синтеза (оптимизации) программ по различным критериям: времени,
памяти и т.д. Логическая R-схема и абстрактная R*-схема новой
концепции являются новой единой графической оболочкой (эталоном,
шаблоном) для записи программ и библиотек программ на всех языках. Это
открывает новые возможности объединения интеллекта, сосредоточенного в
библиотеках всех существующих языков программирования, и эволюцион-
ного их развития вместе с человеком, соответствующим коллективом разра-
ботчиков и общества в целом. Такой возможности НЕТ в традиционном
программировании.
Рис. 8. R*-схема записи программы без деталей реализации и в 36 раз ком-
пактнее записи ее в Delphi
Рис. 9. R*-схема записи программы без деталей реализации и в 32 раза компактнее
записи ее в С++
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 96
Оба примера на рис. 6–9, иллюстрирующие организацию ООП в раз-
личных самых современных ООП-ориентированных языках — С++ и
Delphi, записаны программистами, которые использовали все тонкости и
особенности этих языков для эффективной записи соответствующих про-
грамм. Графическая запись этих программ свидетельствует об эффективно-
сти (преимуществе) RR*-схем, т.е. простоты, понятности, наглядности, ком-
пактности и самодокументированности графов программ. Такое
преимущество [10] подтверждает общую эффективность предлагаемой но-
вой графической полиглот-концепции программирования. Новая графиче-
ская концепция позволяет также объективно (!) и количественно сравнить
два новых языка, выяснить, какой язык лучше, например, Delphi, Java или
С++, дополнительно сравнить количественные характеристики абстрактной
R*-программы из 1001010 дуг на рис.10, которая компактнее С++
в 15R , 45R* раз и вводится в компьютер в 138eR раз быстрее, а
R-схема из 100х100 дуг имеет 133R , 400R* и 578eR . Новая кон-
цепция является полиглотом, потому что используемые в ней математика и
графика интернациональны и лучше воспринимаются человеком, чем суще-
ствующие искусственные языки программирования.
Для задания структур и классов данных, методов ООП, функций на-
стройки в новой концепции используются ключевые слова типа: int, array,
class, table, function, #include <iostream> ... , которые записываются на дуге
сверху и всегда истинны (см. рис. 6, 7). Эти дуги обычно безальтернатив-
ны, независимы друг от друга и могут выполняться параллельно в соответст-
вии с ключевым словом на дуге. Используемая в них информация является,
как правило, вспомогательной и служит для нейтрализации недостатков
традиционной концепции программирования и упрощения процессов транс-
ляции в ней. В графическом программировании эту информацию можно
просто получить из контекста R-схемы и потому со временем может быть
исключена из графического программирования полностью или частично,
как это произошло в математике. На рис. 6, 7 она сохранена. Принцип со-
хранения изображен на рис. 7 при определении нового класса «АКЦИЯ» и
традиционной записи этой же информации в языке С++ (рис. 11) [10, c. 489].
Рис. 10. Ввод R-схемы (программы) из 1001010 дуг: 15R , 45R* ,
138eR по сравнению с С++
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 97
Сложные структуры данных могут непосредственно задаваться в гра-
фическом виде R-схем (рис. 12). В этом случае на дуге сверху записывается
элемент логики или синтаксиса данных, а снизу – соответствующая семан-
тика [2]. RR*-схемы эфективно используются для записи алгоритмов «от
данных», например, трансляторов (рис. 12). Пример задания в R-схемах таб-
личных данных показан на рис. 13.
Вершины и дуги графа могут иметь различную конфигурацию и цвет,
(рис. 4–15). На рис. 6, 8 квадратной вершиной отмечены дуги, которые мо-
гут выполняться параллельно, а на рис. 16 вершиной в виде параллело-
грамма изображен принцип 3D и многомерное выполнение графических
программ, а прямоугольная вершина (типа поплавок, на рис. 14), напри-
мер, может запоминать число обращений к ней и иметь порог чувстви-
тельности в своей работе аналогично работе мозга у человека, чего нет
в традиционном программированиии. На рис. 4, 12, 17, 18 используется
конфигурация дуги в виде знака «равно» для наглядного изображения
// stocks.cpp – полный текст программы
#include <iostrem>
#include <cstring>
class Stock // объявление класса
{
private :
char company[30];
int shares;
double share_val;
double total_val;
void settot () { total_val = shares * share_val;
public :
void acquire (const char * со, int n, double pr);
void buy (int num, double price);
void sell ( int num, double price);
void update (double price);
void show ();
}; и т о г о : R=(17/13) R*=(17/4)=4,3
Рис. 11. Листинг10.3. Полный текст программы stocks.cpp
Рис. 12. Задание структур данных Рис. 13. Задание табличных данных
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 98
графа типа «петли» и т.д. Цвет вершин широко используется для реализа-
ции светофоров в программе (рис. 14, 15), а цвет в дугах — для наглядного
обозначения, например, маршрутов автоматической генерации тестов про-
грамм (рис. 14) и т.д.
Цвет вершин и дуг может легко осуществляться (задаваться) из
прграммы, например, функция GREEN= green(...) на рис. 15 c, d. Это но-
вая возможность, отсутствующая в традиционном программировании или
сложно моделирующаяся традиционными средствами. В новой концепции
впервые появилась возможность естественно и просто документировать мо-
тивацию принимаемых решений, программировать параллельно различные
части проекта программ, автоматически генерировать функционально-
полный набор тестов, проводить отладку программ параллельно с разработ-
кой и т.д. На рис. 15 продемонстрирована еще одна новая (отсутствующая
в традиционном программировании) возможность автоматической опти-
мизации R*-схем по их не оптимальной, но полученной в результате более
простой процедуры проектирования R-схемы: «SPIDER» Cycle .
В теории построения аппаратуры самого компьютера на логических
интегральных схемах используются автоматы Мили и Мура, которые зада-
Рис. 14. Задание табличных данных
Рис. 15. Охраняемые команды Дейкстра и оптимизация графических программ
с использованием «светофора» на последней вершине R-схемы
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 99
ются графами, нагруженными по дугам (рис. 17, 18), что открывает новые
большие перспективы построения компьютеров с новой гибкой архи-
тектурой, задаваемой соответствующими графическими программами (R-
схемами) и с аппаратной реализацией соответствующих библиотек. Все это
позволяет значительно упростить и ускорить программирование и увели-
чить уровень киберзащищенности, технологичности и автоматизации раз-
работки графических программ в таких компьютерах.
Рис. 16. Организация 3D программирования
Рис. 17. R-схема автоматов Mealy and Moore
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 100
На всем жизненном цикле новой концепции чертеж проекта программы
совпадает с самой программой, документацией и сетевым графиком разра-
ботки (рис. 19). Руководитель работ впервые может около каждой работы
(проекта программы) на дуге R-схемы записать в особых скобках имя ис-
полнителя, расчетное время ее выполнения и проконтролировать качество
выполняемых работ. Такого нет в существующем программировании и про-
мышленности, где, например, чертеж (документация) автомобиля отлича-
ется от самого автомобиля и сетевого графика его разработки.
Графическая форма записи имеет большие резервы по развитию в бу-
дущем. Для записи вершин, дуг и записей на них может использоваться
цвет. Вершины и стрелки дуг могут иметь разную конфигурацию, а дуги
быть двойными, волнистыми, пунктирными и т.д.
НОВАЯ КОНЦЕПЦИЯ И ГРАФИКА В СУЩЕСТВУЮЩЕМ
ПРОГРАММИРОВАНИИ
Человек всегда стремится найти графический образ любым своим действи-
ям. Известно огромное число графических способов записи программ в виде
графов, нагруженных по вершинам: блок-схемы, UML, Workflow, SDL,
ДРАКОН, Google BLOCKLY и др. (см. рис. 20а, 21, 22 (слева)). Для таких
Network Diagram entering the financial system:
Рис. 19. Запись в R*-схеме cетевого графика ввода в эксплуатацию финансовой
системы
Рис. 18. R-схема автомата Mealy
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 101
графических программ всегда на заключительных этапах используются тра-
диционные языки программирования, которые вручную (не автоматически)
преобразуют графическую запись программы в обычную текстовую запись
в этом языке.
R-схемы — это графы, нагруженные по дугам (рис. 20, б, в, 21, 22
(справа)), которые имеют количественные и качественные преимущества.
Они выполнимы(!) на компьютере на всем жизненном цикле (без использо-
вания языков-посредников), более просты, универсальны (не содержат слож-
ных профилей), эффективны (более мощны), наглядны и компактны. Для их
записи и обработки в компьютере не нужны существующие языки програм-
мирования.
Таким образом, в новой концепции для всех языков – естественных,
математики и программирования – предлагается единая графическая обо-
лочка. Запись программ и их проектов в этой оболочке, а также их трансля-
ция и интерпретация становятся проще. Программа (R-схема) впервые является
Compact 2,4R
а
б
Compact 14R
в
Рис. 20. Пример записи алгоритма вычисления Факториала числа N в блок-схемах
(а) и в RR*-схемах (б, в)
Рис. 21. R-схема Workflow ахитектуры SDL
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 102
Р
ис
.
22
.
П
ри
м
ер
з
ап
ис
и
п
ро
гр
ам
м
ы
в
в
и
зу
ал
ьн
ом
я
зы
ке
п
ро
гр
ам
м
ир
ов
ан
ия
G
oo
gl
e
B
lo
ck
ly
[
11
]
и
в
R
-с
хе
м
е
(к
ом
па
кт
но
ст
ь
R
=
3,
R
*=
14
)
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 103
объектом математики и для человека(!), а не только для компьютера.
RR*-схемы идеальны для обратной (такого нет в традиционном програм-
мировании) трансляции программ на любых языках в новую единую графи-
ческую оболочку как эталон. В результате программа из «вещи в себе», по-
нятной только автору (не всегда доступному), становится прозрачной для
развития другими, а весь процесс программирования становится простым,
эволюционным с сохранением и накоплением опыта в унифицированной
графической библиотеке. Поэтому в новой концепции программирования,
как и в математике, нет необходимости строить постоянно новые языки и
среды программирования, а есть возможность неограниченного совершен-
ствования графической знаковой системы обозначений и обработки инфор-
мации с сохранением ранее накопленного опыта программирования.
БЕЗОШИБОЧНЫЙ И ДОКАЗАТЕЛЬНЫЙ СТИЛЬ ПРОГРАММИРОВАНИЯ
В НОВОЙ КОНЦЕПЦИИ
Традиционная концепция проектирования алгоритма (программы) на ком-
пьютере основана на построении вычислительной схемы решения исходной
задачи с использованием уже готовых библиотек и с помощью около десяти
фиксированных, текстовых, машинно-ориентированных и неестественных
для человека, строго не определенных операторов (команд) типа if, for,
while и т.д. Исходная задача преобразуется под возможность записи алго-
ритма (программы) в этих операторах. В результате сложного многоступен-
чатого процесса проектирования алгоритмов и программ исходная задача
преобразуется «до неузнаваемости», в нее вводятся новые элементы, меня-
ется связь между ее элементами и мотивацией принимаемых решений, теря-
ется понимание, почему так сделано и как это работает. Для упрощения
этого процесса придумывают многочисленные языки, методы и среды, что
еще больше запутывает и усложняет процесс программирования. Сущест-
вующие сложные большие программы, записанные в традиционной концеп-
ции программирования, постоянно отлаживаются, поэтому процесс про-
граммирования сложный и дорогой.
Новая концепция проектирования основана на построении графической
логической R-схемы исходной задачи в естественном языке, терминах и
словах формулировки постановки задачи. Для этого используется метод
«step by step from logic». В процессе такого построения выявляются и уточ-
няются все основные неточности в постановке задачи. В результате логиче-
ская R-схема исходной задачи становится одинаково понятной исполнителю
и заказчику и утверждается (подписывается) ими. Такая R-схема изна-
чально может быть очень простой и недетерминированной (рис. 23).
После этого построение проекта алгоритма и программы осуществляет-
ся формальными методами математического вывода в ГСП. Графическая
среда программирования следит и направляет человека таким образом, что-
бы формальные преобразования исключали из исходной логической R-
схемы все неоднозначности понимания и превращали ее в язык естествен-
ный для человека (как правило, в R-графический язык простейшей матема-
тики) и далее автоматически без человека – в язык компьютера. В результате
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 104
последовательность преобразований исходной R-схемы автоматически за-
поминается в ГСП и является формальным доказательством правильности
программы и процесса ее разработки. Автоматически получаемая в ГСП до-
кументация отличается от традиционной, так как сохраняет мотивацию (ис-
торию) принимаемых решений, более компактна, самодокументирована и
содержит абстрактные R*-схемы, которые формально оптимизируются
(преобразуются) в ГСП по различным критериям — времени, памяти и т.д.
Естественный язык постоянно совершенствуется и приближается к эф-
фективному профессиональному языку соответствующего коллектива раз-
работчиков проекта графических программ. Язык R-схем такого описания и
совершенствования – один (см. рис. 2, 3) на всем его жизненном цикле и для
компьютера, и для заказчика, и для исполнителей проекта, и для его пользо-
вателей. Графический и наглядный язык, используемый в основном в про-
цессе математического вывода и во многом автоматически, при минималь-
ных условиях возникновения ошибок (описок), в среде программистов
называется безошибочным, а весь процесс, стиль такого программирования
доказательным в отличие от программирования в традиционных текстовых
языках.
РЕАЛИЗАЦИЯ ГРАФИЧЕСКОЙ СРЕДЫ ПРОГРАММИРОВАНИЯ
В настоящее время реализована (лабораторный вариант) ГСП логическими
R-схемами, которая включает в себя систему ввода логических R-схем и
любых текстов на их дугах на любом языке, формирование и запоминание
дерева проекта, универсальный графический редактор, преобразователь R-
схем в R* и обратно, компилятор RR* в C++ и т.д. Компилятор RR* в C++
сделан простейшим для демонстрации возможности очень простого преоб-
разования графических программ в любую формальную текстовую структу-
ру или в язык компьютера. Все приведенные примеры реализованы в ГСП.
Графическая среда преобразования разработана на С++ как плагин ГСП
к Qt Creator и состоит из пяти областей, которые делят и формируют экран
монитора.
Рис. 23. Пример начала решения в новой концепции сложной проблемы «Поиска
закономерностей в BigData»
Big Data
Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков …
Системні дослідження та інформаційні технології, 2017, № 3 105
Основную (большую, 90%) центральную часть монитора занимает пер-
вая область — рабочее поле (РП), на котором осуществляется разработка
всех R-схем проекта.
В оставшихся 10%, сверху в трех строках располагаются три области:
меню формирования архитектуры среды, панель инструментов из 14 графи-
ческих иконок и панель открытых (неограниченное число) имен РП R-схем.
Последняя пятая область занимает слева узкую (менее 5%) полосу эк-
рана монитора для хранения Дерева R-схем конкретного проекта. Графиче-
ская среда реализована по принципу А. Эйнштейна «Любую работу делай
так просто, как это возможно, но не проще этого». Она намного проще реа-
лизации современных сред и трансляторов с традиционных языков про-
граммирования. Например, транслятор графических R-схем гораздо проще и
меньше (ориентировочно в 30+ раз), чем транслятор существующих языков
программирования и имеет более простую и эффективную инфраструктуру
организации вычислений на компьютере. Получаемые компьютерные про-
граммы более эффективны по времени выполнения и занимаемой памяти.
Главное достоинство реализации новой концепции состоит в том, что со-
хранился доступ к специализированным инструментам и библиотекам про-
грамм традиционных языков программирования.
Реализованная графическая среда обобщила существующий опыт про-
граммирования графами, доказывает правильность и эффективность новых
принципов программирования и является достаточно полной (по нашим
оценкам на 80%) для построения на ее основе коммерческой версии ГСП.
Мнения независимых экспертов и первых пользователей сводятся к та-
кому. Сильная полиглот-концепция программирования проще существую-
щей и может быть использована многими пользователями. Этот новый ма-
тематический инструмент эффективен для анализа, синтеза и обучения
программированию; он увеличивает долголетие и эволюционное использо-
вание программ применительно к условиям их эксплуатации; имеет повы-
шенную защищенность от ошибок и высокую отлаженность готовых графи-
ческих программ. В течении двух недель рисования R-схем в новой среде
программирования решается задача, которую без них решить невозможно.
Новая концепция — это полезный и продуктивный инструмент не только в
программировании, но и везде, где надо найти решение любой логически
сложной (запутанной) проблемы. По сравнению с известными Flow-chart,
UML. R-схемы имеют ощутимые преимущества. Они выполнимы на ком-
пьютере на всем жизненном цикле любых работ, более наглядны, компакт-
ны и не загромождены лишними деталями (фигурами). Подходят для визуа-
лизации нелинейных алгоритмов (например, классов в С++) или структур
данных.
ЗАКЛЮЧЕНИЕ
Предлагаемая новая математическая концепция (культура) программирова-
ния отличается простотой, наглядностью, компактностью и возможностью
перехода на нее для всех пользователей, а не только для программистов, по-
зволяет включить в программирование доказательный и безошибочный
стиль работы, развитые и отработанные веками математические методы
И.В. Вельбицкий
ISSN 1681–6048 System Research & Information Technologies, 2017, № 3 106
анализа и синтеза. Новая концепция имеет на 1–2 порядка большую ком-
пактность записи программ и простоту быстрого ввода информации, осо-
бенно через использование сенсорных экранов, что позволяет эффективно
применять ее и в малых компьютерных формах (планшетах, Айфонах).
В связи с простотой и наглядностью предложенная концепция может
быть включена в систему обязательного начального обучения программиро-
ванию. Для профессионального программирования эффект от применения
новых предложений тем больше, чем логически сложнее и запутаннее ре-
шаемая задача.
Главную роль в R-схемах играют дуги между вершинами. Количество
дуг, их направление, 3D-ориентация между различными вершинами и R-
схемами не имеют ограничений. Вершина может запоминать количество
обращений к ней и иметь порог чувствительности в своей работе. Новая
концепция упрощает процесс современного программирования, достаточно
обоснована для новых эффективных применений и реализаций новой гиб-
кой, архитектуры аппаратуры компьтеров, которая напрямую управляется
выполняемой программой. Это позволит по новому решать проблемы ис-
кусственного интеллекта, кибербезопасности, Big Data и суперсложных
программ нового поколения.
ЛИТЕРАТУРА
1. Глушков В.М. Технология программирования и проблемы ее автоматизации /
В.М. Глушков, И.В. Вельбицкий // УСИМ. — № 6. — 1976. — C. 75–93.
2. Вельбицкий И.В. Технология программирования / И.В. Вельбицкий // Техника.
— 1984. — 279 с.
3. Сергеев В.Г. Главный конструктор систем управления ракет и космических
комплексов / В.Г. Сергеев. — Х., 2014. — 448 с.
4. Dijkstra E. Letters to the editor: go to statement considered harmful / E. Dijkstra //
Communications of the ACM. — 1968. — P. 147–148.
5. Information technology, Programme constructs and convention for their Representa-
tion // Standard ISO/IEC 8631. — 1989.
6. McHenry W.K. Technology: A soviet visual programming / W.K. McHenry // Jour-
nal of Visual Languages and Computing. —1, N 2. — 1990.
7. Velbitskiy I.V. Graphical Programming and Program Correctness Proof / I.V. Velbit-
skiy // IEEE: 10.1109/ CSIT-13.6710368. — 2013. — P. 85–89.
8. Velbitsky I. Programming without Programming Languages (New Graphic Poliglot
Concept) / I. Velbitsky // Application and Theory of Computer Technology (the
British kingdom). —2, N.2. — 2017. — P. 26–41. — Available at:
9. http://www.archyworld.com/journals/index.php/atct/article/view/49
10. Valvachev A.N. Programming in Delphi / A.N. Valvachev, K.A. Syrkov,
D.A. Syrkov. — 2005. — Available at: http://www.rsdn.ru/article/Delphi/
11. Prata Stephen. С++ Primer Plus, Fifth Edition, SAMS Indiana, 46240 USA, 1184 p.,
ISBN 5-8459-1 1 27-3 Мoscow. 2007.
12. Cade Metz. Google Blockly Lets You Hack With No Keyboard. — Available at:
https://en.wikipedia.org/wiki/Blockly
Поступила 07.07.2017
|
| id | journaliasakpiua-article-117212 |
| institution | System research and information technologies |
| keywords_txt_mv | keywords |
| language | Russian |
| last_indexed | 2025-07-17T10:23:19Z |
| publishDate | 2017 |
| publisher | The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" |
| record_format | ojs |
| resource_txt_mv | journaliasakpiua/0c/f138d201a8d42016ffafbdb88d11540c.pdf |
| spelling | journaliasakpiua-article-1172122018-03-30T15:35:21Z Smart visual 3D+ polyglot-concept of programming without programming languages Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков программирования Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування Velbitsky, I. V. Graphical programming Graphs loaded through arcs Single logical and abstract algorithm data and program scheme Polyglot 3D and multi-dimensional programming Color drawing and network schedules in programming Self-documentation and documenting of decision motivation Графическое программирование Графы нагруженные по дугам Единая логическая и абстрактная схема алгоритмов данных и программ Полиглот 3D и многомерное программирование Цвет чертеж и сетевые графики в программировании Самодокументирование и документирование мотивации принимаемых решений Графічне програмування Графи навантажені по дугам Єдина логічна і абстрактна схема алгоритмів даних і програм Поліглот 3D і багатовимірне програмування Колір креслення і мережеві графіки в програмуванні Самодокументування та документування мотивації рішень що приймаються It is proposed to use a new simple, smart, and mathematically rigorous programming concept by oriented graphs consisting of only horizontal arcs, on which from above and below texts are recorded in any languages – Russian, English, Chinese, Mathematical, etc. The mathematical language is strictly defined as part of elementary mathematics (its expressions and formulas for recording conditions and actions) that can be written on the graphical arcs of the new concept and executed on the computer. Traditional programming languages are not used, but their libraries (intelligence) are saved with the ability to access them from graphics programs using appropriate functions with or without parameters. Any program from this library can be automatically translated into a single new graphical sheath. Such a graph is an intellectual polyglot, it can be 3D+, has the ISO 8631/1989 standard and only one is effectively used throughout the life cycle of the process of developing, executing and using the programs. The new concept uses a single mathematical (graphical) method for recording algorithms, data, programs and network graphs of their development, which has much better (up to 100+ times) characteristics by clarity, simplicity, compactness, speed of entering them into the computer and, as a result, the efficiency of the generated computer code. The article gives the history of the appearance and verification of a new concept, a description of its essence, the implemented environment for graphic programming and the benefits of its use. Предложена простая, интеллектуальная и математически строгая концепция программирования ориентированными графами из только горизонтальных дуг, на которых сверху и снизу записываются тексты на любых языках — русском, английском, китайском, математическом и т.д. Математический язык строго определен как часть элементарной математики, которая задает выражения и формулы для записи условий и действий на графических дугах новой концепции и выполнения их на компьютере. Традиционные языки программирования не используются, но их библиотеки (интеллект) сохраняются с возможностью доступа к ним из графических программ с использованием соответствующих функций с параметрами или без. Любая программа из этой библиотеки может быть автоматически переведена в единую новую графическую оболочку. Такой граф является интеллектуальным полиглотом, он может быть 3D+, имеет стандарт ISO 8631/1989, и только один эффективно используется на протяжении всего жизненного цикла процесса разработки, выполнения и эксплуатации программ. В новой концепции используется единый математический (графический) метод для записи алгоритмов, данных, программ и сетевых графиков их разработки, который имеет гораздо лучшие (до 100+ раз) характеристики по наглядности, простоте, компактности, скорости их ввода в компьютер и эффективности полученного в результате компьютерного кода. Приведена история возникновения и проверки новой концепции, описание ее сути, реализованной графической среды программирования и мнение некоторых экспертов и пользователей о преимуществах ее использования. Запропоновано просту, інтелектуальну і математично строгу концепцію програмування орієнтованими графами з тільки горизонтальних дуг, на яких зверху і знизу записуються тексти будь-якими мовами — російською, англійською, китайською, математичною та ін. Математична мова строго визначена як частина елементарної математики, яка задає вирази і формули для запису умов і дій на графічних дугах нової концепції і виконання їх на комп’ютері. Традиційні мови програмування не використовуються, але їх бібліотеки (інтелект) зберігаються з можливістю доступу до них з графічних програм з використанням відповідних функцій з параметрами або без. Будь-яка програма з цієї бібліотеки може бути автоматично переведена в єдину нову графічну оболонку. Такий граф є інтелектуальним поліглотом, він може бути 3D+, має стандарт ISO 8631/1989, і тільки один ефективно використовується протягом всього життєвого циклу процесу розроблення, виконання та експлуатації програм. У новій концепції використовується єдиний математичний (графічний) метод для запису алгоритмів, даних, програм і мережевих графіків їх розроблення, який має набагато кращі (до 100+ раз) характеристики з наочності, простоти, компактності, швидкості їх введення в комп’ютер і ефективності отриманого в результаті комп'ютерного коду. Наведено історію виникнення та перевірки нової концепції, опис її суті, реалізованої у графічному середовищі програмування і думки деяких експертів та користувачів про переваги її використання. The National Technical University of Ukraine "Igor Sikorsky Kyiv Polytechnic Institute" 2017-09-29 Article Article application/pdf https://journal.iasa.kpi.ua/article/view/117212 10.20535/SRIT.2308-8893.2017.3.09 System research and information technologies; No. 3 (2017); 88-106 Системные исследования и информационные технологии; № 3 (2017); 88-106 Системні дослідження та інформаційні технології; № 3 (2017); 88-106 2308-8893 1681-6048 ru https://journal.iasa.kpi.ua/article/view/117212/111299 Copyright (c) 2021 System research and information technologies |
| spellingShingle | Графічне програмування Графи навантажені по дугам Єдина логічна і абстрактна схема алгоритмів даних і програм Поліглот 3D і багатовимірне програмування Колір креслення і мережеві графіки в програмуванні Самодокументування та документування мотивації рішень що приймаються Velbitsky, I. V. Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування |
| title | Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування |
| title_alt | Smart visual 3D+ polyglot-concept of programming without programming languages Интеллектуальная визуальная 3D+ полиглот-концепция программирования без языков программирования |
| title_full | Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування |
| title_fullStr | Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування |
| title_full_unstemmed | Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування |
| title_short | Інтелектуальна візуальна 3D+ поліглот-концепція програмування без мов програмування |
| title_sort | інтелектуальна візуальна 3d+ поліглот-концепція програмування без мов програмування |
| topic | Графічне програмування Графи навантажені по дугам Єдина логічна і абстрактна схема алгоритмів даних і програм Поліглот 3D і багатовимірне програмування Колір креслення і мережеві графіки в програмуванні Самодокументування та документування мотивації рішень що приймаються |
| topic_facet | Graphical programming Graphs loaded through arcs Single logical and abstract algorithm data and program scheme Polyglot 3D and multi-dimensional programming Color drawing and network schedules in programming Self-documentation and documenting of decision motivation Графическое программирование Графы нагруженные по дугам Единая логическая и абстрактная схема алгоритмов данных и программ Полиглот 3D и многомерное программирование Цвет чертеж и сетевые графики в программировании Самодокументирование и документирование мотивации принимаемых решений Графічне програмування Графи навантажені по дугам Єдина логічна і абстрактна схема алгоритмів даних і програм Поліглот 3D і багатовимірне програмування Колір креслення і мережеві графіки в програмуванні Самодокументування та документування мотивації рішень що приймаються |
| url | https://journal.iasa.kpi.ua/article/view/117212 |
| work_keys_str_mv | AT velbitskyiv smartvisual3dpolyglotconceptofprogrammingwithoutprogramminglanguages AT velbitskyiv intellektualʹnaâvizualʹnaâ3dpoliglotkoncepciâprogrammirovaniâbezâzykovprogrammirovaniâ AT velbitskyiv íntelektualʹnavízualʹna3dpolíglotkoncepcíâprogramuvannâbezmovprogramuvannâ |