A program is a unit of functionality. The unit contains functionality related to a common topic. A program can require functionality of other programs. The programs contains a description of where to find the required programs.
A program is identified with three pieces of information:
- Organization Namespace
- Scientific Namespace
- Runtime Dependencies
- Development Dependencies
The name of the program.
For more information, see identifiers.
The namespace of the program.
<Part1>.<Part2>. ... .<PartN>
This is used to differentiate different programs from each other. For examplel, two different domains might use the same term. In that case the name space specifies the domain.
The organization namespace is the identification of the organization that developed the code.
<Country code>.<Organization name>.<Organization Division 1> ...
Even though society is organized into organizations, human knowledge is not. The scientific namespace defined which part of human knowledge the program is a part of.
<Branch of science>.<Sub-division 1>.<Sub-division 2> ...
- Major – The major version number.
- Minor – The minor version number.
- Patch – The patch version number.
- SNAPSHOT – Whether the version is a snapshot.
The files contain the functions and data structures of the program.
For more information about files, see Files.
The dependencies are a list of identifiers of other programs.
For more information about dependencies, see Imports.
Other programs required to run the program.
Other programs required to develop the program, including running the tests.