Fund Glushkov

 

 

 

For the first time since 1947 it is proposed to use a simpler and mathematically more rigorous concept of programming with the graphs loaded only through horizontal arcs. Such graph is a polyglot, it has the international certificate ISO 8631:1989, and can be used along the entire lifecycle of programming process and working on a computer. The new concept has HUNDREDS(!) times better characteristics with regard to the compactness of program recording, memory use, speed of entering into the computer, and speed of execution. For two small programs of 24 (452) lines in C++ cited in this article the equivalent graphical program occupies 4 (10) lines. The graphical program makes unnecessary more than half of the characters =142-63%(4364-73%) in the C++ program, which are keywords, parentheses, characters, (line feed, indents), etc. Entering of one statement in C++ takes an average of 20 (29) keyboard clicks, and of a graphical statement (arc) – 0.8 (0.21), which is 25 (138) times less (faster), etc. Processes of designing the algorithms and software, processes of programming, evidence of correctness and self-documenting of software projects are significantly simplified, improved and accelerated. Professional designing and programming processes are simplified, improved and accelerated considerably. The larger and the more logically complex is the program project, the greater is the effect of applying the new polyglot- concept. The new concept is so simple that it makes it possible to program for ANYONE, not just for programmers. This article describes the history of development and proving of the new polyglot- concept of programming, its description, advantages, implemented graphical programming environment, and perspectives for its aplication.   Development of programming in graphs started in the 70s’ with the development of control systems for the space rocket complexes of the former Soviet Union [1] and comprehension of importance of formal documentation of their development process in order to facilitate quick entry of ongoing corrections and improvements on one hand and with the works of Dijkstra [2], who was the first one to demonstrate mathematical non-rigorousness and redundancy of the conventional programming concept. As a result, the first steps were taken towards using the so-called rational graphical R-schemes [1,3]. At present, following the new concept, ALL the conventional machine-oriented statements (such as if, else, for, while, goto, tags and brackets like begin-end, {-}, etc.) are excluded from programming. They became outdated. There are too many of them for a man, they are complicated, empirical, have low capacity, and provide a primitive handicraft technology of programming. People put many efforts to neutralize such drawbacks by means of creating many languages, methods and programming environments that “supposedly make things easier,” but in fact, they alienate specialists and make the programming extremely complex, non-evolutional and inaccessible for everyone.
The only one, mathematically rigorous graphical and human-oriented entity – an R-scheme is offered to replace all those things, [3-8]. In average, less than one (up to e=0.01, 100 times less) click of the mouse and/or keyboard button is required to enter that entity into the machine. Up to 70% of superfluous symbols: keywords, punctuation marks, typographic symbols, etc. become redundant in a conventional program. The ISO Standard for R-schemes was received in 1989 [5]. A graphical program in R-schemes is over 100 times more compact and incomparably better visualized by the side of the conventionally recorded programs. In the new concept the graphical description of the project drawing coincides with the program writing and network graph of its development. Neither industry had it until now – the drawing of a vehicle differs from the vehicle itself and network graph of its development. Consequently, the programming process is significantly simplified, accelerated and improved, it acquires the proof of correctness, self-documentation, mathematical support and automatic program generation and optimization. Continuity of the best practices in programming (OOP, AOP, WEB, CLOUD etc.) is ensured and, above all, of the program libraries. New horizons of industrial development of large programs are opened. For the first time the programming receives a rigorous mathematical basis (culture) and becomes available to anyone, not only to programmers.