A computer program is a sequence of instructions for the purpose of performing a specific task with a computer. A program has an executable form, which the computer can directly use to execute the program instructions in a central processing unit.
Computer source code is generally written by computer programmers. Source code is written in a programming language, which often follows one of the two main programming paradigms: imperative or declarative programming. Source code can be converted into an executable file (also known as an executable or binary file) using a compiler and later executed by a central processing unit. Alternatively, computer programs can be run using an interpreter. They can also be run as firmware or embedded in the hardware.
A collection of computer programs and associated data is called software. When a computer program is executed, the computer reads the instructions from the program, as they are stored on a data carrier (for example, files on a hard disk) and executes the program code in the specified order, using the data. The same computer program enables a programmer to study the algorithms of a relevant computer program in a source code that is easier to read for humans and, if necessary, to further develop it.
Programs are written (programmed) in different programming languages. Often these programs are translated into machine language by a compiler. In other cases, the program is performed by an interpreter (interpreter). Only rarely is a program written directly in assembler; this only happens when maximum efficiency is required.
Model of computer programs
The English mathematician Alan Turing described a theoretical machine, the turing machine, which is a model of arithmetic as the computer does. The machine can be configured with a finite set of possible state transitions: such a configuration can be thought of as the model of a program. A difference is that in computers the calculation takes place on the built-in memory, which is finite.
In addition to turing machines, there are many other types of mathematical models of arithmetic, with which various aspects of arithmetic can be studied.
Computer programs come in all shapes and sizes:
- The operating system that keeps a computer running and allows the computer user to start other programs, save data, and send it to peripherals (for example, to a printer for printing)
- Drivers, software that makes specific hardware suitable for use on the relevant computer with operating system.
- Office software packages:
- Word processor
- Project planning
- Presentation software
- Business software:
- CAD system computer-aided design
- PDM system Product Data Management
- ERP system Enterprise Resource Planning
- SCM system Supply Chain Management
- CRM / EMM system Customer Relationship Management / Enterprise Marketing Management
- EDM / ECM system Enterprise Document / Content Management
- HRM system Human Resource Management
- Graphic software
- Audio software
- Network software (for example for the Internet)
- Embedded software