Review of programming languages: history of programming languages.
Information technologies occupy more and more significant role in human society. They got into all fields of activity. For service of public requirements for automation of work, data storage, communication, etc. programming languages develop. If earlier programming languages were used only for creation of programs for automation of computing processes, today they are used for the solution of more various tasks.
Studying of history of programming languages, their variety and features allows the programmer to make a right choice at a language choice for the solution of a certain task.
All variety of programming languages divides into various classes depending on tasks solved by them. It was noticed that in development the programming languages entering into one class, approach among themselves. Though a variety of classes increases, since the sphere of the tasks solved by means of computer technologies increases.
It is necessary to note also and development of programming languages towards the specification when certain languages are most suitable for the solution of a narrow class of tasks.
One more feature is leaving from obvious formalization. If the first languages differed strongly pronounced formality, with the advent of object-oriented and logic approaches the formality ceased to be so obvious (though it certainly is). It can lead to increase in semantic (semantic) mistakes when the program does not that the programmer planned. Let's add to it the fact of progressing of a robotics, it is a little imagination, and it is possible to represent already as the artificial intelligence leaves from under mankind control.
If to trace an evolutionary way of development of programming languages, it is possible to note analogy to development of the live world. When at first there were only simple organisms (and programming languages), and then appeared more difficult. And both there and there it is possible to mark the following:
Low-level languages and the elementary organisms didn't lose the value and till today. For example, bacteria are pioneers when mastering new habitats. And language the assembler is the irreplaceable tool in case of return of direct commands to the processor and support of high performance of computation.
Both the high-organized organisms, and languages of high and ultrahigh levels are very various and specific. For example, the mammals, thus each animal are very diversiform is rigidly adjusted for specific conditions of the environment. Languages of ultrahigh level are diversiform also, and each of them well solves only certain class of tasks.
In the live world one animal who learned to be rather independent of environmental conditions was selected only is a person. Therefore the question is logical: «Whether there will be programming languages which can optimum solve any problem, and at a bit different level, than languages existing today? ». Probably, the response on it a question lies within study of machine intelligence and so-called CASE systems. The robot, the production machine or a household appliance is controlled the person. Thus the person isn't necessary at the instrument and doesn't give it a command one for another, and definitely writes their sequence in memory of the machine. The sequence of commands defining activities of the computer in the given conditions represents the program. Compilation of similar programs is a programming – widespread today a human activity.
Fig 5.1 – Classification of languages
The program is a plan of activities of the performer (for example, the computer) according to the solution of a certain type of tasks. To make the plan, are important logical and other forms of thinking, knowledge of conditions of execution of the program and possibilities of the performer, preguessing of possible errors, and also ability to write the program on clear to the performer language – a specific programming language. It also is the main knowledge, skills of the programmer.
Actually computers (computers) can execute only the elementary commands, like addition of the whole values, changeover of zero by unit, unit relocation from one cell in another, etc. But these computers make operations with such speed which to us, people, and didn't dream and in it their principal advantage.
All programs, in fact, process data. Thus the concept of data can be treated very widely. However all of them for the modern computers are encoded by a certain set of zero and units. In the machine of the program work with such bit data, but the modern programmer cannot see such «meanness» and operate with customary concepts for the person: numbers, in the lines, objects, etc.
Often, exactly the programs set on the computer define its assignment. Designer features can leave on the second plan.
Machines from the point of view of their possibilities of data handling are universal (work with 0 and 1), and the person writes commands in a programming language which satisfies it to possibilities more. Therefore, there shall be the intermediate program for conversion of commands from a programming language on language of machines. And such programs exist in the form of so-called compilers and interpreters. They are very various, since there is a set of programming languages, each of which has the compiler or the interpreter. In other words computers are «told» almost always in one language, and by programmers – in different languages. The program made in algorithmic language, can't be directly executed by a computer.
Translators of programming languages happen two types: interpreters and compilers. The interpreter – is the program which provides serial «translation» of instructions of the program on a machine language with their simultaneous execution. Advantage of interpreters is convenience of debugging of the program (search of errors in it) since its «step by step» execution is possible, and a shortcoming – rather small speed of execution.
The compiler operates differently; it transfers all text of the program to a machine language and saves it in an executable file (normally with extension.åõå). Then this file already ready to execution written on a machine language, it is possible to launch on execution repeatedly. Advantage of compilers is the high speed of execution of the program, and a shortcoming – labor input of debugging since step by step execution of the program is impossible.
The modern programming systems and, including Visual Basic, allow to work as in an interpreter mode, and the compiler.
It is possible to explain variety of programming languages diversity of spheres of human activities, historical development of computer technologies and the competition of developers of programming systems, and also some other factors.
Now programming became a widespread human activity.
Short history of programming languages
The real programming in the modern understanding began with the moment of creation of the first electronic computer.
The first computers allowed executing programs on a machine language which is the single language, to clear computers. It is implemented is hardware: each command is executed by some electronic device.
Machine instructions are written in the binary code. The logician of operation of similar programs is very difficult for understanding because of that, the program represents a continuous set of zero and units. For example, any groups designated numbers, others – operations over them.
To read and understand, as the program written in binary codes works, it was very difficult, finding and correcting in it a mistake.
Therefore for simplification of the operation programmers invented mnemocodes (from Greek mnemon – to remember) – letter symbols of machine binary instructions which it is simpler to remember, than sequences of zero and units.
For operation simplification with storage cells began to use concept of a variable.
Variable – in programming this letter symbol of area of memory in which some value is stored.
For transfer of mnemocodes to machine instructions and names of variables in cell addresses of memory the special program – the translator was used.
Languages of mnemocodes received the name of assemblers.
Gradually programmers came to a conclusion that all computation is reduced to such elementary actions, as data entry, data output, execution of different operations over data, a choice of a branch of execution of the program on the basis of the accepted decision, repetition of group of operations.
There were the languages based on these basic operations which began to call structural or languages of the high level.
The modern programming
Now exist a set of programming languages: as enough the universal and very specific. Many programmers tried and try to invent the language possessing these or those advantages. It is possible to separate only conditional languages by certain criteria. For example, as solved tasks (language of system or application-oriented assignment), on a level of orientation to the solution of a narrow circle of tasks (problem-oriented or the universal).