Setting up hardware and software

Programming language. Computer programming languages: types, description, application and reviews A language understandable to a computer

More recently, during Soviet Union, computer science was considered a pseudoscience. Today, governments of certain countries are complaining about attacks coming from Russian hackers. It is worth noting that in currently Russia produces few high-tech devices, but there are plenty of smart programmers. This article will discuss computer languages, their classification, essence, capabilities and prospects for future use.

What are computer languages?

In fact, it is a system of signs and symbols created for communication between a person and a computer. It is impossible to simply go up to the device and start explaining something to it. For this purpose, special code words and vocabulary have been created, which form the basis of computer languages. They reach the device in a form that it understands. Today you can find more than 8 thousand different languages ​​designed for communication between humans and computers. True, it is impossible to know them all. Some create the language for themselves, others do it on a commercial basis. However advanced user knows several basic ones perfectly.

What are the most famous programming languages?

In the world computer technology Something is always developing and improving. Thus, new developments appear, and past ones are modernized. Computer programming languages ​​are no exception. The following ones have achieved the greatest popularity:

C/C++;
Java;
Python;
Visual Basic;
PHP.

This is not an exhaustive list; in fact, there are many more. Here are the most basic ones, which are used to write more than 90% of computer applications. It is worth considering them in more detail.

Procedural C/C++

Users call the languages ​​C and C++ two brothers. There is a version that these are two different programming languages, but this is not true. C++ acts as some improvement on the previous language, which makes it easier to write programs and maintains the same syntax. Development of C began in the seventies of the last century. About ten years later, the creation of C++ began. At the moment, the latter is one of the most famous. It contains many functions, allows you to create an operating system, as well as drivers for devices, games, and more.

If we talk about the advantages and disadvantages of this language, it is difficult to draw clear conclusions. There are its adherents, as well as merciless critics. The main point of controversy is that it lacks something of its own. It combines the functions and capabilities of several programming languages. Thus, a comprehensive tool was obtained. If we start to look at it by individual functions, it is inferior to languages ​​of narrow specializations.

Independent and secure Java

The English language programming was developed by Sun Microsystems. Due to the fact that the written program can be translated into a special bytecode, it can function regardless of the type of operating system or computer architecture. Thereby Java language became the most famous. It is found in the following devices:

Household appliances;
ATMs;
city ​​vending machines, as well as in everything that has a connection with computer technology.

Java is used to write many famous applications for smartphones as well as phones. Besides, given language programming has a fairly high level of security. The use of actions by the program within the boundaries of its own powers is controlled using virtual machine, which transmits commands to devices.

Thus, when attempting to perform another task, the program immediately stops working. When considering the simplicity of the language, it is necessary to point out studies showing that the same operations take 1.2-2 times longer to write than in C++. In addition, much more resources are needed to implement commands. However, the development team regularly releases many updates that minimize all the disadvantages of this programming language.

If you create your own website or are able to do dynamic pages. It acts as one of the most famous languages ​​when it comes to creating websites and writing web applications. Due to the fact that this programming language was developed with open source, it was possible to bring it to perfection. Thus, he gained enviable popularity. PHP easily interacts with various databases, from MySQL to Access. The most famous Internet sites, such as Facebook or Wikipedia, were created using this particular language. It is quite easy to use. There are even statistics, the results of which show that more than 60% of programmers from all over the world working on PHP code have somewhat limited knowledge of the English language. Computer literacy in this case is limited only by knowledge of the required functions and procedures.

It is also worth pointing out the shortcomings of this language. Considering that it took 6th place in the rankings of the most popular languages ​​in 2015, negative reviews are still present. It should be noted that it was not created by one group of programmers. Therefore, the syntax of the language is not unified; it lacks a unified architecture. There are various procedures that need to be described in a special way, without sticking to a standard template. In addition, there is one very significant problem, which is the lack of compatibility between different versions languages. Versions dating back to earlier refuse to work with updates at all. This is often a problem for porting code from one version to another.

Modern knowledge and understanding of programming languages

Recently, human-computer communication has been gaining popularity. This is not surprising, since information Technology are developing at a rapid pace. A qualified specialist must program the code and service the devices. Thus, there is always a demand for competent programmers. Another reason for its popularity is the downturn in the country’s economy. A user who knows how to work with Java at a professional level is able to work remotely for a foreign company that creates applications.

As a result, he will be able to earn a large amount per month, which he would never be paid in his own country if he were engaged in a similar type of activity. Although, if you think about it, it’s quite difficult to start successfully programming, as well as write computer programs. English The main barrier for beginners is the English language. As you know, many programs and languages ​​are written taking into account its vocabulary.

Learn languages ​​online Thus, it is necessary to study foreign language and know it at least at a basic level. Today this can be done online. To do this, it is enough to have a computer connected to the Internet.

Computers have been around for a long time. The first of them were tube-based and took up a lot of space. In order to operate such a machine, a lot of maintenance personnel were required. Over time, tubes were replaced by electronic components, and computers became much smaller. Now system units computers take up very little space, and their performance has become significantly higher.

However, the basic principles of computer operation, laid down at the time of their birth, are still in effect. Data is transmitted using a signal using a "signal present or not" method. This is how the "beat" appeared. A bit is a unit of information that can take the value 0 or 1. Eight bits are combined into a byte, one byte is equal to 8 bits. The number 8 appeared due to the fact that the first computers were eight-bit and could only work with 8 bits at a time, for example, 01011001. The first zeros can be removed.

You can write any number from 0 to 255 in one byte. The specified range of numbers is very small, so larger ranges are often used: two bytes = word, two words = double word.

The computer began to work in the binary number system. Any decimal number can be written as binary. We won’t consider the detailed transformation, but if anyone is interested, write in the comments and I’ll tell you.

In a computer, it is customary to carry out calculations in binary or hexadecimal systems. The second came into use when computers became 16-bit. When writing programs in Delphi We will use the usual decimal system, because the compiler itself will convert all the numbers into the form required by the processor, but it is very important to understand what numbers the processor works with.

The hexadecimal system looks different. Each digit contains sixteen states. Therefore, one digit can take the following values: 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. The letter "A" corresponds to the number 10 in the decimal system, "B" to 11, etc.

For example, the number 1 B in hexadecimal is equal to 27 in decimal.

Throughout the materials we will occasionally encounter the hexadecimal number system. In this case, to distinguish a hexadecimal number from a decimal number, it will be preceded by a # sign, for example, #25, as is customary in Delphi.

The work with floating point numbers is completely different; we will not consider this.

Now let's look at negative numbers. If it is foreseen in advance that a number can be negative, then its length is reduced by one bit, which is allocated to the sign of the number. If the first bit is 1, then the number is negative, otherwise it is positive.

In fractional numbers, one byte can be allocated for the integer part and one for the fractional part. Due to this fractional numbers will always take up more memory, and operations with them will take longer.

1.2. Machine language

All data on the disk, including text files, are stored in binary. Any program looks exactly the same, only it is called machine code. Let's take a closer look at it.

Any program is a sequence of commands called processor instructions. When a program starts, the computer loads its machine code into RAM and begins executing command after command. The programmer's job is to write these instructions so that the computer understands what they want from it.

The actual program that a computer executes is a sequence of ones and zeros. This sequence is called machine language.

For example, addition command two registers in hexadecimal system looks like this: $03С3. This doesn't say much, and it's very difficult to remember such a command. It is much easier to write “add the number 1 and the number 2.”

At first, programmers wrote programs in machine code, then the first compiler appeared - a program that translated the text of programs into machine code. Thus, users began to write programs more meaningfully, and the computer itself began to do all the routine work of translating program text into machine bytecode.

1.3. History of programming languages

The language in which a program is written is called a programming language.

The first compiler wasAssembler (translated as “collector”). Writing in it is almost as difficult as in machine codes, but now not numbers were used, but numbers understandable to humanswords.

The text in the figure can be divided into three columns:

· instruction address;

· machine code instructions;

· Assembly language code.

For example, the register copy command looked like this:moveah,ebx. In this case movis a programming language command eah Andebx- register names.

In Assembly language it was easier to write a program, but a program written in machine code worked faster and more flexibly. When writing a program in machine code, the programmer is not limited by anything, but when working with assembler there are restrictions. It is not always possible to influence the result.

After the creation of assembler, programming languages ​​began to appear one after another. This is how S appeared,ADA, FoxPro, Fortran, Basic, Pascaletc. Some of them were intended only for training, others were aimed at professional programmers.

Assembly language currently mostlyused only as inserts for high-level languages, and machine codes are used to write what the compiler cannot do.

Then object-oriented programming developed. The C language turned into C++, Pascal in ObjectPascal etc.

The last major revolution taking place in programming is the transition to visual programming. This transition is currently happening. Visuality provides even more convenient development tools for quickly writing code, but is inferior to OOP in terms of speed. Some of the commonly used languages ​​that support visual programming are Delphi and C #, although progress does not stand still and visual components appear for many other languages.

Choose best language impossible. Each of them is suitable for a certain range of tasks, and the programmer must choose the most convenient language for himself.

1.4. Execution of machine commands

In addition to bytes, there are other dimensions:

· 1 kilobyte = 1024 bytes;

· 1 megabyte = 1024 kilobytes;

· 1 gigabyte = 1024 megabytes.

· 1 terabyte = 1024 gigabytes.

· etc.

In a computer, most values ​​are powers of 2 because the computer operates binary system, and thus you can make the most of its capabilities. It is because of this that 1024 (2 to the power of 10) is used when calculating dimensions.

Let's look at some concepts.

Segment- this is the area internal memory computer.

When operating systems were 16-bit, the processor could not handle memory larger than 64 kilobytes because it maximum size an area of ​​memory that can be addressed using a two-byte address. Therefore, the memory was divided into segments according to size and purpose. Currently using a 32-bit OS that can address up to 4 GB random access memory and 64-bit OS. Therefore, we can say that the memory has become continuous. However, its division according to purpose still remains.

There are the following segment memory s:

· code segment- a memory area into which machine code is loaded, which will then be executed by the processor;

· data segment- memory area for data storage;

· stack segment- a memory area for storing temporary data and return addresses from procedures.

Each running program has its own segment of code, data and stack. Therefore, data from one program cannot interfere with data or code from another program.

Register- a memory cell in the processor. Its size depends on the bit depth. In 32-bit processors, the cells are 32-bit, but there are also 64-bit ones. The processor has several such registers, and each of them is intended for specific purposes. There are also general registers that a program can use at its discretion.

Instructions

First, choose the programming language you will learn. Approach this very responsibly, based on the tasks that you are going to solve in the future. For example, if you want to master a language and learn to write as quickly as possible simple applications, That best choice will be Delphi language. It is very common, and there is a convenient Borland Delphi programming environment for it. The commands of this language are simple and intuitive.

You can write a variety of programs in Delphi, but most serious software products written in other languages ​​- in particular, C++. It is worth noting that this language is very popular among hackers, since it can be used to create very small programs several kilobytes in size. The C++ language is universal; you can write almost any application in it. There are two main development environments for working with it: Borland C++ Builder and Microsoft Visual Studio. The latter environment allows you to work with the languages ​​C, C#, VB.

The programming language has been selected. Now download one of the above software environments for it. This special programs, in which you will create the code for your applications. It should be noted that Borland products are much easier to learn than Microsoft's Visual Studio. At the same time, Visual Studio is more universal program, allowing programming in different languages.

Regardless of which programming environment you choose, the further steps of learning the language are the same. First of all, you will need various reference books and books on the chosen one, describing its syntax and programming rules. But you shouldn’t immediately delve into the study of literature; mastering a language is much easier with specific examples.

Find it online step-by-step descriptions creating simple programs in the language of your choice. It can be text editors, media players, etc. By repeating the process of creating a program step by step, you will become familiar with both the capabilities of the software environment and the rules for writing and compiling programs.

Be sure to train yourself to the right style programming. When creating a program, first carefully work out its workings on a piece of paper. The more accurate the algorithm, the easier it will be for you to translate it into code. While writing code, do not be lazy to insert comments; without them, in a couple of months you will hardly be able to understand the source code of your own application. What seems simple and clear now will become completely incomprehensible over time. Comments will help you quickly understand your program code.

One of the mistakes programmers make is mechanically memorizing some program constructs without understanding their essence. If you don’t understand something, figure it out and look for answers. Incomprehensible moments tend to accumulate: the more there are, the more difficult it will be for you to program. It’s not enough to know that “this is how it’s done” - you need to understand why this particular code is used and how it works. You will have the right to say that you know how to program when you can, taking a pen and a piece of paper, without referring to reference books, translate some algorithm into program code.

Programming language

Programming language- a formal sign system designed for recording computer programs. A programming language defines a set of lexical, syntactic and semantic rules that define appearance programs and actions that the performer (computer) will perform under its control.

  • Function: a programming language designed to write computer programs, which are used to transmit instructions to the computer to perform this or that computing process and organizing the management of individual devices.
  • Task: A programming language differs from natural languages ​​in that it is designed to transmit commands and data from a person to a computer, while natural languages ​​are used to communicate between people. We can generalize the definition of “programming languages” - this is a way of transmitting commands, orders, clear guidelines for action; whereas human languages ​​also serve to exchange information.
  • Execution: A programming language can use special constructs to define and manipulate data structures and control the computation process.

Standardization of programming languages

A programming language can be represented as a set of specifications that define its syntax and semantics.

International standards have been created for many widely used programming languages. Special organizations regularly update and publish specifications and formal definitions of the corresponding language. Within the framework of such committees, the development and modernization of programming languages ​​continues and issues of expanding or supporting existing and new language constructs are resolved.

Data types

Modern digital computers are usually binary and data is stored in binary (binary) code (although implementations in other number systems are also possible). These data typically reflect real-world information (names, bank accounts, measurements, etc.) representing high-level concepts.

The special system by which data is organized in a program is type system programming language; the development and study of type systems is known as type theory. Languages ​​can be classified as systems with static typing and languages ​​with dynamic typing.

Statically typed languages ​​can be further subdivided into languages ​​with mandatory declaration, where every variable and function declaration has a required type declaration, and languages ​​with inferred types. Dynamically typed languages ​​are sometimes called latent typed.

Data structures

Type systems in languages high level allow you to define complex, compound types, so-called data structures. Usually, structural types data are formed as a Cartesian product of basic (atomic) types and previously defined composite types.

Basic data structures (lists, queues, hash tables, binary trees, and pairs) are often represented by special syntactic constructs in high-level languages. Such data is structured automatically.

Semantics of programming languages

There are several approaches to defining the semantics of programming languages.

The most widespread varieties are the following three: operational, derivational (axiomatic) and denotational (mathematical).

  • When describing semantics within operational approach, usually the execution of programming language constructs is interpreted using some imaginary (abstract) computer.
  • Derivative semantics describes the consequences of executing language constructs using the language of logic and specifying pre- and postconditions.
  • Denotational Semantics operates with concepts typical of mathematics - sets, correspondence, as well as judgments, statements, etc.

Programming Paradigm

A programming language is built in accordance with one or another basic computing model and programming paradigm.

Despite the fact that most languages ​​are focused on the imperative model of computing, defined by the von Neumann computer architecture, there are other approaches. We can mention languages ​​with a stack computing model (Forth, Factor, PostScript, etc.), as well as functional (Lisp, Haskell, etc.) and logical programming (Prolog) and the REFAL language, based on the computing model introduced by the Soviet mathematician A . A. Markov Jr.

Currently, problem-oriented, declarative and visual programming languages ​​are also actively developing.

Ways to implement languages

Programming languages ​​can be implemented as either compiled or interpreted.

A program in a compiled language is converted (compiled) into machine code (a set of instructions) using a compiler (a special program) to of this type processor and is then assembled into an executable module, which can be launched for execution as a separate program. In other words, the compiler translates the program source code from a high-level programming language into binary codes of processor instructions.

If the program is written in an interpreted language, then the interpreter directly executes (interprets) the source text without prior translation. In this case, the program remains in the original language and cannot be launched without an interpreter. The computer processor, in this regard, can be called an interpreter for machine code.

The division into compiled and interpreted languages ​​is conditional. So, for any traditionally compiled language, such as Pascal, you can write an interpreter. In addition, most modern “pure” interpreters do not execute language constructs directly, but compile them into some high-level intermediate representation (for example, with variable dereferencing and macro expansion).

A compiler can be created for any interpreted language - for example, the Lisp language, which is natively interpreted, can be compiled without any restrictions. Code generated during program execution can also be dynamically compiled during execution.

In general, compiled programs run faster and do not require additional programs, since they have already been translated into machine language. At the same time, every time the program text changes, it needs to be recompiled, which slows down the development process. In addition, the compiled program can only be executed on the same type of computer, and usually under the same operating system, for which the compiler was designed. To create executable file for a machine of a different type, a new compilation is required.

Interpreted languages ​​have some specific additional features(see above), in addition, programs on them can be launched immediately after the change, which facilitates development. A program in an interpreted language can often be run in different types cars and operating systems without additional effort.

However, interpreted programs run noticeably slower than compiled ones, and they cannot be executed without an interpreter program.

This approach, in a sense, allows you to use the advantages of both interpreters and compilers. It should be mentioned that there are languages ​​that have both an interpreter and a compiler (Forth).

Symbols used

Modern programming languages ​​are designed to use ASCII, that is, accessibility to all graphic ASCII characters are necessary and sufficient condition for recording any language constructs. Managers ASCII characters are used to a limited extent: only carriage return CR, line feed LF, and horizontal tab HT (sometimes also vertical tab VT and page feed FF) are allowed.

Early languages, emerging in the era of 6-bit characters, used a more limited set. For example, the Fortran alphabet has 49 characters (including space): A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 0 1 2 3 4 5 6 7 8 9 = + - * / () . , $ " :

A notable exception is the APL language, which uses a lot of special characters.

The use of non-ASCII characters (such as KOI8-R characters or Unicode characters) is implementation dependent: sometimes they are only allowed in comments and character/string constants, and sometimes in identifiers. In the USSR there were languages ​​where everything keywords were written in Russian letters, but such languages ​​did not gain much popularity (the exception is the Built-in programming language 1C:Enterprise).

Expansion of the set of usable symbols is hampered by the fact that many development projects software are international. It would be very difficult to work with code where the names of some variables are written in Russian letters, others in Arabic, and still others in Chinese characters. At the same time, to work with text data, new generation programming languages ​​(Delphi 2006, Java) support Unicode.

Programming Language Classes

see also

Notes

Literature

  • Hal Abelson, Gerald Jay Sussman. Structure and Interpretation of Computer Programs
  • Robert W. Sebesta. Basic concepts of programming languages ​​= Concepts of Programming Languages ​​/ Transl. from English - 5th ed. - M.: Williams, 2001. - 672 p. - 5000 copies.
  • - ISBN 5-8459-0192-8 (Russian), ISBN 0-201-75295-6 (English) Wolfenhagen V. E.
  • Programming language constructs. Description techniques. - M.: Center YurInfoR, 2001. - 276 p. - ISBN 5-89158-079-9 Paronjanov V.D.
  • How to improve your mind. Algorithms without programmers - it's very simple! - M.: Delo, 2001. - 360 p. - ISBN 5-7749-0211-0 F. Biancuzzi, S. Worden.

Pioneers of programming. Dialogues with the creators of the most popular programming languages. - St. Petersburg. : Symbol-Plus, 2010. - 608 p. - ISBN 978-5-93286-170-7

  • Links
  • The Language List (English) - more than 2500 languages ​​with brief descriptions
  • Computer Languages ​​History (English) - history of programming languages ​​(from 1954 to May 2004) (contains a regularly updated chart)
  • Examples (English) - programming examples in 162 languages
  • Programming Language Popularity (English) - study of the popularity of programming languages ​​for 2004
  • Programming Community Index (English) - regularly updated ranking of the popularity of programming languages
  • Computer Language Shootout Benchmarks (English) - comparison of programming languages ​​by efficiency
  • Programming Languages ​​that are Loved (English) - comparison of programming languages ​​by “love” and “hate” for them

Wikimedia Foundation.

    2010. The concept of computer language (tracing paper from English computer language), as a rule, refers to languages ​​associated with computer equipment

    . Most often, this term corresponds to the concept of a programming language, but this correspondence is not... ... Wikipedia - (Ada) A computer language first developed in the United States to control military equipment. Currently, it has become more widely used for civilian purposes. It belongs to the high level languages ​​and is based on the Pascal language... ...

    Dictionary of business terms

    ASSEMBLY LANGUAGE, A COMPUTER LANGUAGE for writing COMPUTER PROGRAMS in a form that a computer can directly understand. Such languages ​​are called low-level languages. Every command that a computer must execute... ... - (BASIC, or Beginner's AN purpose Symbolic Instruction Code), a computer programming language that is easy to learn and contains many words of everyday speech. It is widely used by both amateur and professional programmers. For start… …

    Scientific and technical encyclopedic dictionary

    A programming language is a formal sign system designed for writing computer programs. A programming language defines a set of lexical, syntactic and semantic rules that define the appearance of the program and actions, ... ... Wikipedia

    A high-level programming language is a programming language designed to be fast and easy to use by the programmer. The main feature of high-level languages ​​is abstraction, that is, the introduction of semantic constructs that briefly describe such... Wikipedia

    This article lacks links to sources of information. Information must be verifiable, otherwise it may be questioned and deleted. You can... Wikipedia

    - (jargon) a type of slang used by both professional (for example, IT specialists) and other computer users. Contents 1 History 1.1 The appearance of terms ... Wikipedia

Books

  • Python programming language. Workshop. Textbook, Zhukov Roman Aleksandrovich. Tutorial is devoted to the theoretical and practical study of the modern widely used programming language Python. Consists of five chapters, which sequentially examine...
  • R programming language and environment. Tutorial, Zolotaryuk Anatoly Vasilievich. The tutorial contains all the necessary knowledge to work with software environment R, including interface features, operators and functions used, and the basics of static analysis...
Did you like the article? Share with your friends!
Was this article helpful?
Yes
No
Thanks for your feedback!
Something went wrong and your vote was not counted.
Thank you. Your message has been sent
Found an error in the text?
Select it, click Ctrl + Enter and we will fix everything!