Extensible Programs
It is seldom that the developer of a large program should write anything from the very outset, much more often he improves what has already been written and debugged. Implanting new useful feature to the program the developer must take care not to lose what is achieved. It is most delicate work, for the development usually involves editing the existing source code, and editing is fraught with dangerous errors. Editing could be avoided by means of partial duplication of the program text, but duplicating is a destructive factor in future program evolution. Fortunately, there exist program constructions providing the non-intrusive development, which is the program evolution dispensing with both editing and duplicating the previously debugged source code.
Needless to say, application of the program constructions providing the non-intrusive evolution cannot completely exclude any editing of existing source text. From time to time some revolutionary transformations of the program must be required, which by their very nature are to violate any a priory limitations. Still the largest part of the changes could and should be made in a non-intrusive way, which would bring the program development process to a new level of reliability. Besides, these constructions make the important structural features of a program be highlighted and so they improve program readability and manoeuvrability.
The basis for the non-intrusive evolution is two statements. (1) Each point of growth, i.e. hot spot of a program can be represented as an extensible set of homogeneous modules. (2) Each evolutionary program alteration can be represented in the form of a set of modules intended for non-intrusive addition to one or several points of growth. In other words, the main principle of non-intrusive program evolution says:
Looking for homogeneity gives birth to extensibility
Alive publication
An alive publication is a new genre for presenting the results of scientific research, where the scientific work is published online, and then is constantly being developed and improved by its author. Serious errors and typos are no longer fatal, nor do they haunt the author for the rest of his or her life. The reader of an alive publication knows that the author is constantly monitoring changes occurring in this branch of science. Alive publication faces the inertia of scientific publishing traditions and, in particular, traditional bibliometrics. Unfortunately, at present, the author who supports an alive publication is dramatically losing out on many generally accepted bibliometric indicators. The alive publication encourages the development of the bibliography apparatus. Each bibliographic reference will soon have to contain on-the-fly attributes such as attendance, number of external links, date of the last revision, etc. In the opinion of the writer of these lines, as the alive publication spreads over to the scientific world, the author’s concern for the publication’s evolution will become like a parent’s care for the development of a child. The Internet will be filled with scientific publications that do not lose their relevance with time.
Gorbunov-Posadov M.M. Alive publication // Publications, 2023, volume 11, issue 2, article 24. https://doi.org/10.3390/publications11020024
This article is also published in arxiv.org.
Gorbunov-Posadov M.M. Alive publication // arXiv, 2021, 26 p. https://arxiv.org/abs/2103.10761 — Last updated
But it is best to read this alive article in the institutional archive where software support works.
Gorbunov-Posadov M.M. Alive publication // Keldysh Institute's alive publications, 2021 https://keldysh.ru/gorbunov/alive/ — Last updated
Pages on other websites
Google Profile
Google Scholar Citations
Math-Net
|