Scientific programming languages.

Image credit: Unsplash

Theory.

A programming language is a formalized language designed to describe programs and algorithms for solving problems on a computer. Programming languages are artificial. In them, syntax and semantics are strictly defined. Therefore, they do not allow free interpretation of expression, which is typical for natural language. Programming languages are divided into two main categories high-level languages and low-level languages :

  • High-level language [high-level language] is a programming language, the means of which provide a description of the task in a visual, easily perceived form, convenient for the programmer. It does not depend on the internal machine codes of any type of computer, so programs written in high-level languages require translation into machine codes by translator or interpreter programs. High-level languages include Fortran, PL/1, Basic, Pascal, C, Ada, etc.

  • A low-level language, [low-level language] is a programming language designed for a certain type of computer and reflecting its internal machine code (see also “machine language“, “machine-oriented language“ and “assembly language“ below).

There are also the following types of programming languages:

  • Algorithmic language is a set of symbols, conventions and rules used to unambiguously describe algorithms and is usually part of a programming language ;

  • nonalgorithmic language [nonalgorithmic language] is a programming language whose texts do not contain instructions on the order of operations and serve only as source material for the synthesis of the algorithm for solving the problem;

  • Formal language [formal language] is a programming language built according to the rules of some logical calculus or formal grammar [formal grammar ], which is a system of rules for constructing finite sign sequences in a given alphabet, the set of which forms a formal language;

  • The source language is the programming language in which the program is written, as opposed to the machine language in which the programs are executed by the computer. The source languages are classified into high - level and low - level languages .

  • Machine ( absolute ) language, computer language [computer (machine) language] is a programming language designed to represent programs in a form that allows them to be executed by technical means;

  • Machine-dependent ( machine-oriented) language, machine-dependent programming language [computer-sensitive (computer-oriented) language] is a programming language that takes into account the structure and characteristics of a computer of a certain type or a specific computer;

  • Machine-independent language [machine-independent language] is a programming language, the structure and means of which are not associated with any particular computer and allow you to execute programs compiled on it on any computer equipped with translators (see below) from this language;

  • Symbolic language, symbolic coding language [symbolic language] - A programming language focused on specific computers and based on encoding machine operations using a specific set of symbols;

  • Hybrid ( combined ) The [hibrid language] language is a programming language that also uses the means of another language;

  • Graphic language [graphic language ] is a language designed for writing machine graphics programs and using them.

  • Base language [base language] –

  • A machine language common to the computer family;

  • A programming language in a DBMS with an autonomous language .

  • Common language - A machine language common to a group of computers and external devices used by them;

  • Reference language [reference language ] - The language that is the basis for all its specific versions, which are variants of the adaptation of the reference language to certain conditions of use and purpose;

  • Assembly language, assembler [assembler language ] is a universal programming language belonging to the category of low-level languages, the structure of which is determined by command formats, machine language data and computer architecture. It is used by programmers in cases when it is impossible to use a high-level language or efficient programs in machine codes are required.

  • Declarative ( non - procedural ) the [declarative (nonprocedural) language] is a programming language that allows you to set relationships and relationships between objects and quantities, but does not define the sequence of actions (for example, the Prolog languages, QBE);

  • Imperative ( procedural ) the language [imperative language] is a programming language that allows you to explicitly (by specifying executed operators) determine actions and the order (sequence) of their execution;

  • Functional programming language, functional language [functional language] is a declarative programming language based on the concept of functions that specify a dependency, but do not determine the order of calculations.

  • Specialized language [special language] - A programming language focused on solving a certain range of tasks;

  • Page Description Language [PDL - Page Description Language] is a specialized language designed for printing devices. Provides for the possibility of using images in a format independent of the parameters of the display device. The most well-known language of this type is PostScript.

  • Autonomous language [freestanding language] - A specialized high-level language, in closed DBMS (“DBMS with an autonomous language");

  • The design language of interactive technologies - In the DBMS - a language designed to describe the technological processes of data processing, taking into account the separation of the nature of operations by their types, as well as providing a dialogue with the system administrator;

  • Data manipulation Language, YAMD [DML - Data Manipulation Language] - In DBMS - a language designed to access the database and perform search, read and modify its records;

  • List processing language [list language] is a specialized language designed to describe data processing processes presented in the form of lists of objects ;

  • Data Description Language [DDL - Data Description Language ] - A language designed to describe the “conceptual schema" of a database ;

  • Data Storage Description Language [DSDL - Data Storage Description Language ] - A language designed to describe a physical structure (schema) databases ;

  • Page description language [page description language] A system for encoding documents that allows you to accurately describe its appearance after preparing for printing or display. An example of using such a language is PDF (Portable Document Format), developed by Adobe for storing and presenting images of pages.

  • Knowledge Representation Language [KRL - Knowledge Representation Language] - Declarative or declarative-procedural language designed to represent knowledge in computer memory (for example, Lisp and Prolog languages);

  • Publication language [publication language ] - The language used for publishing algorithms and programs;

  • Specification language [specification language] - Declarative language for specifying program specifications ;

  • Problem-oriented language [problem-oriented language] - A programming language designed to solve a certain class of problems (problems);

  • Procedural (procedural-oriented) the [procedure-orinted language] is a problem-oriented language that facilitates the expression of a procedure as an exact algorithm;

  • Real-time language [real-time language] - A language used for programming tasks in which the reaction time of a computer to signals requiring immediate action from it is critical (for example, the language of Hell);

  • Batch control language [batch control language ] - A set of commands , directives , qualifiers and rules for their use to control batch processing of data;

  • Job management language [job-control language ] - The language in which the sequence of commands controlling the execution of the task is recorded. Unlike conventional programming languages, in which the objects of description are elements related to the solution of a single task, in task management languages, the transformed objects are entire programs and output streams of data processed by these programs.

  • Network-wide command language [CNCL - Common Network - Command language] is a standard language for interactive data retrieval within a computer network, designed to unify the work of users with heterogeneous databases managed by various DBMS ;

  • System language [system language ] - The language of communication between the computer operator and the computer system, which is a set of operator commands and system messages;

  • General-purpose language, universal language [universal programming language] - A programming language focused on solving problems from almost any field and combining on a single methodological basis the most essential properties and tools of modern machine- and problem-oriented programming languages (for example, assembly language, PL/1, etc.);

  • User-oriented language [user-oriented language ] - A weakly formalized programming language close to a natural language ;

  • Menu language [menu language ] - The language of the user’s dialogue with the system, based on the use of the menu.

Development and naming of programming languages

  • Ada [Ada] is a high-level programming language focused on application in real-time systems and designed to automate the tasks of controlling processes and/or devices, for example, in on-board (ship, aviation, etc.) computers. Developed on the initiative of the US Department of Defense in the 1980s. Named after the English mathematician Ada Augusta Byron (Lovelace), who lived in 1815-1851.

  • Algol [ALGOL - ALGOrithmic Language] is a high-level programming language focused on the description of algorithms for solving computational problems. It was created in 1958 by specialists of Western European countries for scientific research. The Algol-60 version of this language was adopted by an international Conference in Paris (1960) and was widely used on 2nd generation computers. The Algol-68 version, developed by a group of specialists of the International Federation for Information Processing (IFIP) in 1968, received the status of an international universal programming language focused on solving not only computational, but also information problems. Although Algol is practically not used at present, it served as the basis or had a significant impact on the development of more modern languages, for example, Ada, Pascal, etc.

BASIC [BASIC - Beginner’s All-purpose Symbolic Instruction Code] is a high-level programming language developed in 1963 - 1964 at Dartmouth College by Thomas Kurt and John Kemeny. It was originally intended for teaching programming. It is characterized by simplicity, easily assimilated by novice programmers due to the presence of simplified Fortran language constructions and built-in mathematical functions, algorithms and operators. There are many different versions of Basic that are not fully compatible with each other. Some Basic implementations include data processing tools and datasets. Most versions of Basic use an interpreter that converts its components into machine code and allows you to run programs without intermediate translation. Some more advanced versions of Basic allow the use of translators for this purpose. Microsoft’s Quick Basic, Borland’s Turbo Basic, and Power Basic (an improved version of Turbo Basic distributed by Spectra Publishing) are widely used on IBM PCs. At the beginning of 1999 Microsoft has released a version of Visual Basic 6.0 (VB 6.0), designed to create multicomponent software applications for enterprise-level systems. For more information about it, see [429].

  • Cobol [COBOL - COmmon Buisiness-Oriented Language] is a high-level programming language developed in the late 1950s by the KADASIL Association to solve commercial and economic problems. It is distinguished by advanced means of working with files. Since the commands of programs written in this language actively use the usual English vocabulary and syntax, Cobol is considered as one of the simplest programming languages. Currently it is used to solve economic, informational and other tasks.

  • Lisp [LISP - LISt Processing] is an algorithmic language developed in 1960 by J. McCarthy and designed to manipulate lists of data elements. It is used mainly in university laboratories in the USA to solve problems related to artificial intelligence. In Europe , they prefer to use a Prologue for work on artificial intelligence .

  • LOGO [LOGO from Greek logos - word ] is a high-level programming language developed at the Massachusetts Institute of Technology in approximately 1970 for the purpose of teaching mathematical concepts. It is also used in schools and by PC users when writing programs for creating drawings on a monitor screen and controlling a pen graph builder .

  • Pascal [PASCAL is an acronym from French - Program Applicque a la Selection et la Compilation Automatique de la Litterature] is a high-level procedural-oriented programming language developed in the late 1960s. By Niklaus Wirth, originally for teaching programming at universities. It is named after the 17th-century French mathematician Blaise Pascal. In its initial version, Pascal had rather limited capabilities, since it was intended for educational purposes, but its subsequent improvements made it a good universal language, widely used, including for writing large and complex programs. There are a number of versions of the language (for example, ETH Pascal, USD Pascal, Turbo Pascal) and programming systems in this language for different types of computers. For IBM PC, the most popular is the Turbo Pascal system from Borland (USA). For more information about the Pskov languages and their development, see [653].

  • Prolog [PROLOG - PROgramming in LOGic] is a high-level declarative programming language (see declarative programming above) designed for the development of artificial intelligence systems and programs. It belongs to the category of fifth-generation languages. It was developed in 1971 at the University of Marseille (France), is one of the widely used and constantly developing languages. Its latest version is Prolog 6.0. For more details, see [561].

  • C [C ] is a multi-purpose high-level programming language developed by Denis Ritchie in the early 1970s based on the BCPL language. It is used on minicomputers and PCs. It is the basic language of the Unix operating system, but it is also used outside of this system to write high-speed and efficient software products, including operating systems. There are a number of popular versions of the C language for IBM PC, including Turbo C (by Borland), Microsoft C and Quick C (by Microsoft), as well as Zortech C (by Symantec). Many of these versions also provide work with C and C++ (see below).

  • C++ [C++] is a high-level programming language created by Bjarne Stroustrap based on the C language. It is an extended version of it that implements the principles of object-oriented programming. It is used to create complex programs. For IBM PC, the most popular is the Turbo C++ system from Borland (USA).

  • C# (C Sharp) – “C Sharp”: an object-oriented programming language, the development of which was announced by Microsoft in 2000. By its nature, it resembles the C++ and Java languages and is intended for software developers using the C and C++ languages so that they can create Internet applications more efficiently. It is indicated that C # will be closely integrated with the XML language. For more information, see – [600], as well as on the Microsoft Web site (http://msdn.microsoft.com ).

  • Fortran [FORTRAN - FORmula TRANslation] is a high-level programming language developed by IBM in 1956 to describe algorithms for solving computational problems. It belongs to the category of procedural-oriented languages. The most common versions of this language are Fortran IV, Fortran 77 and Fortran 90. It is used on all classes of computers. Its latest version is also used on computers with parallel architecture .

    AppleScript is a machine-dependent (focused on working with Apple Macintosh-type PCs) programming language close to natural English, designed to automate repetitive tasks mainly related to computer graphics processes (including processing scan results, image input, color separation, cataloging, transferring printed documents to the World Wide Web, etc.). It was planned to develop a version of this language for PowerPC. For more information about it, see [198].

  • Clipper is a high-level language and programming system designed for the development of programs for personal computers, mainly systems for managing large amounts of data (see “DBMS"). The owner and developer of the Clipper language and system is the company Nantucket (USA). The beginning of work on their creation is associated with the development of a compiler for dBase (see below) and dates back to 1984 (the year of the founding of the company Nantucket by Barry Rebell and Brian Russell). The first Clipper software products were ClipperWinter’84 (May 1985), ClipperWinter’85 (January 1986), McMax (Macintosh PC version - September 1986) and ClipperSummer’87 (December 1987). In the summer of 1990, a version of the Clipper 5.0 language was released, which became widespread in Russia. It implements the concept of an open architecture and is a language, compiler and software development system for PCs, including a set of commands and functions, a preprocessor, a linker, a set of utilities (including a debugger and embedded documentation) [173].

  • dBASE -

    1. A high-level programming language designed to create packages of application programs related to the manipulation of large amounts of data (Xbase). The first version of the dBase II language was released in the early 1980s, in August 1994, the version of dBase 5.0 for Windows was released (for more details, see [79]);

    2. A family of PC programs designed to manipulate large amounts of data.

  • FoxPro is an object-oriented language designed to create application software packages, including for modern operating systems, for example, the version of this language FoxPro for Windows. For one of the latest versions of this language, Microsoft’s Visual FoxPro 3.0, see [84].

  • SGML (Standardized General Markup Language) – “Standardized Generalized Markup Language". The development of the language was caused by the need to create tools for describing documents and rules for their construction. To define the structure of a document, special labels are used – “tags” that separate document elements and Document Type Definition files (DTD) from each other, performing the functions of a “grammar” and defining the structure and content of each element in the document. Adopted by ISO as a standard in the 80s. The complexity of this language prevented it from forming the basis of the first specification for Web – HTML, which became a derivative of SGML [336].

  • html, html (HyperText Markup Language) - “Hypertext Markup Language” was developed at the CERN Research Center in 1992. It is derived from SGML (see below). html sets the format of hypermedia documents in the WWW network. HTML documents are ASCII files that can be viewed and edited in any text editor. The difference from a regular text file is the presence in HTML documents of special commands - tags that specify the formatting rules of the document [114, 141, 329, 336]. The full html description can be obtained at the network address: <http://www . access.digex.net/^werbach/barebone.html>

Syachinova Kseniya Ivanovna
Syachinova Kseniya Ivanovna
Student of RUDN

Hello everyone! My name is Ksenia and I am 20 years old. She has lived all her life in the small town of Lebedyan. But now I have moved to Moscow and am a student of RUDN. My specialty is ‘Mathematics and Mechanics’. This direction turned out to be interesting for me, as I have always loved mathematics for its logic.