Lecture
The imperative (procedural) part of the DRAGON language is based on a new programming paradigm — a two-dimensional (graphical) structured programming .
The first step towards two-dimensional structured programming was made in the USSR within the framework of the R-technology of program production, or "two-dimensional programming technology" [98] , created at the Glushkov Institute of Cybernetics in the 1970s [99] . The graphic system of the R-technology of programming is fixed in the standards of GOST 19.005-85 [7] , GOST R ISO / IEC 8631-94 [100] and the international standard ISO 8631N.
The author of the R-technology of programming, Doctor of Physics and Mathematics, Professor Igor Velbitsky proposed to revise the concept of “program structure”. In his opinion, “structure is a multidimensional concept. Therefore, the mapping of this concept with the help of linear texts (a sequence of operators) virtually nullifies the advantages of the structural approach. The enormous associative capabilities of the visual apparatus and the apparatus of human thinking are used almost idly for recognition of structural images in the form of a uniform sequence of symbols ” .
The rules of two-dimensional structured programming differ significantly from the classical one-dimensional (textual) structured programming .
The ideas of classical structured programming were developed when computer graphics did not actually exist yet and the main tool of the algorithmist and programmer was a one-dimensional (linear or stepwise) text. Before the advent of computer graphics, the methodology of classical structured programming was the best solution.
With the advent of computer graphics, the situation has changed. Using expressive means of graphics, it became possible to modify, develop and supplement the three basic (text) control structures (sequence, branch, loop), and also to completely abandon the keywords if, then, else, case, switch, break, while, do, repeat, until, for, foreach, continue, loop, exit, when, last, etc., and replace them with control graphics, that is, use two-dimensional structured programming [96] [102] .
The weak point of classical structured programming and the textual representation of algorithms and programs is the lack of means of expression. The consequences are restrictions and prohibitions. These restrictions and prohibitions arise from the nature of the text, from the nature of the textual representation of the governing structures. The lack of means of expression, which is manifested through restrictions and prohibitions, inhibits the increase in the productivity of work of algorithms and programmers. In the framework of the textual representation of the governing structures, it is impossible to eliminate these restrictions and prohibitions .
According to the developers of the DRAGON language, in order to achieve an improvement, it is necessary to move from one-dimensional (classical) structured programming to two-dimensional (graphical) structured programming. Many restrictions and prohibitions, inevitable with textual structural programming, in many cases contradict common sense, make it difficult to understand algorithms and programs, and distort the normal course of human thought. It is unacceptable to prohibit the correct process of thinking. It must be resolved. The skewer method and the language DRAGON eliminate this drawback [K 11] .
When using the skewer method, a set of control keywords (identifiers) of text structured programming becomes unnecessary. With a visual structural approach, the programmer works only with the program drawing (dragon-diagram), without referring to its textual representation. In the same way, a programmer who works, for example, on Delphi, does not refer to assembler and machine code — they simply do not exist for him. In many cases (the list of which is still to be clarified) it is desirable to abandon text control structures, replacing them with control graphics
The creators of DRAGON say that this is not just a new language (a new family of languages), but a new look at imperative (procedural) programming and a new world view [K 13] . The greatest difficulty for a long time was represented by mathematics and ergonomics of flowcharts. It was necessary to create a mathematically rigorous method of formalizing flowcharts, which allows you to turn flowcharts into a program suitable for entering into a computer and translating into an object modular program. When creating the DRAKON language, this task was solved using visual logical calculus (calculus of icons) , which underlies the graphic syntax of the DRACON language ; Ashcroft-Manna method [108] , which is a mathematical rationale for the silhouette dragon scheme; two-dimensional structured programming . At the same time, the problem of ergonomization of flowcharts was solved, that is, the task of adjusting flowcharts for the most convenient human perception and understanding
Comments
To leave a comment
Algorithmization and programming. Structural programming. C language
Terms: Algorithmization and programming. Structural programming. C language