Computers and programming - a new quality in solving problems. But maybe the Moore and Mile assault rifles fell out of place. Perhaps the Backus-Naur form should not have been used. Perhaps something was done wrong in general, but the choice between analog and digital technology was determined in favor of the latter.
If a person were guided by a multifaceted analog signal, and not by a binary number system and a cyclic processor, which manipulates with only two digits, today achievements in information technologies would be much more modest.
The public consciousness of the mid-80s of the last century made the right choice: simplicity is the key to success. And it was not a mistake.
Traditions of the last century
Competent sources, reputable experts and numerous educational sites claim that there are six or seven steps to solving a problem on a computer. Just like in a fairy tale:
- Formulation of the problem.
- Building a model.
- Algorithm development.
- Drawing up a program.
- Debugging and testing the program on the computer.
- Analysis of the results and refinement of the model.
- Optional (not everyone thinks so), adjustment.
Everything is simple and clear. To this day, computer science is taught in every school, every college, every higher education institution and in numerous educational centers.
At the end of the last century, the ideas of “software-building” enterprises and large computers (EC computers / IBM) went into the world. Computer business has gained its true face. Computer architectures were finally defined, syntactic constructions of programming languages took shape, the “war” between C / C ++ and Pascal ended.
Functional languages hid in their narrow niches, classical programming became known as object-oriented, and the language Prologue and its analogues convinced the public that man was still far from artificial intelligence.
The logic of the century
Modern programming is a complex task, numerous development teams, huge amounts of information and high responsibility. In the field of information technology, many professions have formed. It works with a computer:
- Everyman (a person without qualifications and orientation in computer business);
- a housewife;
- director of a large corporation;
- accountant of a private enterprise;
- utility engineer;
- long-range bomber pilot;
- Chef of a local restaurant.
And many other people who do not even imagine that when solving real problems they go through at least six stages. Computers not only entered everyday life and became familiar. They became the heart of a coffee maker, a car of any class, a smartphone.
There are real-life ideas for smart homes and remote management of a large corporation, in which the sequence for solving any problem is planned and controlled by the program.
It follows from what has been said that the stages of solving problems using a computer are not a fundamental position of computer science or modern information technologies, but a natural state of things.
Long before the appearance of a computer, a person first thought something, then he modeled, planned, implemented, tested and analyzed. All this man has always done on the machine and repeatedly repeated in order to achieve the desired result or to make sure that there can be no result.
Features of the process of solving problems
The stages and sequence of achieving the goal is the key to success. The objectivity of each element of the process is the main requirement. You can relate to real circumstances as you like, but they are.
The fact that numerous sources highlight exactly six points in solving any problem does not speak about the objectivity of this, but states: public consciousness clearly identifies six stages in solving any problem. In this case, a computer will be used or not, it does not matter. A program is not a computer prerogative. This is a feature of human behavior. Programs were back in the days of the pharaohs, if not earlier.
In diplomacy, the program looks like a regulation, etiquette, rule, custom, and this program of action is not necessarily expressed in writing. The logic of the diplomat is the result of the development of generations.
The production programs were even before the conveyor and continuous production of Henry Ford. In mining, without a strict regulation of actions, you can bring down a mountain, upset the balance of natural forces, and flood the territory. In school education, the education program is created by the experience and knowledge of many specialists, and changes with great difficulty.
The main feature of any stage of solving any problem is objectivity. The most important requirement is reliable and complete information. Essential details: accuracy, attentiveness, punctuality.
Conditions for achieving the result
When a computer takes part in solving a problem, the stages of solving problems change their content. The requirement for proper qualifications is never discussed. When a person undertakes a solution to a problem, but has no idea how to use a computer, there will be no result.
Formulation of the problem. It requires knowledge not only of a text editor, but also the ability to draw graphics, perform numerical calculations.
Building a model. One cannot do without analysis of simulation programs. It is required to collect reliable information about what modeling programs exist in the field of the problem being solved, and to learn how to use them.
Algorithm development. If you are not a programmer yourself, then you need to be able to do the statement of the problem to the programmer. You can learn a programming language yourself in 3-4 months, and in order to have a good command of a programming language, you need at least a year of real work.
The remaining points are practice, analysis, practice, analysis, and so on in the cycle until you fully understand exactly how you need to complete the problem statement in order to solve it correctly.
All six points that the public consciousness has recognized are essential at the current level of knowledge, therefore, they require close attention and serious attitude.
Thinking and human psychology
Problems have to be solved constantly. In the modern world, you can’t do without a computer. There is no time to plan the stages of solving problems using a computer. Decisions are required instantly, accurate and reasonable.
The subconscious mind determines the work of consciousness, but how this happens, consciousness to this day does not guess. The only thing that can be unambiguously sure: the main stages of solving problems using a computer or without it lie in the subconscious. Conscious thinking simply follows the usual logic of a person who takes into account his own experience and the likely reaction of the surrounding society.
At school, the student marks the stages of solving problems on a computer as a teacher wants, knowledge of which (in the opinion of this student) is morally obsolete in the last century.
A modern student can easily make a website or hosting. At the same time, it would not occur to him to design a sequence of stages for solving problems on a computer, while there are at least several tens of tasks in developing a site, and when solving a task, he will have to unconsciously plan actions for several months, or even years ahead.
A modern student determines the stages of solving problems on a computer, as required by the training program, and seriously discusses with the teacher all six stages of solving each of them, but here everything happens in a spiral. The statement of the problem and the desired result are one, if the latter should be achieved, then the former should be clarified in the process of solving the problem.
There is no one with whom the modern computer specialist can discuss the steps of solving problems on a computer. The director or manager simply does not understand him and may refuse to pay. Here you need to solve problems, and not think about how to plan something.
In fact, in modern computer science, a long tradition of human psychology is repeated. Consciousness does its job, but in a specific situation it plays by the rules of the society in which it is located.
Computer science and computer science
Information technology has indeed reached heights, but it is a stone age. Lumps of knowledge and skills barely fit into the existing syntactic constructions of programming languages. Being imprisoned in them, remain without movement.
It is doubtful that the Ministry of Education will bury computer science as a subject. There is no doubt that computer science is already a science. The field of information technology is a seething ocean of knowledge, professions, money, ambitions, ideas, and there is no such scientist or team of scientists who would give him a clear definition.
In each case, a qualified specialist perceives programming as a stage of solving a problem on a computer, but before this stage begins, his consciousness adapts to what exactly defines the word programming and the word computer.
Today, programming is a distributed processing of information, it is several hypertext languages, browser language, server language and a lot of conventions on hosting. Today, a computer is a personal laptop or smartphone, a hundred computers on a local network, a couple of hundreds of DNS servers and several million computers of potential clients.
However, programming may be different. To this day, Pascal, C and FoxPro are alive. The last relic sets the mind of a qualified programmer on a psychological breakdown: in a world where planes are already flying, ships are sailing, and satellites are flying, he has to solve tasks at Visual FoxPro in accounting, which categorically does not want to switch to Bitrix or a similar modern product.
The main stages of solving problems on a computer determines a specific workplace, a specific workforce and management knowledge of what to do. This is not an objective, but an actual state of affairs.
Stone Age of Information Technology
The opinion of computer science that the educational program of the prestigious university, which the Ministry of Education so pointed out, adheres to, recognizes the stages of solving problems on a computer as objective and justified six positions. But this does not change anything fundamentally.
The solution to any problem is the process of applying knowledge and skills. A process is always a phasing process, which is repeated until an understanding is reached on how to correctly pose the problem. The result is secondary. The main thing is to determine the problem before solving it.
The use of programming and a computer is the application of formalization to information that modern man cannot formalize. Result: knowledge and skills are placed in reinforced concrete syntactic constructions of programming languages and frozen in them. A man goes further, but the program is not the result of his actions.
Programming is a mirror of intelligence, but the ability to properly use a computer and write a good program is worth a lot.
Information Technology Perspectives
"Lumps" of knowledge and skills, frozen in programs - this is not so bad. If everyone does this, and there is no alternative, then this must be done. In the last century, not only C / C ++, Pascal and BASIC became famous. Scientific and technological progress, banking, economics, enterprise and state management are obliged to Fortran, Kabol, PL / 1, small and large electronic computers.
Then there were no modern computer achievements, but numerous knowledge and skills, being enclosed in the strict framework of syntax and formalities, largely became the basis of modern information technologies.
It is time to set a task, to determine what will happen next. It can be assumed that the next sixth stage is completed. It's time to go back to the beginning. It is necessary to make a statement of the problem. It is reasonable and demanding to approach this "new" task.