Relationship between software and packages
General information about computer programs
How is Software made
A computer program () belongs to the software (collective term for programs and the associated data) of a computer. It is usually available on a data carrier as an executable program file, often in so-called machine code, which is loaded into the computer's main memory for execution.
Theoretically, a simple text editor and a compiler/interpreter for the respective programming language are sufficient for programming (). In practice, however, a number of additional tools are used to simplify typical programming tasks. These include, for example, text editors with special features such as syntax highlighting, auto-completion and refactoring - whereby the transition to the Integrated Development Environment (IDE) is fluid. In addition, there are various tools for debugging, so-called debuggers, as well as programs for performing static and dynamic tests. A profiler can also be used for performance analysis. If several developers are working on the same software, versioning systems are usually used that store the code, including previous versions, on a central server to which all participating programmers have access.
what is a software package
A program package, program system, software package, software suite or application package is the compilation of (logically) related files and application programs. Depending on the operating system, there are different software management processes. The programs and processes for creating and using program packages are called package management. If no central tool for the administration of the software is available, each program package is responsible for its own installation. For this purpose, installation programs are used, as they are common under Microsoft Windows (see Windows Installer) and Apple's Mac OS X. However, these operating systems provide a program library with installation-related functions that is used by most setup programs.
why build software packages
Many users do not have the knowledge or authorization to install software themselves. Therefore, it is common in organizations for qualified employees to perform or arrange for this task for users. In larger organizations, software is installed unattended. Here, the software product is distributed to the clients with the help of distribution software. To do this, the software must first be put into the correct format. This process is called software or application packaging. The packaging process depends on the distribution software used. This type of software rollout is also known as software distribution.