Lecture
We will consider the languages involved in the creation of programs that support the main technological processes. For the two main language groups - modeling languages and high-level programming languages, the following features can be distinguished, which will also be discussed in this chapter.
We conclude the topic with a brief discussion of formal and natural languages.
The progress of computer technologies has determined the process of the emergence of new diverse sign systems for writing algorithms — programming languages . The meaning of the emergence of such a language - equipped with a set of computational formulas for additional information, turns this set into an algorithm.
A programming language serves two related purposes: it gives the programmer an apparatus for specifying the actions to be performed, and forms the concepts that the programmer uses when thinking about what to do. The first goal is ideally answered by a language that is so “close to the machine” that it is easy and simple to operate with all the main machine aspects in a way that is quite obvious to the programmer. The second goal ideally responds to a language that is so “close to the problem being solved,” so that the concepts of its solution can be expressed directly and briefly.
The connection between the language in which we think / program and the tasks and solutions that we can imagine in our imagination is very close. For this reason, it is dangerous at best to limit the properties of a language only to the purpose of eliminating programmer errors. As is the case with natural languages, there is a huge benefit of being at least bilingual. The language provides the programmer with a set of conceptual tools; if they do not meet the task, they are simply ignored. For example, the severe limitations of the pointer concept force the programmer to use vectors and whole arithmetic to implement structures, pointers, etc. Good design and error free cannot be guaranteed purely by language means.
It may seem surprising, but a specific computer is able to work with programs written in its native computer language. There are almost as many different machine languages as computers, but all of them are varieties of the same idea; simple operations are performed at the speed of lightning on binary numbers.
IBM personal computers use the machine language of the 8086 microprocessor family, since their hardware is based on these microprocessors.
You can write programs directly in machine language, although it is difficult. At the dawn of computerization (in the early 1950s), machine language was the only language that had not been invented by more people by that time. To save programmers from the harsh machine programming language, high-level languages (ie, non-machine languages) were created, which became a kind of connecting bridge between man and machine computer language. High-level languages work through translation programs that enter "source code" (a hybrid of English words and mathematical expressions that a machine reads), and ultimately causes the computer to execute the corresponding commands that are given in machine language. There are two main types of translators: interpreters, which scan and check the source code in one step, and compilers, which scan the source code to produce the text of the program in machine language, which is then executed separately.
Comments
To leave a comment
Programming Languages and Methods / Translation Theory
Terms: Programming Languages and Methods / Translation Theory