Programming language for the solution. High-level and low-level programming languages: which ones should you learn?


Any person who decides to master the basics of the process of creating computer programs wonders what the most popular programming languages ​​are today, and which ones are best to learn. And if the first question is very easy to answer, then the student himself will have to look for the answer to the second, based on his plans and needs.

Let's briefly look at the most popular programming languages ​​so that you can choose the one that most attracts you and start learning it.

programming?

Before analyzing the main programming languages ​​and describing them, it is necessary to understand the concept itself.

A programming language is a formal sign system that is used to write computer programs. Like any other language, it has its own lexical, semantic and syntactic rules.

There are low and high level programming languages. Today they mainly use the second one.

High and low level programming languages

A low-level programming language has a structure close to the structure of In this case, commands are not denoted using zeros and ones, but using mnemonics. Most famous low tongue programming - assembly language.

Working with any of the languages ​​requires high qualifications and understanding; in addition, writing programs takes considerable time. At the same time, using low ones you can create small, but at the same time effective programs. Beginning programmers are not recommended to start their acquaintance with them.

High-level programming languages ​​are characterized by the presence of semantic constructs to describe operations. Studying them takes a lot of time, and applying them in practice requires care and understanding of the basic structures and rules of syntax and vocabulary. But at the same time, knowledge of high-level languages ​​allows you to create large, colorful, multifunctional projects in record time.

High-level ones include Pascal, Java, C, C++, C#, Delphi and many others. They are used for writing software and application programs.

The most popular programming languages

What are the most popular programming languages ​​today?

In recent years, Java, C, C++, Python, C#, which are among the top programming languages, are considered the most popular and in demand. They are the ones that form the basis modern programs and are used when writing any large project. More than 70% of programmers work with these languages. It is predicted that in the next 10 years they will still be in demand as they are today.

Ruby, PHP, and JavaScript are also considered no less popular. Most specialists focus on them.

In general, regardless of popularity, any more or less self-respecting specialist must know at least several languages ​​of different levels. This is due to the fact that most large projects are developed in different languages. For example, some modules are written using C, others are developed in Java, and others are developed in Delphi.

C, C++ and C#

First, let's look at the C family.

The C language is a compiled language and it was developed in the 70s. On its basis, languages ​​such as C++ and C#, Java were subsequently created.

C++ is a powerful language designed for creating both low-level utilities and drivers, as well as very impressive applications and software packages.

C# is a modern object-oriented language based on C and C++. It has secure system types. One of its distinctive features is that it is also very similar to another popular programming language - Java.

One of the disadvantages of the language is that it only allows you to create applications for operating system Windows is also quite heavy, which means that programs written on it take up a lot of space.

It can be noted that in many ways C, C++ and C# are programming languages ​​for beginners. Having mastered them, you can be sure that learning a new language will take a minimum of time.

You can get acquainted with them and write your first applications in a special Borland or Visual Studio environment.

JavaScript

JavaScript is a language with object-oriented capabilities. Developed in 1996 and today one of the most popular. The language is used mainly for creating scripts on the Internet and works in major browsers such as Internet Explorer, Firefox, Opera. It is also closely related to HTML and CSS, so before you start learning it, you need to master the basics of these languages.

It is worth noting that, despite the similarity in name, JavaScript and Java are two completely different languages.

This language is suitable for those who are focused on creating browsers and scripts, applications and add-ons for them. If you are planning to create your own websites, you also need to get to know it better.

Java

When considering the most popular programming languages, one cannot help but mention Java. It is an objective-oriented programming language that has come into use since 1995. It is very lightweight and runs on any Java machine of any architecture. Used for developing applications for Android and iOS.

Python

Python - whose main task is to increase developer productivity and make code more readable. It has a small list of syntactic constructs and a very impressive standard library of functions. Development of the language began in the 90s and continues to this day. It is used to develop various projects, extensions and integration of previously developed applications.

The basics of the Python language can be learned both as a start to programming and as a second additional language.

Ruby

Ruby is a high-level programming language containing parts of Perl, Smalltalk, Eiffel, Ada and Lisp. In use since 1995. The main advantages of the language are its simplicity and flexibility. Suitable for both writing small applications and developing serious programs.

PHP language

PHP is a fairly popular scripting language designed for creating web applications. Quite often it is also included in the list of “Programming languages ​​for beginners” and recommended for study.

With its help, you can create high-quality web applications in a very short time. The language has a simple and understandable structure, which allows you to learn it in a matter of days.

Conclusion

We have looked at the most popular programming languages, the study of which will help you in the future successfully create your own projects and earn money as a programmer. There is no consensus on which language to study, but at the same time, experts note that it is advisable to know several programming languages, as this will further expand the field of activity and make it easier to work on various team projects.

Classification of programming languages

At the dawn of the computer era, machine code was the only means of communication between a person and a computer. The great achievement of the creators of programming languages ​​was that they were able to make the computer itself work as a translator from these languages ​​to machine code.

Existing programming languages ​​can be divided into two groups: procedural and non-procedural (see Fig. 4.1).

Procedural (or algorithmic) programs are a system of instructions for solving a specific problem. The role of the computer is reduced to the mechanical implementation of these instructions.

Procedural languages ​​are divided into low-level and high-level languages.

Different types processors have different instruction sets. If a programming language is focused on a specific type of processor and takes into account its features, then it is called programming language low level.
This means that the language operators are close to machine code and are focused on specific processor commands.

Rice. 4.1. General classification of programming languages

Low-level (machine-oriented) languages ​​allow you to create programs from machine code, usually in hexadecimal form. They are difficult to work with, but programs created with their help by a highly skilled programmer take up less memory space and run faster. These languages ​​make it easier to develop system programs, drivers (programs for controlling computer devices), some other types of programs.

A low-level (machine-oriented) language is Assembler, which simply represents each machine code instruction, not as numbers, but using symbolic notations called
mnemonics.

Low-level languages ​​create very efficient and compact programs because the developer has access to all the capabilities of the processor.

High level programming languages much closer and more understandable to a person than to a computer. The features of specific computer architectures are not taken into account in them, therefore the created programs at the source text level are easily portable to other platforms for which a translator of this language has been created. It is much easier to develop programs in high-level languages ​​using clear and powerful commands, and there are much fewer mistakes made when creating programs.

The main advantage of high-level algorithmic languages ​​is the ability to describe problem-solving programs in a form that is as convenient as possible for human perception. But since each family of computers has its own specific internal (machine) language and can only execute those commands that are written in this language, then to translate source programs into machine language special translator programs are used.

The work of all translators is based on one of two principles: interpretation or compilation.

Interpretation implies statement-by-statement translation and subsequent execution of the translated statement of the source program. In this regard, two disadvantages of the interpretation method can be noted: firstly, the interpreting program must be in the computer memory during the entire process of executing the original program, i.e., occupy a certain amount of memory; secondly, the process of translating the same operator is repeated as many times as this command must be executed in the program, which sharply reduces the performance of the program.

Despite these shortcomings, translators-interpreters have become quite widespread since they are convenient for developing and debugging source programs.

At compilation The processes of translation and execution are separated in time: first, the source program is completely translated into machine language (after which the presence of a translator in RAM becomes unnecessary), and then the translated program can be executed many times. Consequently, for the same program, translation using the compilation method provides higher performance of the computing system while reducing the required RAM.

The great complexity in developing a compiler compared to an interpreter from the same language is explained by the fact that compiling a program includes two actions: analysis, i.e. determining the correctness of the source program in accordance with the rules for constructing language constructs of the input language, and synthesis - generating an equivalent programs in machine codes. Broadcasting using the compilation method requires repeated “viewing” of the broadcast program, i.e. translators-compilers are multi-pass: on the first pass, they check the correctness of the syntax of the language constructs of individual operators independently of each other, on the subsequent pass, the correctness of the syntactic relationships between operators, etc.

The program obtained as a result of translation using the compilation method is called object module, which is an equivalent program in machine code, but not “tied” to specific RAM addresses. Therefore, before execution, the object module must be processed by a special operating system program (Link editor) and converted into loading module.

Along with the translators-interpreters and translators-compilers discussed above, translators are also used in practice interpreter-compilers, which combine the advantages of both principles of translation: at the stage of developing and debugging programs, the translator operates in interpreter mode, and after completion of the debugging process, the source program is retranslated into an object module (i.e., using the compilation method). This allows you to significantly simplify and speed up the process of composing and debugging programs, and by subsequently obtaining an object module, ensure more efficient execution of the program.

Classic procedural programming requires the programmer detailed description how to solve the problem, i.e. the formulation of the algorithm and its special notation. In this case, the expected properties of the result are usually not indicated. The basic concepts of the languages ​​of these groups are operator and data.
In the procedural approach, operators are combined into groups - procedures. Structured programming as a whole does not go beyond this direction; it only additionally captures some useful techniques
programming technologies.

A fundamentally different direction in programming is associated with methodologies (sometimes called “paradigms”) of non-procedural programming. These include object-oriented and declarative programming. An object-oriented language creates an environment in the form of many independent objects. Each object behaves like a separate computer; they can be used to solve problems as “black boxes” without delving into the internal mechanisms of their functioning. From languages object programming, popular among professionals, should be called primarily C++; for a wider range of programmers, environments such as Delphi and Visual Basic are preferred.



When using a declarative language, the programmer specifies the initial information structures, the relationships between them, and what properties the result should have. At the same time, the programmer does not build a procedure for obtaining it (“algorithm”) (at least, ideally). These languages ​​do not have the concept of “operator” (“command”). Declarative languages ​​can be divided into two families - logical (a typical representative is Prolog) and functional (Lisp).

Let us characterize the most famous programming languages.

1.Fortran(FORmula TRANslating system – formula translation system); the oldest language that is still actively used in solving problems of mathematical orientation. It is a classic language for computer programming of mathematical and engineering problems.

2.BASIC(Beginner's All-purpose Symbolic Instruction Code - universal symbolic instruction code for beginners); despite many shortcomings and abundance it is bad compatible versions– the most popular in terms of number of users. Widely used when writing simple programs.

3.ALGOL(ALGOrithmic Language - algorithmic language); played a big role in theory, but is now almost never used for practical programming.

4.PL/1(PL/1 Programming Language - the first programming language); multipurpose language; now almost never used.

5.Pascal(Pascal – named after the scientist Blaise Pascal); extremely popular both when learning programming and among professionals. Created in the early 70s by Swiss scientist Niklaus Wirth. The Pascal language was originally developed as an educational language, and, indeed, now it is one of the main languages ​​for teaching programming in schools and universities. However, its overall qualities turned out to be so high that professional programmers willingly use it. No less impressive, including financial, success was achieved by Philip Kahn, the Frenchman who developed the Turbo Pascal system. The essence of his idea was to combine the successive stages of program processing - compilation, editing links, debugging and error diagnosis - in a single interface. Versions of Turbo Pascal have filled almost everything educational institutions, programming centers and private firms. Based on the Pascal language, several more powerful languages(Modula, Ada, Delphi).

6.COBOL(COmmon Business Oriented Language - a language oriented towards general business); has largely fallen out of use. It was intended as the main language for mass processing data in management areas
and business.

7.ADA;is the winning language (May 1979) of the Pentagon's universal language competition since 1975. The developers are a group of scientists led by Jean Ikhbia. The winning language was dubbed ADA, in honor of Augusta Ada Lovelace. The ADA language is a direct descendant of the language
Pascal. This language is intended for the creation and long-term (many years) maintenance of large software systems, it allows the possibility parallel processing, real-time process control and much more, which is difficult or impossible to achieve using simpler languages.

8.Si(C – “si”); widely used in creating system software. He left a big imprint on modern programming (the first version was in 1972), and is very popular among developers of software systems (including operating systems). C combines the features of both a high-level language and a machine-oriented language, allowing the programmer access to all machine resources, which languages ​​such as BASIC and Pascal do not provide.

9.C++(C++); an object-oriented extension of the C language created by Bjarne Stroustrup in 1980. Lots of new ones powerful capabilities, which made it possible to dramatically increase the productivity of programmers, was superimposed on a certain low-level nature inherited from the C language.

10.Delphi(Delphi); object-oriented “visual” programming language; extremely popular at the moment. Created on the basis of the Pascal language by Borland specialists, the Delphi language, having the power and flexibility of the C and C++ languages, surpasses them in the convenience and simplicity of the interface when developing applications that provide interaction with databases and support for various types of work within corporate networks and the Internet .

11.Java(Java); platform-independent object-oriented programming language, extremely effective for creating interactive web pages. This language was created by Sun in the early 90s based on SI++. It is designed to simplify the development of C++-based applications by eliminating all low-level features from it.

12.Lisp(Lisp) is a functional programming language. Focuses on a data structure in the form of a list and allows you to organize efficient processing of large volumes of text information.

13.Prologue(PROgramming in LOGic – logic programming). The main purpose of the language is the development of intelligent programs and systems. Prolog is a programming language created specifically for working with knowledge bases based on facts and rules (one of the elements of systems artificial intelligence). The language implements a backtracking mechanism to perform a backward chain of reasoning, in which certain inferences or conclusions are assumed to be true, and then these assumptions are checked against a knowledge base containing facts and rules of inference.
If the assumption is not confirmed, a return is made and a new assumption is made. The language is based on a mathematical model of the theory of predicate calculus.

Programming languages ​​for the Internet:

1. HTML. A well-known language for document preparation. It is very simple and contains basic commands for formatting text, adding pictures, setting fonts and colors, organizing links and tables.

2. PERL. It was intended as a means efficient processing large text files, generating text reports and managing tasks.
Perl is significantly more powerful than languages ​​like C. It includes many frequently used functions for working with strings, arrays, managing processors, and working with system information.

3. Tcl/Tk. This language is focused on automating routine processes and consists of powerful commands. It is system independent and still allows you to create programs with a graphical interface.

4. VRML. Created to organize virtual three-dimensional interfaces on the Internet. It allows you to describe various three-dimensional scenes, lighting and shadows, and textures in text form.

The choice of a programming language depends on many factors: purpose, ease of writing source programs, efficiency of the resulting object programs, etc. The variety of problems solved by a computer determines the variety of programming languages.

Control questions

1. What are programming systems and what class of programs do they belong to?

2. What is included in programming systems?

3. In what programming language were the first programs created?

4. What languages ​​are procedural languages ​​divided into?

5. Describe low-level languages.

6. Which language is a low-level language?

7. Advantages of low-level languages.

8. Describe high-level languages.

9. Advantages of high-level languages.

10. Give examples of high-level languages.

11. What are translators intended for?

12. How does a compiler differ from an interpreter?

13. Disadvantages of interpretation (as a type of translator).

14. What is the process of compiling a program?

15. What actions are performed during compilation?

16. How does a load module differ from an object module?

17. How does procedural programming differ from non-procedural programming?

18. What types of programming are non-procedural?
programming?

19. Features of declarative languages.

20. Briefly describe the programming languages: Fortran, BASIC, Pascal, Cobol.

21. Briefly describe the programming languages: Ada, C, C++, Delphi, Java.

22. Give examples of object-oriented languages.

23. What class of languages ​​does the Lisp language belong to?

24. What class of languages ​​does Prolog belong to?

Programming language- a formal sign system designed to describe algorithms in a form that is convenient for the performer (for example, a computer). A programming language defines a set of lexical, syntactic, and semantic rules used to compose a computer program. It allows the programmer to determine exactly what events the computer will react to, how data will be stored and transmitted, and what actions should be performed on it under various circumstances.

Since the creation of the first programmable machines, humanity has already come up with more than two and a half thousand programming languages. Every year their number is replenished with new ones. Some languages ​​are used only by a small number of their own developers, while others become known to millions of people. Professional programmers sometimes use more than a dozen different programming languages ​​in their work.

Language creators interpret the concept differently programming language. Among the common points recognized by most developers are the following:

· Function: A programming language is intended for writing computer programs that are used to transmit instructions to a computer to perform a particular computing process and organize the control 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 only for communication between people. In principle, we can generalize the definition of “programming languages” - this is a way of transmitting commands, orders, clear guidance 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.

3. Stages of solving a problem on a computer.

Most effective application VT was found when carrying out labor-intensive calculations in scientific research and engineering calculations. When solving a problem on a computer, the main role still belongs to the person. The machine only carries out his tasks according to the developed program. The role of man and machine is easy to understand if the process of solving a problem is divided into the stages listed below.

Formulation of the problem. This stage consists of a meaningful (physical) formulation of the problem and determination of final solutions.

Construction mathematical model. The model must correctly (adequately) describe the basic laws of the physical process. Construction or selection of a mathematical model from existing ones requires a deep understanding of the problem and knowledge of the relevant branches of mathematics.

Development of the World Cup. Since a computer can perform only the simplest operations, it does not “understand” the formulation of the problem, even in a mathematical formulation. To solve it, a numerical method must be found that makes it possible to reduce the problem to some computational algorithm. In each specific case, it is necessary to select a suitable solution from already developed standard ones.

Algorithm development. The process of solving a problem (computational process) is written as a sequence of elementary arithmetic and logical operations, leading to the final result and called an algorithm for solving the problem.

Programming. The algorithm for solving a problem is written in a machine-understandable language in the form of a precisely defined sequence of operations - a program. The process is usually carried out using some intermediate language, and its translation is carried out by the machine itself and its system.

Adjustment of the program. The compiled program contains various kinds of errors, inaccuracies, and clerical errors. Debugging includes monitoring the program, diagnosing (searching for and determining the contents of) errors, and eliminating them. The program is tested by solving control (test) problems to obtain confidence in the reliability of the results.

Carrying out calculations. At this stage, initial data for calculations are prepared and calculations are carried out using a well-established program. at the same time, to reduce manual labor in processing results, you can widely use convenient forms for issuing results in the form of text and graphic information, in a form understandable to humans.

Analysis of results. The calculation results are carefully analyzed, and scientific and technical documentation is drawn up.

4. What are programming languages ​​for?

The process of computer operation consists in executing a program, that is, typing completely certain teams in a very specific order. The machine form of the command, consisting of zeros and ones, indicates exactly what action should be performed. CPU. This means that in order to give the computer a sequence of actions that it must perform, you need to specify a sequence of binary codes for the corresponding commands. Machine code programs consist of thousands of instructions. Writing such programs is a difficult and tedious task. The programmer must remember the combination of zeros and ones of the binary code of each program, as well as the binary codes of the data addresses used in its execution. It is much easier to write a program in some language that is closer to natural human language, and entrust the work of translating this program into machine codes to a computer. This is how languages ​​designed specifically for writing programs arose - programming languages.

There are many different programming languages ​​available. In fact, you can use any of them to solve most problems. Experienced programmers know which language is best to use to solve each specific problem, since each language has its own capabilities, orientation towards certain types of problems, and its own way of describing concepts and objects used in solving problems.

All the many programming languages ​​can be divided into two groups: low level languages And high level languages.

Low-level languages ​​include assembly languages ​​(from the English toassemble - assemble, assemble). Assembly language uses symbolic commands that are easy to understand and quick to remember. Instead of a sequence of binary codes of commands, their symbolic designations are written, and instead of binary addresses of data used when executing a command, symbolic names of this data chosen by the programmer are written. Assembly language is sometimes called mnemonic code or autocode.

Most programmers use high-level languages ​​to write programs. Like ordinary human language, such a language has its own alphabet - a set of symbols used in the language. These symbols are used to make up the so-called keywords of the language. Each of the key words performs its own function, just as in our familiar language, words made up of letters of the alphabet of a given language can perform the functions of different parts of speech. Keywords are linked together into sentences according to certain syntactic rules of the language. Each sentence defines a certain sequence of actions that the computer must perform.

A high-level language acts as an intermediary between a person and a computer, allowing a person to communicate with a computer in a way more familiar to humans. Often such language helps to choose the right method for solving a problem.

Before writing a program in a high-level language, the programmer must write algorithm solving the problem, that is step by step plan actions that need to be performed to solve this problem. Therefore, languages ​​that require a preliminary compilation of an algorithm are often called algorithmic languages.

5. What programming languages ​​are there?

1.1 Fortran

Programming languages ​​began to appear in the mid-50s. One of the first languages ​​of this type was the Fortran language (English FORTRAN from FORmulaTRANslator - formula translator), developed in 1957. Fortran is used to describe an algorithm for solving scientific and technical problems using a digital computer. Just like the first computers, this language was intended mainly for carrying out natural science and mathematical calculations. In an improved form, this language has survived to this day. Among modern languages at a high level, it is one of the most used in scientific research. The most common variants are Fortran-II, Fortran-IV, EASICFortran and their generalizations.

1.2 ALGOL

After Fortran, in 1958-1960, the Algol language (Algol-58, Algol-60) appeared (English ALGOL from ALGOrithmicLanguage - algorithmic language). ALGOL was improved in 1964-1968 - ALGOL-68. ALGOL was developed by a committee that included European and American scientists. It belongs to the high-level languages ​​and allows you to easily translate algebraic formulas into program commands. Algol was popular in Europe, including the USSR, while the comparable Fortran was common in the USA and Canada. Algol had a significant influence on all later developed programming languages, and, in particular, on the Pascal language. This language, like Fortran, was intended for solving scientific and technical problems. In addition, this language was used as a means of teaching the basics of programming - the art of writing programs.

Usually the term ALGOL means the language ALGOL-60, while ALGOL-68 is considered as an independent language. Even when Algol almost ceased to be used for programming, it still remained the official language for publishing algorithms.

1.3 COBOL

In 1959 – 1960, the COBOL language was developed (English COBOL from COmmom Business Oriented Language - a common business-oriented language). This is a third generation programming language intended primarily for developing business applications. Cobol was also intended for solving economic problems, processing data for banks, insurance companies and other institutions of this kind. The developer of the first unified Cobol standard was Grace Hopper ( grandmother Cobola).

COBOL is usually criticized for being verbose and cumbersome, since one of the goals of the language's creators was to make the structures as close as possible to the English language. (Cobol is still considered the programming language in which the most lines of code were written). At the same time, COBOL had excellent facilities for working with data structures and files for its time, which ensured its long life in business applications, at least in the United States.

1.4 Lisp

Almost simultaneously with Cobol (1959 - 1960), the Lisp language (LISP from LIStProcessing - list processing) was created at the Massachusetts Institute of Technology. Lisp is based on representing a program as a system of linear lists of symbols, which are also the main data structure of the language. Lisp is considered the second oldest high-level programming language after Fortran. This language is widely used for processing symbolic information and is used to create software that simulates the activities of the human brain.

Any Lisp program consists of a sequence expressions(forms). The result of the program is to evaluate these expressions. All expressions are written in the form lists- one of the basic structures of Lisp, so they can be easily created through the language itself. This allows you to create programs that modify other programs or macros, allowing you to significantly expand the capabilities of the language.

The main meaning of a Lisp program is “life” in symbolic space: movement, creativity, remembering, creating new worlds, etc. Lisp as a brain metaphor, symbol, signal metaphor: "How does the biological analysis of signals occur in the brain, how external factor- physical and chemical influence, which is an irritant for the body, turns into a biologically significant signal, often vital, determining the entire behavior of a person or animal; and how does separation occur? different signals into positive, negative and indifferent, indifferent. A signal is already an integrative concept. It represents an identification mark of a group, complex stimuli interconnected general history and cause-and-effect relationships. In this complex, a system of stimuli, the signal stimulus itself is also a constituent element, and under other circumstances its role may belong to another stimulus from the complex. The entire past experience of an animal or person is concentrated in the signal.

1.5 BASIC

In the mid-60s (1963), the BASIC language was created at Dartmouth College (USA). Over time, as other dialects began to appear, this "original" dialect became known as Dartmouth BASIC. The language was based partly on Fortran II and partly on ALGOL-60, with additions making it suitable for time-sharing and, later, text processing and matrix arithmetic. BASIC was originally implemented on the GE-265 mainframe with support for multiple terminals. Contrary to popular belief, at the time of its inception it was a compiled language.

BASIC was designed so that students could write programs using time-sharing terminals. It was created as a solution to problems associated with the complexity of older languages. It was intended for more “simple” users, not so much interested in the speed of programs, but simply in the ability to use the computer to solve their problems. Due to the simplicity of the BASIC language, many novice programmers begin their programming journey with it.

1.6 Fort

In the late 60s - early 70s, the Forth language appeared (English: FOURTH - fourth). This language began to be used in problems of controlling various systems after its author, Charles Moore, wrote a program in it designed to control the radio telescope of the Arizona Observatory.

A number of properties, namely interactivity, flexibility and ease of development, make Forth very attractive and effective language in applied research and in the creation of tools. The obvious areas of application for this language are embedded control systems. It is also used in programming computers running various operating systems.

1.7 Pascal

The Pascal language, which appeared in 1972, was named after the great French mathematician of the 17th century, the inventor of the world's first arithmetic machine, Blaise Pascal. This language was created by Swiss computer scientist Niklaus Wirth as a language for teaching programming methods. Pascal is a general purpose programming language.

Features of the language are strict typing and the presence of structural (procedural) programming tools. Pascal was one of the first such languages. According to N. Wirth, the language should contribute to the discipline of programming, therefore, along with strict typing, in Pascal possible syntactic ambiguities are minimized, and the syntax itself is intuitive even when you first become acquainted with the language.

The Pascal language teaches not only how to write a program correctly, but also how to correctly develop a method for solving a problem, and choose ways to represent and organize the data used in the problem. Since 1983, Pascal has been introduced into computer science courses in US high schools.

1.8 Ada

In 1983, under the auspices of the US Department of Defense, the Ada language was created. The language is remarkable in that many errors can be detected at the compilation stage. In addition, many aspects of programming that are often left to the operating system (concurrency, exception handling) are supported. In 1995, the Ada 95 language standard was adopted, which develops previous version, adding object-orientation to it and correcting some inaccuracies. Both of these languages ​​are not widely used outside of military and other large-scale projects (aviation, rail transportation). The main reason is the difficulty of mastering the language and its rather cumbersome syntax.

Ada's immediate predecessors are Pascal and its derivatives, including Euclid, Lis, Mesa, Modula, and Sue. Some concepts from ALGOL-68, Simula, CLU and Alphard were used.

The Ada developers were primarily concerned with:

· reliability and performance of programs;

· programming as a type of human activity;

· efficiency.

In table 1 shows the main characteristics of the Ada language from the point of view of the object approach.

Table 1. Ada.

1.9 Si

Currently, the C language is popular among programmers (C is a letter of the English alphabet). The C language originates from two languages ​​- BCPL and B. In 1967, Martin Richards developed BCPL as a language for writing system software and compilers. In 1970, Ken Thompson used B to create early versions of the UNIX operating system on the DEC PDP-7 computer. In both BCPL and B, variables were not divided into types - each data value occupied one word in memory and the responsibility for distinguishing, for example, between integers and real numbers fell entirely on the shoulders of the programmer. The C language was developed (based on B) by Dennis Ritchie from Bell Laboratories and was first implemented in 1972 on a DEC PDP-11 computer. C gained fame as the language of the UNIX OS. Today, almost all major operating systems were written in C or C++. Two decades later, C is available on most computers. It is hardware independent. In the late 70s, C evolved into what we call "traditional C". In 1983, the American National Computer and Information Processing Standards Committee established a unified standard for this language. This language has rich tools that allow you to write flexible programs that use all the capabilities of modern personal computers.

1.10 Prologue

Another language, which is considered the language of the future, was created in the early 70s by a group of specialists from the University of Marseille. This is the Prolog language. It got its name from the words “Programming in the language of LOGIC”. This language is based on the laws of mathematical logic. Like the Lisp language, Prolog is used mainly in research in the field of software simulation of human brain activity. Unlike the languages ​​described above, this language is not algorithmic. It belongs to the so-called descriptive(from the English descriptive - descriptive) - descriptive languages. A descriptive language does not require the programmer to develop all stages of a task. Instead, according to the rules of such a language, the programmer must describe a database corresponding to the problem being solved and a set of questions that need to be answered using data from this database.

In recent decades, programming has emerged and received significant development. object-oriented an approach. This is a programming method that imitates the real world: the information used to solve a problem is represented as a set of interacting objects. Each of the objects has its own properties and modes of behavior. The interaction of objects is carried out using message passing: each object can receive messages from other objects, remember information and process it in a certain way, and, in turn, send messages. Just like in the real world, objects store their properties and behavior together, inheriting some of them from parent objects.

Object-oriented ideology is used in all modern software products, including operating systems.

First object-oriented language Simula -67 was created as a means of simulating the operation of various devices and mechanisms. Most modern programming languages ​​are object-oriented. Among them latest versions language Turbo - Pascal , C ++, Ada and others.

Systems are currently widely used visual programming Visual Basic , Visual C ++, Delphi and others. They allow you to create complex application packages with a simple and convenient user interface.

1.11 Java

Since 1995, a new object-oriented language has become widespread Java programming, focused on computer networks and, above all, the Internet. The syntax of this language is similar to the syntax of the C++ language, but these languages ​​have little in common. Java is an interpreted language: it has an internal representation (bytecode) and an interpreter for this representation, which are already implemented on most platforms. The interpreter simplifies debugging of programs written in Java, ensures their portability to new platforms and adaptability to new environments. It allows you to prevent programs written in Java from interfering with other programs and files on the new platform, thereby ensuring that those programs run safely. These properties of the Java language allow it to be used as the main programming language for programs distributed over networks (in particular, over the Internet).

1.12 Object Pascal

Object Pascal was created by employees Apple Computer (some of whom were contributors to the Smalltalk project) with Niklaus Wirth, creator Pascal language. Object Pascal has been around since 1986 and is the first object-oriented programming language to be included in the Macintosh Programmer's Workshop (MPW), a development environment for Apple's Macintosh computers.

There are no class methods in this language, class variables, multiple inheritance and metaclasses. These mechanisms are excluded specifically to make the language easy for beginning "object" programmers to learn.

In table 2 are given General characteristics Object Pascal.

Table 2. Object Pascal.

In recent years, this language has become very popular thanks to the Borland Delphi system.

1.13 Delphi visual object-oriented design system.

The appearance of Delphi could not go unnoticed among numerous computer users. The assessments of experts studying the capabilities of this new Borland product are usually painted in enthusiastic tones. The main advantage of Delphi is that it implements the ideas of visual programming. The visual programming environment turns the process of creating a program into an enjoyable and easy-to-understand design of an application from a large set of graphical and structural primitives.

The Delphi system allows you to solve many problems, in particular:

· Create complete applications for Windows of various types: from purely computational and logical, to graphic and multimedia.

· Quickly create (even for novice programmers) a professional-looking window interface for any application.

· Create powerful systems for working with local and remote databases

· Create help systems(files.hlp) for your applications and many others. etc.

Delphi is an extremely fast-growing system. The first version, Delphi 1.0, was released in February 1995. And then new versions were released annually.

Each subsequent version of Delphi complemented the previous one. Most versions of Delphi are available in several versions: Standart - standard, Professional - professional, Client/Server - client/server, Enterprise - database development subject areas. The options differ mainly in different levels of access to database management systems. The latest options are Client/Server and Enterprise, and are the most powerful in this regard.

Delphi is a combination of several critical technologies:

· High-performance compiler to machine code

Object-oriented component model

· Visual (and, therefore, high-speed) construction of applications from software prototypes

· Scalable tools for building databases

Screen structure in Delphi environment.

After calling Delphi on Windows, several windows appear (Figure 1):

Main window

Form window,

Object inspector window,

Object tree window,

Program code window.


Fig1. Screen structure in Delphi environment.

Let's consider the graphical menu of the Delphi system located at the top of the screen, made up of icons. On the left side of the graphical menu there is a toolbar. Tools execute some main menu commands - such duplication is often practiced in tool environments. On this panel there is, in particular, a button for saving the project on disk, a button for opening a project, and a button for launching the program for execution.

The next part of the graphical menu is the component palette, arranged in the form of sets of icons. The collection of sets constitutes a visual component library (VCL). There are several categories of components, each of which is associated with its own tab. Using the Component Palette, we will create component instances (or objects) on a form.

In order to place an object in the form, you need to “click” on the corresponding palette button and then click inside the form window: an object - an instance of a component of the selected type - will be inserted into the specified place in the form.

The Object Inspector window is a window that displays the properties of either a form or an object placed on the form. In our case, the current component is a form, so in the figure the properties window shows the properties of the form.

The properties window has two tabs - Properties and Events, with which you can get lines (fields) in the window to set, respectively, the properties of a component (i.e. an object or a form) and its reaction to various events. The property specifies an attribute of the component, such as the size of a button or the font of a label. An event means, for example, actions such as clicking a button or closing a window.

The object tree window appeared in version 6 and is designed to visually display connections between individual objects located on the active form or in the active data module.

The program code window is intended for creating and editing program text. It initially contains minimal source code.

Delphi Projects. A Delphi project consists of forms, modules, project parameter settings, resources, etc. All this information is placed in files. Many of these files are automatically created by Delphi when you build your application. Resources, such as bitmaps, icons, etc., are found in files that you obtain from other sources or create using the many tools and resource editors at your disposal. In addition, the compiler also creates files.

The files created during the design process are shown in table. 3.

The main part of the application is the project file (.dpr), which contains the Object Pascal code that starts the program and initializes other modules. It is created and modified automatically by Delphi during application development. The name given to the project file during the saving process becomes the name of the executable file.

Project file (.dpr) This text file used to store information about forms and modules. It contains operators for initializing and launching programs for execution.
Module file (.pas) Each form you create has a module text file that is used to store the code. You can create modules that are not associated with forms. Many of Delphi's functions and procedures are stored in modules.
Shape File (.dfm) This is a binary or text file that is created by Delphi to store forms information. Each form file has a corresponding module file (.pas)
Project Parameters File (.dfo) This file stores project parameter settings
Resource File(.res) This binary file contains the icon used by the project and other resources
Files backup copies(.~dpr, .~dfm, .~pas) These are backup files for project, form and module files, respectively. If something is hopelessly corrupted in the project, you can change the extensions of these files accordingly and thus return to the previous uncorrupted version
Window configuration file (.dsk) The file stores the configuration of all windows of the development environment
Executable file (.exe) This is the executable file of the application. It is autonomous executable file, which doesn't require anything else unless you use libraries contained in DLLs, OCXs, etc.
Module object file (.dcu) This is a compiled module file (.pas) that is linked into the final executable file.

Table 3. Files created during the design process.


Currently, the 7th version of the Delphi system has been released. In record time, it has become one of the most popular systems programming in the world. Many developers around the world are firmly focused on using Delphi as a tool to create highly efficient client-server applications.

Programming evolution tree

Figure 1Programming evolution tree

6. Bibliography:

1. I.T. Zaretskaya, B.G. Kolodyazhny, A.N. Gurzhiy, A.Yu. Sokolov. Computer science 10-11 grade. - K.: “Forum”, 2001

1. Screen structure in the Delphi environment (http://textbook.keldysh.ru/distant/delphi/del_2.htm)

2. Patrikeev Yu. N. “Object-oriented design” (http://www.object.newmail.ru/oop1.html)

3. S. Nemnyugin, L. Perkolab “Learning TurboPascal” - St. Petersburg: Peter, 2002.

2. H.M. Deitel. How to program in S. – M.: “Binom”, 2000.

3. Internet page: http://ru.wikipedia.org/wiki/LISP

Programming is a whole science that allows you to create computer programs. It includes a huge number of different operations and algorithms that form a single programming language. So, what is it and what are the different programming languages? The article provides answers and also provides an overview list of programming languages.

The history of the emergence and changes of program languages ​​should be studied along with the history of the development of computer technologies, because these concepts are directly related to each other. Without programming languages, it would be impossible to create any program for a computer to operate, which means the creation computers would be a pointless exercise.

The first machine language was invented in 1941 by Konrad Zuse, who is the inventor of the Analytical Engine. A little later, in 1943, Howard Aiken created the Mark 1 machine, capable of reading instructions at the machine code level.

In the 1950s, the demand for software development began, and machine language could not handle large amounts of code, so a new way to communicate with computers was created. "Assembler" is the first mnemonic language to replace machine instructions. Over the years, the list of programming languages ​​only increases, because the scope of computer technology becomes wider.

Classification of programming languages

At the moment there are more than 300 programming languages. Each of them has its own characteristics and is suitable for one specific task. All programming languages ​​can be divided into several groups:

  • Aspect-oriented (the main idea is the separation of functionality to increase the efficiency of software modules).
  • Structural (based on the idea of ​​creating a hierarchical structure of individual program blocks).
  • Logical (based on the theory of the apparatus of mathematical logic and the rules of resolution).
  • Object-oriented (in such programming it is no longer algorithms that are used, but objects that belong to a certain class).
  • Multi-paradigm (combine several paradigms, and the programmer himself decides which language to use in a given case).
  • Functional (the main elements are functions that change their value depending on the results of calculations of the source data).

Programming for Beginners

Many people wonder what programming is? Essentially, it is a way to communicate with a computer. Thanks to programming languages, we can put before various devices certain tasks, creating special applications or programs. When studying this science at the initial stage, the most important thing is to choose suitable (interesting to you) programming languages. A list for beginners is given below:

  • Basic was invented in 1964, belongs to the family of high-level languages ​​and is used for writing application programs.
  • Python is quite easy to learn due to its simple, readable syntax, but the advantage is that it can be used to create both regular desktop programs and web applications.
  • Pascal is one of the oldest languages ​​(1969) created for teaching students. Its modern modification is strictly typified and structured, but Pascal is a completely logical language that is understandable on an intuitive level.

Is not full list programming languages ​​for beginners. There are a huge number of syntaxes that are easy to understand and will definitely be in demand in the coming years. Everyone has the right to independently choose the direction that will be interesting to them.

Beginners have the opportunity to speed up their learning of programming and its fundamentals thanks to special tools. The main assistant is the integrated development environment for programs and applications Visual Basic (“Visual Basic” is also a programming language that inherited the style of the Basic language of the 1970s).

Levels of programming languages

All formalized languages ​​intended for creating, describing programs and algorithms for solving problems on computers are divided into two main categories: low-level programming languages ​​(the list is given below) and high-level. Let's talk about each of them separately.

Low-level languages ​​are designed to create machine instructions for processors. Their main advantage is that they use mnemonic notations, i.e., instead of a sequence of zeros and ones (from binary system number) the computer remembers a meaningful abbreviated word from the English language. The most famous low-level languages ​​are “Assembler” (there are several subtypes of this language, each of which has much in common, but differs only in a set of additional directives and macros), CIL (available in the .Net platform) and JAVA Bytecode.

High-level programming languages: list

High-level languages ​​are created for convenience and greater efficiency of applications, they are the exact opposite of low-level languages. Their distinctive feature is the presence of semantic constructs that succinctly and concisely describe the structures and algorithms of the programs. In low-level languages, their description in machine code would be too long and incomprehensible. High-level languages ​​are platform independent. Instead, compilers perform the translator function: they translate the program text into elementary machine instructions.

The following list of programming languages: C ("C"), C# ("C-sharp"), "Fortran", "Pascal", Java ("Java") - is among the most used high-level syntaxes. It has the following properties: these languages ​​work with complex structures, support string data types and operations with file I/O information, and also have the advantage of being much easier to work with due to readability and understandable syntax.

Most used programming languages

In principle, you can write a program in any language. The question is: will it work efficiently and without failure? That is why you should choose the most suitable programming languages ​​to solve various problems. The list by popularity can be described as follows:

  • OOP languages: Java, C++, Python, PHP, VisualBasic and JavaScript;
  • group of structural languages: Basic, Fortran and Pascal;
  • multi-paradigm: C#, Delphi, Curry and Scala.

Scope of programs and applications

The choice of language in which a particular program is written largely depends on the area of ​​its application. So, for example, for working with the computer hardware itself (writing drivers and supporting programs), the best option would be C (“C”) or C++, which are included in the main programming languages ​​(see the list above). And for development mobile applications, including games, you should choose Java or C# (“C-sharp”).

If you have not yet decided which direction to work in, we recommend starting to study with C or C++. They have a very clear syntax and a clear structural division into classes and functions. In addition, knowing C or C++, you can easily learn any other programming language.

More recently, during the 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, an experienced user knows several basic ones perfectly.

What are the most famous programming languages?

In the world of 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 languages programming, but this is incorrect. 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, it turned out comprehensive tool. If we start to look at it by individual functions, it is inferior to languages ​​of narrow specializations.

Independent and secure Java

This English programming language 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. Thanks to this, the 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 quite high level 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 of 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

IN Lately Human-computer communication is gaining popularity. This is not surprising, since information technology is 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 month a large amount, which he will never be paid in his own country if he engages 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 a foreign language and know it at least basic level. Today this can be done online. To do this, it is enough to have a computer connected to the Internet.







2024 gtavrl.ru.