You get a bonus - 1 coin for daily activity. Now you have 1 coin

Programming languages

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.

  • Language has characteristics.
  • Language contains abstractions.
  • The language supports programming methodology.
  • The language belongs to the family of languages.
  • A language may be specialized for a particular subject area.

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.

1.1. Interpreters

See also

created: 2014-09-30
updated: 2024-11-13
197



Rating 9 of 10. count vote: 2
Are you satisfied?:



Comments


To leave a comment
If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Programming Languages and Methods / Translation Theory

Terms: Programming Languages and Methods / Translation Theory