There are languages that have a low level and languages that have a high level.

The first group includes assembly languages, where command symbols are used in the form of symbols that are quickly and easily remembered. Symbolic notations are written instead of a sequence of lifetime type commands, and instead of binary data addresses that are used when executing a command, the names of these data in the form of symbols are taken by programmers. Such programming language has another name – auto code or mnemonic.

Typical for utopia is the desire for an understandable idiom for every person. Philosophical, universal, auxiliary languages. The idea of a universal and perfect language has been used since antiquity, but the first thinker to actually develop a language capable of direct communication with concepts and understandable beyond the linguistic differences between men was Francis Bacon. Bacon sought “true characters”: universal elements distinct from “vocal characters” for their direct reference to precise and unambiguously defined concepts.

The expansion of anthropological knowledge through exploration and the relative collapse of Latin as the transport language of cultural Europe stimulated then the “search for the perfect language”, to which Eco devoted a historical overview, and which touched the reflections of authors such as Comenius, René Descartes, John Wilkins and Gottfried Wilhelm Leibniz.

But, programming languages that have a high level are most often used for programs by those who create them. Such a language, in principle, just like human language, has its own alphabet, namely, a large number of symbols that are used in languages. These symbols are necessary to compose the key words of the language. Each keyword has its own function, just as in the language of words, which are composed of alphabetic letters. Keywords are connected to each other in sentences using the syntactic rules of the language. Each of all sentences is responsible for the sequence of actions that will be performed by the PC.

Two fundamental needs emerge in the alternative to this long-term research: a universal understanding of language and its ability to describe and even define the world. Such a language was to become a computational tool, more than an expression, and was clearly characterized as an a priori language, completely independent of any natural language. Its development was often inspired by the Lullian combination of syntax and analysis of hieroglyphs and ideograms for notation. On these principles, research continued throughout the eighteenth century, with numerous projects of passage, passion and printing.

The programming language, which has a high level, is the link between the PC and the user, offering him to communicate with the PC in a way that is most convenient for the person. Quite often this language helps to choose the right method of solving tasks.

Before starting to write software in a programming language that has a high level, a specialist draws up an algorithm for solving problems, namely, he is engaged in drawing up a step-by-step plan of action that must be performed to solve this problem. Therefore, programming languages that require a preliminary algorithm are called algorithmic languages.

In the nineteenth century, the search for the ideal language under the signs of a universal grammar, promoted by the Port Royal community, was renewed. The aspiration was no longer aimed at a “perfect language” that functions as it is structured in the image of the world and is consistent with the rules of thought, but at a “less imperfect” language of any natural language useful to allow men to understand through the synthesis of elements already common to most languages.

The first attempt, with some success, was Johann Martin Schleier’s Volapük, which actually consisted of a mixed system: a posteriori, since it is based on the existing language, especially with regard to radicals; a priori, since it is developed on the traditional system of endings and inferences.