Проект "Programming and its basics"
Programming and its basics Performed by a student of the group: ISI-P 21-2, Trokhin A. Reviewed by a teacher: Pokhilenko D.
Computer programming language A programming language is a system of notation for writing computer programms. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming language is usually split into the two components of syntax (form) and semantics (meaning), which are usually defined by a formal language. Some languages are defined by a specification document (for example, the C programming language is specified by an ISO Standard) while other languages (such as Perl) have a dominant implementation that is treated as a reference. Some languages have both, with the basic language defined by a standard and extensions taken from the dominant implementation being common. Programming language theory is the subfield of computer science that studies the design, implementation, analysis, characterization, and classification of programming languages.
The term computer language is sometimes used interchangeably with programming language. programming languages as a subset of computer languages: Similarly, languages used in computing that have a different goal than expressing computer programs are generically designated computer languages. For instance, markup languages are sometimes referred to as computer languages to emphasize that they are not meant to be used for programming. One way of classifying computer languages is by the computations they are capable of expressing, as described by the theory of computation. The majority of practical programming languages are Turing complete, and all Turing complete languages can implement the same set of algorithms. ANSI/ISO SQL-92 and Charity are examples of languages that are not Turing complete, yet are often called programming languages. However, some authors restrict the term "programming language" to Turing complete languages. programming languages as theoretical constructs for programming abstract machines and computer languages as the subset thereof that runs on physical computers, which have finite hardware resources. John C. Reynolds emphasizes that formal specification languages are just as much programming languages as are the languages intended for execution. He also argues that textual and even graphical input formats that affect the behavior of a computer are programming languages, despite the fact they are commonly not Turing-complete, and remarks that ignorance of programming language concepts is the reason for many flaws in input formats.
Object-Oriented Programming Language types Problem-Oriented Language (4GL) Scripting Programming Language Functional Programming Logic Programming Language Different Types of Computer Programming Languages
Machine and assembly languages Assembly language, as a programming language, i.e. more understandable to a programmer than a machine language, still retains all the values of the machine language. The computer reads programs in assembly language and translates them into machine language, in the form that the computer understands. This process, called "assembling" the program, is actually a translation from one language to another. The operation of translating from an assembler language into a machine language is performed by a program called an assembler. Assembly language is not like languages like Fortran, Cobol or Pascal. These languages, like many others like them, are high-level languages. High-level languages are designed to be able to deal directly with the task being solved by the program. As such, they are sometimes called procedural languages because they describe the procedure used to solve a problem. High-level languages are machine-independent. A program written in Fortran for an IBM PC will work correctly and give the same results when executed on an IBM/370. the programming language does not depend on the machine.
An algorithmic programming language is a formal language used to write, implement, and study algorithms. Every programming language is an algorithmic language, but not every algorithmic language is suitable for use as a programming language. Semantics Syntax Alphabet is a set of characters fixed for a given language (letters, numbers, special characters, etc.) that can be used when writing a program. is the rules for constructing special constructions from alphabet symbols, with the help of which the algorithm is compiled. is a system of rules for interpreting language constructions.
Declarative languages A declarative programming language is a high—level programming language in which, instead of a step-by-step algorithm for solving a problem ("how" to solve a problem), "what" is required to be obtained as a result is described. The mechanism for processing matching with a sample of declarative statements is already implemented in the language device. A typical example of such languages are logical programming languages (languages based on a system of rules).An example of a declarative language is HTML, which describes the content of a page, and not the way it is displayed on the screen. The popular Maven package builder describes only dependencies between packages, not the sequence of their installation. The SQL query language describes what we want to get from the database, how exactly the server decides.
Dynamic parsing languages read instructions from the program file in minimal required blocks, and execute these blocks without reading further code. Precompiled languages first read the entire program, compile it all either into machine code or into some internal format, and only then execute the resulting code. Scripting language (also called scripting language) is a programming language designed to record "scripts", sequences of operations that a user can perform on a computer. Simple scripting languages used to be often called batch processing languages (batch languages or job control languages). Scripts are always interpreted, not compiled.
HTML this is a data representation technology that does not carry meaningful information other than contained in tags. The significance of tags in this language is not defined, so it is impossible to imagine a hierarchy of data. Browsers are used as a platform for applications. XML it is used for marking up standard documents in much the same way as HTML. However, XML is focused on working with structured data, such as the results of a query, meta-information about a Web site, or elements and schema type. Document formatting languages used on the Internet are hypertext markup languages and scripting, applets and scripts for WWW (World Wide Web) publications. Today, quite a lot of different programming languages have been developed, either specifically focused on use on the Web, or including functions designed for the Internet. The most common markup languages of Web pages are HTML, XML, HTML scripting languages - Java, JavaScript, PHP, Perl. This also includes the VRML virtual reality modeling language, which is used to create three-dimensional graphic scenes and scenarios.
C# C++ F# Java Delphi Eiffel Simula D Io Objective-C Inheritance Swift Object Pascal VB.NET Visual DataFlex Perl PowerBuilder Python Scala ActionScript (3.0) Encapsulation JavaScript JScript .NET Ruby Smalltalk Ada Xbase++ X++ Vala PHP Cyclone Polymorphism Object-oriented languages An object-oriented programming language (OO-language) is a language built on the principles of object—oriented programming. The concept of object-oriented programming is based on the concept of an object — an entity that combines fields (data) and methods (actions performed by the object).
Web scripting The process of creating and embedding scripts in a web page is known as web scripting. A script or computer script is a list of commands that are usually embedded in a web page and interpreted and executed by a specific program or script engine. Scripts can be written for various purposes, for example, to automate processes on a local computer or to create web pages. The programming languages in which scripts are written are called scripting language, and many scripting languages are available today. Common scripting languages are VBScript, JavaScript, ASP, PHP, PERL, JSP, etc.
Client-side scripting is responsible for interaction within the web page. Client scripts are first loaded on the client side, and then interpreted and executed by the browser (the default browser of the system). Client-side scripting depends on the browser. The client-side browser must be enabled to run scripts Client-side scripting is used when client-side interaction is used. Some examples of using client-side scripts may be :- To get data from the user's screen or browser.- For playing online games.- Setting up the page display in the browser without reloading or reopening the page. Here are some popular client scripting languages VBScript, JavaScript, hypertext processor (PHP). Client scripts Server scripts 1.Server scripts are responsible for completing or executing a task on the server side, and then sending the result on the client side. In the server script, it doesn't matter which browser is used on the client side, because the server does all the work. Server scripts are mainly used when information is sent to the server and processed on the server side. Some examples of using server-side scripts may be :- Password protection.- Browser configuration (sending information in accordance with the requirements of the client browser)- Form processing- Creation/ creation and display of pages created from the database.- Dynamic editing, changing or adding content to a web page. Here are some popular server scripting languages PHP, Perl, ASP (active server pages), JSP (Java Server Pages).
FORTRAN Fortran is the first high—level programming language that has received practical application, has a translator and has experienced further development. It was created in the period from 1954 to 1957 by a group of programmers led by John Backus at IBM Corporation. The name Fortran is an abbreviation of FORmula TRANslator. Fortran is widely used primarily for scientific and engineering computing. One of the advantages of modern Fortran is a large number of programs and subroutine libraries written on it. Most of these libraries are actually the property of mankind: they are available in source code, well documented, debugged, and highly effective.
FORTRAN «Hello World» program in the FORTAN programming language
ALGOL Algol (English Algol from algorithmic language — "algorithmic language") is the name of a number of programming languages used in the compilation of programs for solving scientific and technical problems on a computer. Developed by the IFIP High-level Language Committee in 1958-1960. Radically redesigned in 1964-1968 (Algol 68). One of the first high-level languages. It was popular in Europe, including in the USSR, as a language for both practical programming and academic language (the language for publishing algorithms in scientific papers), but in the USA and Canada it could not surpass Fortran, which is widespread there. He had a noticeable influence on all imperative programming languages developed later — in particular, on the Pascal language. Usually the name Algol (without specifying the version) is called Algol 60, while Algol 68 is considered as an independent language.
ALGOL «Hello World» program in the ALGOL programming language
C Si (from Lat. letters C) is a compiled statically typed general—purpose programming language developed in 1969-1973 by Bell Labs employee Dennis Ritchie as a development of the Bi language. It was originally developed to implement the UNIX operating system, but was later ported to many other platforms. According to the design of the language, its constructions closely match typical machine instructions, thanks to which it found application in projects for which the assembly language was peculiar, including both in operating systems and in various application software for a variety of devices — from supercomputers to embedded systems. The C programming language has had a significant impact on the development of the software industry, and its syntax has become the basis for programming languages such as C++, C#, Java and Objective-C.
C «Hello World» program in the C programming language
COBOL COBOL is a compiled computer programming language designed for business use. Cobol uses English—language keywords, although there were implementations of it with the translation of keywords into other languages, in particular into Russian. It is an imperative, procedural and, since 2002, object-oriented language. COBOL is mainly used in business, financial and administrative systems for companies and governments. COBOL is still widely used in applications deployed on mainframes, such as large-scale batch jobs and transaction processing jobs. However, due to the decline in its popularity and the retirement of experienced COBOL programmers, programs are being translated to new platforms, rewritten into modern languages or replaced with specialized software packages. Most of the programming in COBOL is now exclusively designed to support existing applications; However, many large financial institutions were still developing new systems in the COBOL language as early as 2006.
COBOL «Hello World» program in the COBOL programming language
SQL SQL (Structured Query Language is a declarative programming language used to create, modify and manage data in a relational database managed by a corresponding database management system. It is, first of all, an information-logical language designed to describe, modify and extract data stored in relational databases. In general, SQL (without a number of modern extensions) is considered an incomplete Turing programming language, but at the same time, the standard of the language with the SQL/PSM specification provides for the possibility of its procedural extensions. With all its changes, SQL remains the most common linguistic means for the interaction of application software with databases. At the same time, modern DBMS, as well as information systems using DBMS, provide the user with advanced means of visual query construction.
SQL «Hello World» program in the SQL programming language
BASIC BASIC (short for Beginner's All-purpose Symbolic Instruction Code — a universal code of symbolic instructions for beginners) is a family of high—level programming languages. It was developed in 1964 by Dartmouth College professors Thomas Kurtz and John Kemeny. The language was created as a tool with which non-programming students could independently create computer programs to solve their problems. It has become widespread in the form of various dialects, primarily as a language for home computers. To date, it has undergone significant changes, significantly moving away from the simplicity characteristic of the first versions, bordering on primitivism, and turning into a fairly ordinary high-level language with a typical set of features. It is used as an independent language for the development of application programs, mainly running under Windows OS of various versions. It is also widely used as an embedded language of application software systems for various purposes and as a language for programmable calculators.
BASIC «Hello World» program in the BASIC programming language
PASCAL Pascal is an imperative and procedural programming language, designed by Niklaus wirth as a small, efficient language intended to encourage good programming practices using structured programming and data structuring. It is named in honor of the French mathematician, philosopher and physicist Blaise Pascal. Pascal was developed on the pattern of the algol 60 language. Wirth was involved in the process to improve the language as part of the ALGOL X efforts and proposed a version named ALGOL W. This was not accepted, and the ALGOL X process bogged down. In 1968, with decided to abandon the ALGOL X process and further improve ALGOL W, releasing this as pascal in 1970.
PASCAL «Hello World» program in the PASCAL programming language
LOGO Logo is a high—level programming language developed in 1967 by Wally Ferzeg, Seymour Papert and Cynthia Solomon for educational purposes to teach preschool and primary school children basic programming concepts (recursion, extensibility, etc.). The first scientific confirmation of the success of using the Logo as a teaching tool was demonstrated by Idit Harel, a student of Papert, who used the Logo to teach children programming and fractions in 1988. Logo provides an environment in which children can develop their reasoning and problem solving skills.
LOGO «Hello World» program in the LOGO programming language
HyperTalk HyperTalk is a discontinued high-level, procedural programming language created in 1987 by Dan Winkler and used in conjunction with Apple Computer's HyperCard hypermedia program by Bill Atkinson. Because the main target audience of HyperTalk was beginning programmers, HyperTalk programmers were usually called "authors" and the process of writing programs was known as "scripting". HyperTalk scripts resembled written English and used a logical structure similar to that of the Pascal programming language.
MetaCard is a clone of the HyperCard system for Unix The language has been further developed in systems: LiveCode is a cross-platform environment based on MetaCard for Linux, Windows, macOS, Android systems.
С++ C++ (read c-plus-plus) is a compiled, statically typed general—purpose programming language. Supports programming paradigms such as procedural programming, object-oriented programming, generalized programming. The language has a rich standard library that includes common containers and algorithms, I/O, regular expressions, multithreading support, and other features. C++ combines the properties of both high-level and low-level languages. In comparison with its predecessor, the C language, the greatest attention is paid to the support of object-oriented and generalized programming.
С++ «Hello World» program in the C++ programming language
С# C# (pronounced C sharp) is a general—purpose object-oriented programming language. Developed in 1998-2001 by a group of Microsoft engineers led by Anders Heilsberg and Scott Wiltamot as an application development language for the Microsoft platform.NET Framework and .NET Core. It was subsequently standardized as ECMA-334 and ISO/IEC 23270.C# belongs to the family of languages with C-like syntax, of which its syntax is closest to C++ and Java. The language has static typing, supports polymorphism, operator overloading (including explicit and implicit type casting operators), delegates, attributes, events, variables, properties, generalized types and methods, iterators, anonymous functions with closure support, LINQ, exceptions, comments in XML format.
С# «Hello World» program in the C# programming language
ADA Ada is a programming language created in 1979-1980 during a project of the US Department of Defense to develop a unified programming language for embedded systems (that is, control systems for automated complexes operating in real time). They meant, first of all, on-board control systems for military facilities (ships, planes, tanks, missiles, shells, etc.). The developers did not have the task of creating a universal language, so the decisions taken by the authors of Ada should be perceived in the context of the features of the chosen subject area. The language is named after Ada Lovelace.
ADA «Hello World» program in the ADA programming language
JAVA Java is a strongly typed general-purpose object-oriented programming language developed by Sun Microsystems (later acquired by Oracle). Development is carried out by a community organized through the Java Community Process; the language and the main technologies implementing it are distributed under the GPL license. The trademark rights belong to Oracle Corporation. Java applications are usually translated into a special byte code, so they can run on any computer architecture for which there is an implementation of a virtual Java machine. The official release date is May 23, 1995. I
JAVA «Hello World» program in the JAVA programming language
Visual Basic Microsoft Visual Basic is a programming language as well as an integrated software development environment developed by Microsoft Corporation. The Visual Basic language has inherited the spirit, style and partly the syntax of its ancestor — the BASIC language, which has many dialects. At the same time, Visual Basic combines procedures and elements of object-oriented and component-oriented programming languages. The VB integrated development environment includes tools for visual user interface design, a code editor with IntelliSense capability and syntax highlighting, as well as tools for debugging applications.
Visual Basic «Hello World» program in the Visual Basic programming language
Python Microsoft Visual Basic is a programming language as well as an integrated software development environment developed by Microsoft Corporation. The Visual Basic language has inherited the spirit, style and partly the syntax of its ancestor — the BASIC language, which has many dialects. At the same time, Visual Basic combines procedures and elements of object-oriented and component-oriented programming languages. The VB integrated development environment includes tools for visual user interface design, a code editor with IntelliSense capability and syntax highlighting, as well as tools for debugging applications.
Python «Hello World» program in the Python programming language
TeX TeX is a computer layout system developed by American computer science professor Donald Knuth in order to create a computer printing house. It includes tools for partitioning documents, for working with cross-references. In particular, thanks to these capabilities, TeX is popular in academic circles [source not specified 1213 days], especially among mathematicians and physicists.
TeX Syntax example TeX
PostScript TeX is a computer layout system developed by American computer science professor Donald Knuth in order to create a computer printing house. It includes tools for partitioning documents, for working with cross-references. In particular, thanks to these capabilities, TeX is popular in academic circles [source not specified 1213 days], especially among mathematicians and physicists.
PostScript Syntax example PostScript
SGML It is the successor of the GML (Generalized Markup Language) developed in 1969 at IBM. It was originally designed to create machine-readable documents in government and aerospace projects; it was widely used in the printing and publishing industry, but its complexity made it difficult to widely distribute it for everyday use. Due to its complexity, an alternative interpretation of the abbreviation SGML appeared - "Sounds Great, Maybe Later" (Sounds Great, Maybe Later). It was standardized by ISO in 1986. The HTML and XML languages are descended from SGML: HTML up to and including version 4 was an SGML application, and XML is a subset of SGML designed to simplify the process of machine parsing a document. Other SGML applications are DocBook (documentation) and "Z Format" (typography and documentation).
SGML Syntax example SGML
HTML HTML (from the English HyperText Markup Language — "hypertext markup language") is a standardized language for hypertext markup of documents for viewing web pages in a browser. Web browsers receive an HTML document from the server via HTTP/HTTPS protocols or open it from a local disk, then interpret the code into an interface that will be displayed on the monitor screen.
HTML Syntax example HTML
XML XML (from eXtensible Markup Language) — "extensible markup language". Recommended by the World Wide Web Consortium (W3C). The XML specification describes XML documents and partially describes the behavior of XML processors (programs that read XML documents and provide access to their contents). XML was developed as a language with a simple formal syntax, convenient for creating and processing documents both by programs and by humans, with an emphasis on use on the Internet. The language is called extensible because it does not fix the markup used in documents: the developer is free to create markup according to the needs of a specific area, being limited only by the syntactic rules of the language. An XML extension is a specific grammar created on the basis of XML and represented by a dictionary of tags and their attributes.
XML «Hello World» program in the Python programming language
Elements of programming: Control structures Any program is an implementation of some algorithm. The concept of an algorithm is one of the fundamental concepts of computer science, which appeared long before the advent of computers. In the ancient world, the algorithm was called the rules for performing arithmetic operations. Until the 50s of the 20th century, an algorithm was understood as a set of mathematical operations performed in a certain order. Let's give an intuitive concept of the algorithm. An algorithm is a clear and precise instruction formulated in a certain language for the performer to perform a certain sequence of actions to achieve a specified goal or solve a given task. The algorithm is formed based on a specific performer (human or computer). Each algorithm has a certain set of input and output values. Moreover, the dimension of the input set can be zero.
Mass character. For the algorithm, you can take different sets of input data, that is, in general, you can use the same algorithm to solve a whole class of problems. Although there are algorithms that apply only to a single set of input data (without input). Algorithm Properties - Discreteness. The algorithm can be represented as a sequence of steps, so its execution is divided into the execution of these individual steps. - Finiteness. The execution of the algorithm ends after a finite number of steps are completed. - Certainty. The algorithm is designed for purely mechanical execution, that is, the actions that need to be performed must be strictly and unambiguously defined in every possible case. This means that different performers will perform the same algorithm, then they will move to the same result.
Data structures The data structure is used not only for data organization. It is also used for processing, extracting and storing data. There are various basic and advanced types of data structures that are used in almost every developed program or software system. Therefore, we need to know the data structures well. Data structures are an integral part of computers used to store data in memory. They are necessary and responsible for the effective organization, processing, access and storage of data. But that's not all. Different types of data structures have their own characteristics, features, applications, advantages and disadvantages.
Classification of the data structure The data structure has many different uses in our daily lives. There are many different data structures that are used to solve various mathematical and logical problems. Using a data structure, it is possible to organize and process a very large amount of data in a relatively short period of time. Let's look at the different data structures that are used in different situations. Linear data structure: A data structure in which data elements are arranged sequentially or linearly, where each element is attached to its previous and next neighboring elements, is called a linear data structure.Examples of linear data structures are array, stack, queue, linked list, etc. Nonlinear data structure. Data structures in which data elements are not arranged sequentially or linearly are called nonlinear data structures. In a non-linear data structure, we cannot bypass all the elements in just one pass.Examples of nonlinear data structures are trees and graphs.