What is the main software of the computer

Program (computer program)

Program from the user's point of view

From the user's point of view, a program is a piece of software that runs on a computer workstation and solves certain tasks or supports the user in solving tasks. This can be a single program that displays websites (browser), removes computer viruses (virus scanner) or allows the creation of text documents (word processing program), but also an operational information system that consists of numerous integrated individual programs (e.g. an ERP system) .

The apps running on powerful mobile phones (so-called smartphones) are also programs. "App" is a short form of "application" (or English "application"), which stands for application program in IT parlance.

Program from the developer's point of view

Programs are developed using programming languages ​​and based on a particular approach to problem solving. In the early days of data processing, when programs and programming languages ​​still reflected the functional operation of a computer based on the Von Neumann architecture, a program was defined in most textbooks as a computational rule, an algorithm or a sequence of instructions that specified which Operations carried out in which order and which data structures should be used and how [Knuth 1968, p. 5, Wirth 1975a, p. 7].

"The computer is an automaton that executes processes according to precisely prescribed rules of behavior"
[Wirth 1975b, p. 13]

Since programs were understood as sequences of commands (instructions, instructions), the underlying programming style was called "imperative programming" or, because of its sequence-oriented character, "procedural programming". Common programming languages ​​such as Cobol, Fortran, Basic and Pl / 1 made it possible to write programs according to this programming style.

In the course of time, other programming styles (so-called programming paradigms) than imperative or procedural programming became widespread and were supported by different programming languages. Therefore, the above definition is no longer generally applicable. In a functional program, the key terms are, for example, "function" and "argument" and not "command" or "data structure". In an object-oriented program, one speaks of objects, classes, messages and methods.

Generally valid definitions of the term program are therefore inevitably located on a high level of abstraction. A program is ultimately a text that contains instructions for a computer [Gumm, Sommer 2013, p. 82]. This leads to the definition:

A program represents a logically structured set of instructions that have been formulated with the expression means of a programming language for the solution of a given task by a computer.

Depending on the paradigm, this general description needs to be further specified. For example, the instructions of an object-oriented program that is formulated in Java describe the objects used and how the objects are used to solve the task with the aid of message exchange. A logical program, on the other hand, contains instructions that describe logical constructs such as premises, implications and facts and evaluate the truthfulness of logical statements.

Program from a system perspective

From the point of view of the operating system, programs can be distinguished as follows, as illustrated in Figure 1:

  • Source program - a program that is written with the means of expression of a programming language and is available as text (source text) in this language.
  • Machine program (object program) - a program converted by a translation program (compiler or assembler) into a form that can be executed directly by the processor of the underlying computer system. The machine program is in binary form (sequences of 0 and 1).
  • Main program (of a program system) - the program that is started by the operating system to run the program system. In general, the main program calls other programs (subroutines) that solve subtasks.

Fig. 1: Program terms from the operating system perspective

Programs can also be integral components of technical systems and, for example, serve to control these systems (embedded programs).

literature

Gumm, Heinz-Peter; Sommer, Manfred: Introduction to computer science. 10th edition. Oldenbourg: Munich 2013.

Knuth, Donald E.: The Art of Computer Programming. Volume 1: Fundamental Algorithms. Addison-Wesley: Reading, MA 1968.

Wirth, Niklaus: Algorithms and Data Structures. B.G. Teubner: Stuttgart 1975a.

Wirth, Niklaus: Systematic programming. B.G. Teubner: Stuttgart 1975b.

 

author


 

Prof. Dr. Karl Kurb, European University Viadrina Frankfurt (Oder), Chair for Information Systems, Große Scharrnstr. 59, 15230 Frankfurt (Oder)

Author info


Item Actions