History of programming languages. The world's first programming language The history of programming languages ​​briefly

History of programming languages. The world's first programming language The history of programming languages ​​briefly

07.12.2023

>> Articles

How did programming languages ​​appear?

Programming languages ​​were created over several decades, and this work was long, complex and tedious. In essence, machine language is a chain of logically arranged zeros and ones, a violation of the sequence of which will lead to a program stop and a computer malfunction, and the requirements for programmers who created new ways of writing commands depended on the development of machines.

History of Programming Languages: The Beginning

The beginning of the 40s was marked by the appearance of the first language for programs - assembler, which included a set of short words or their abbreviations in the command. Assembly is considered a low-level programming language, which is why it is called a machine-oriented language. However, programs written in this language are distinguished by their efficiency and performance.

High-level languages: algorithmic languages

The development of technology and the introduction of new types of digital devices forced programmers to invent a higher-level language with a writing focus on algorithms. This is how additional translator programs appeared that launched the algorithm. There are two known translation methods:

- Compilation or compilation, when instructions come into effect after the entire program package has been translated;

- Interpretation or interpretation, in which the execution and translation of machine language is carried out in a synchronous manner.

The features of such programs are: ease of creation (writing code), the ability to adjust while using, ease of reading.

Year 1954: structured programming

The world became aware of the first compiler of a very high-level programming language. We are talking about Fortran, from the English abbreviation FORmula TRANslator. The development of the language became simpler, but when composing large programs, the language became practically unreadable, although many versions of Fortran were released.

The peak of development of programming languages ​​occurred precisely in the 50-60s, then several options were created:

- Algol(1958), created on the basis of isolated blocks;

- Cobol(1959) - language of business and management, C+ basis;

- Basic(1965), known to programmers to this day.

In 1970, a programming language was created, named after the scientist B. Pascal - Pascal. The programs created in this language were easy to read, and there were no difficulties in learning. The simple, well-structured language continues to be popular among beginning programmers.

Somewhat later, in 1972, a second programming language was developed - C, which incorporated the achievements of previously created languages ​​and innovations; it became perhaps the most popular among users and program creators. Simple, well-structured, easy to learn, C is becoming a favorite among other languages.

Object-Oriented Programming (OOP): 1970

The ideology of procedural programming for functions not formally related to processing forced developers to sit down to create a new concept for composing a language. The basis of OOP concepts are:

Model of an object that does not yet exist;

Class instance;

Abstraction, giving characteristics to an object;

Encapsulation, when properties and methods are combined with the goal of hiding data;

Inheritance;

Polymorphism.

The first language was Simula, a little later Smalltalk was invented. Currently, this type of program language is supported by modern programs: Object Pascal (Delphi), C++, C#, Java.

The sequence of development of programming languages ​​depends on the introduction of new innovations, so after the advent of the Internet, a language became necessary for accessing resources and sites. Technology World Wide Web (WWW) gave birth to new languages ​​that are still actively used today: Java, Perl, SQL, HTML, PHP, JavaScript.

Consisted of installing key switches on the front panel of the computing device. Obviously, only small programs could be written in this way.

With the development of computer technology, machine language appeared, with the help of which the programmer could set commands, operating with memory cells, fully using the capabilities of the machine. However, using most computers at the machine language level is difficult, especially when it comes to input/output. Therefore, we had to abandon its use.

For example, to read a block of data from a floppy disk, the programmer can use 16 different commands, each of which requires 13 parameters, such as the block number on the disk, the sector number on the track, etc. When the disk operation completes, the controller returns 23 values ​​reflecting the presence and types of errors that need to be analyzed.

"Words" in machine language are called instructions, each of which represents one elementary action for the central processor, such as, for example, reading information from a memory cell.

Each processor model has its own set of machine instructions, although most of them are the same. If Processor A fully understands the language of Processor B, then Processor A is said to be compatible with Processor B. Processor B will be said to be incompatible with Processor A if A has instructions that are not recognized by Processor B.

Throughout the 60s, demands for software development increased and programs became very large. People began to realize that creating software was a much more difficult task than they had imagined. This led to the development of structured programming. With the development of structured programming, the next advancement was procedures and functions. For example, if there is a task that is executed several times, then it can be declared as a function or procedure and simply called during program execution. The overall program code in this case becomes smaller. Functions allow you to create modular programs.

The next advance was the use of structures, which led to classes. Structures are composite data types built using other types. For example, the structure of time. It includes: hours, minutes, seconds. The programmer could create a time structure and work with it as a separate structure. A class is a structure that has its own variables and functions that work with these variables. This was a very big achievement in the field of programming. Now programming could be divided into classes and tested not the entire program, consisting of 10,000 lines of code, but the program could be divided into 100 classes and tested each class. This made writing a software product much easier.

Assembly language

In the case when it is necessary to have an effective program, instead of machine languages, machine-oriented languages ​​that are close to them are used - assemblers. People use mnemonic commands instead of machine commands.

But even working with assembler is quite complicated and requires special training.

Structured programming involves precisely defined control structures, program blocks, no unconditional jump (GOTO) instructions, self-contained subroutines, support for recursion and local variables.

The essence of this approach is the ability to split a program into its component elements.

Also created functional(applicative) languages ​​(Example: Lisp - English. LISt Processing, 1958) and brain teaser languages ​​(example: Prolog - English) PROgramming in LOGic, 1972).

Although structured programming, when used, has produced outstanding results, even it fails when the program reaches a certain length. In order to write a more complex (and longer) program, a new approach to programming was needed.

OOP

As a result, the principles of object-oriented programming were developed in the late 1970s and early 1980s. OOP combines the best principles of structured programming with powerful new concepts, the basic ones being called encapsulation, polymorphism, and inheritance.

Examples of object-oriented languages ​​are Object Pascal, C++, Java, etc.

OOP allows you to optimally organize programs by breaking a problem into its component parts and working with each separately. A program in an object-oriented language, solving a certain problem, essentially describes a part of the world related to this problem.

An example of writing a program in different languages

High level language (Delphi)

X : = sin (y* Pi) + 1 ;

x86 assembler (coprocessor)

Fldpi fmul qword ptr [ Y] fsin fld1 fadd p st (1), st (0) fstp qword ptr [ X]

Machine code (hexadecimal, each command starts on a new line)

D9 EB DC 0D D0 97 40 00 D9 FE D9 E8 DE C1 DD 1D 98 97 40 00

Machine code (binary representation)

11011001 11101011 11011100 00001101 11010000 10010111 01000000 00000000 11011001 11111110 11011001 11101000 11011110 11000001 11011101 00011101 10011000 10010111 01000000 00000000

Links


Wikimedia Foundation. 2010.

  • Aye-aye
  • Kabanov, Nikolai Alexandrovich

See what “History of Programming Languages” is in other dictionaries:

    History of the Python programming language- Python was conceived in the 1980s and its creation began in December 1989 by Guido van Rossum as part of the Center for Mathematics and Computer Science in the Netherlands. The Python language was conceived as a descendant of the ABC programming language, capable of processing... ... Wikipedia

    Chronology of programming languages- Lists of programming languages ​​By category Chronological Genealogical Chronology of programming languages ​​A chronologically organized list of programming languages. Contents... Wikipedia

    Comparison of programming languages- This article should be Wikified. Please format it according to the article formatting rules. Conventions... Wikipedia

    A Brief History of the Development of Programming Languages- As computer technology developed, different programming techniques arose. At each stage, a new approach was created that helped programmers with the increasing complexity of programs. Contents 1 Beginning of development 2 Assembly language 3 Structure ... Wikipedia

    History of logic- studies the development of science about the forms and laws of correct thinking (logic). The emergence of logic as a developed analysis of the principles of inference relates exclusively to three local civilizations, namely: China, India and Ancient ... ... Wikipedia

    History of Linux- This article or section needs to be revised. Please improve the article in accordance with the rules for writing articles... Wikipedia

    History of free software- The phrase “Free Software”, or Free Software, refers to products distributed under liberal licenses that provide the user with more options than traditional software licenses... ... Wikipedia

Let me highlight some general trends in the development of programming languages. The astute reader has probably already guessed what I am going to say a long time ago. Languages ​​evolve towards greater and greater abstraction. And this is accompanied by a drop in efficiency. Question: is abstraction worth it? Answer: worth it. It’s worth it, since increasing the level of abstraction entails increasing the level of programming reliability. Low efficiency can be combatted by building faster computers. If memory requirements are too high, you can increase the memory size. This, of course, takes time and money, but it can be solved. But there is only one way to deal with errors in programs: they must be corrected. Or better yet, don’t do it. Better yet, make it as difficult as possible to commit them. And this is precisely what all research in the field of programming languages ​​is aimed at. And you have to come to terms with the loss of efficiency.

The purpose of this review was to try to give the reader an idea of ​​the variety of existing programming languages. Among programmers there is often an opinion about the “universal applicability” of a particular language (C, C++, Pascal, etc.). This opinion arises for several reasons: lack of information, habit, inertia of thinking. I tried to slightly compensate for the first factor. Regarding the rest, I can only say that a true professional must constantly strive to improve his professional qualifications. And for this you need not to be afraid to experiment. So what if everyone around you writes in C/C++/VB/Pascal/Perl/Java/… (underline as appropriate)? Why not try something new? What if this turns out to be more effective? Of course, before you start using a new language, you need to carefully study all its features, including the availability of an effective implementation, the ability to interact with existing modules, etc., and only then make a decision. Of course, there is always a risk of going the wrong way, but... Only those who do nothing make no mistakes.

And further. I have heard and sometimes participated in discussions like “language A is better than language B.” I hope that after reading this review, many will be convinced of the pointlessness of such disputes. The maximum that can be discussed is the advantages of one language over another when solving a particular problem under certain conditions. This is where there really is sometimes something to argue about. And the solution is sometimes not at all obvious. However, arguing “in general” is obvious stupidity.

This article was intended as a response to those who cry “language X MUST DIE”. I hope that the answer turned out to be quite adequate and convincing. I also hope that the article has, in addition to polemical, educational value.

Beginning of development

Assembly language

In the case when it is necessary to have an effective program, instead of machine languages, machine-oriented languages ​​that are close to them are used - assemblers. People use mnemonic commands instead of machine commands.

But even working with assembler is quite complicated and requires special training.

For example, for the Zilog Z80 processor, machine instruction 00000101 instructs the processor to decrement its B register by one. In assembly language this will also be written as DEC B.

Structured programming

The next step was taken in 1954, when the first high-level language, Fortran, was created. FORTRAN - FORmula TRANslator). High-level languages ​​imitate natural languages ​​by using some spoken language words and common mathematical symbols. These languages ​​are more convenient for humans; with their help, you can write programs up to several thousand lines in length. However, while easily understood in short programs, the language became unreadable and difficult to manage when it came to larger programs. The solution to this problem came with the invention of structured programming languages. structured programming language ), such as ALGOL (1958), Pascal (1970), C (1972).

Structured programming involves precisely defined control structures, program blocks, no unconditional jump (GOTO) instructions, self-contained subroutines, support for recursion and local variables.

The essence of this approach is the ability to split a program into its component elements.

Also created functional(applicative) languages ​​(Example: Lisp - English. LISt Processing, 1958) and brain teaser languages ​​(example: Prolog - English) PROgramming in LOGic, 1972).

Although structured programming, when used, has produced outstanding results, even it fails when the program reaches a certain length. In order to write a more complex (and longer) program, a new approach to programming was needed.

OOP

As a result, the principles of object-oriented programming were developed in the late 1970s and early 1980s. OOP combines the best principles of structured programming with powerful new concepts, the basic ones of which are called encapsulation, polymorphism And inheritance.

Examples of object-oriented languages ​​are: Object Pascal, C++,

OOP allows you to optimally organize programs by breaking a problem into its component parts and working with each separately. A program in an object-oriented language, solving a certain problem, essentially describes a part of the world related to this problem.

Links

  • History of programming and computing

Wikimedia Foundation. 2010.

See what “A Brief History of the Development of Programming Languages” is in other dictionaries:

    A programming language is a formal sign system designed to write programs. A program usually represents some algorithm in a form understandable to the implementer (for example, a computer). The programming language determines the set... ... Wikipedia

    Ruby Semantics: multi-paradigm Execution type: interpreter Appeared in: 1995 Author(s): Yukihiro Matsumoto Latest version: 1.9.1 ... Wikipedia

    Ruby Semantics: multi-paradigm Type of execution: interpreter Appeared in: 1995 Author(s): Yukihiro Matsumoto Latest version: 1.9.1 ... Wikipedia - (Haykakan Sovetakan Socialistakan Hanrapetutyun) Armenia (Hayastan Country of Armenians). I. General information The Armenian SSR was founded on November 29, 1920. From March 12, 1922 to December 5, 1936, it was part of the Transcaucasian Federation (See... ...

    - (Lietuvos Taribu Socialistine Republic) Lithuania (Lietuvos). I. General information The Lithuanian SSR was formed on July 21, 1940. Since August 3, 1940, it has been part of the USSR. Located in the western European part of the USSR. Borders on the north with... ... Great Soviet Encyclopedia

    Buran OK GLI sample (BTS 002) for testing in the atmosphere. Aviation and space salon MAKS, 1999 ... Wikipedia

If you are thinking of learning programming, the programming language you decide to choose first is of great importance, it should be related to what you want to do in the future and be relevant. While programming in general is not for the lazy, some languages ​​are easier to learn than others and have communities that are dedicated to learning and offer useful skills for learning other programming languages.

Selection scheme

There are questions that are asked so often that entire diagrams are created to answer them. Here, for example, is one of them, dedicated to choosing the first programming language.

When choosing your first programming language, you should soberly evaluate the following factors:

  • Labor market.
  • Long-term prospects for language.
  • Difficulty learning a language.
  • What exactly can you create in the process of studying, and, showing others, maintain motivation.

Popularity and demand

JavaScript

JavaScript, not to be confused with Java, is a programming language that was developed in the 90s by Brendan Eich, formerly of Netscape Communications and now of the Mozilla Foundation. JavaScript is one of the fundamental technologies that powers the web community as we know it. Don't be fooled, although JavaScript exists outside of the browser, it exists primarily in the context of connected applications and services.

The language itself is dynamic and gives programmers the flexibility to use object-oriented programming styles (since the language itself is primarily object-oriented), as well as functional and imperative. It derives most of its syntax from C, and if you plan to do any web development in any way, learning JavaScript should be on your list.

Luckily, JavaScript is relatively easy to learn, already in your browser for you to play with, and although it's been around for a while, it's quickly gaining popularity. Many of you who have nominated it have noted that your bang for the buck when learning JavaScript is huge because you can immediately use it to build things for the web, which may very well be what a lot of people learn to code.

Python

I can also recommend Python.

Despite a number of problems historically inherent to Python, it continues to be a leading tool in a number of niches:

Impressive, isn't it? As for large and popular projects written in Python, these are such monsters as:

You can also find on our website.

© 2023 hecc.ru - Computer technology news