The following is what I came up with from my synthetic prior research but I might be wrong.
I understand it is possible to reduce any computer "program", in a maximal reduction(?), to these features:
- Internal implementation: Everything from start to end, including possible functions and possible sub functions
- External interface: A parameter set with which arguments might correspond in
execution
orcall
→ if any
Internal implementation includes:
- Data structures: Primitive data types and possibly also functions or modules (depends what term one prefers)
- algorithms: outside or inside a function/algorithm → if any
- Database interfaces → if any
I understand that external interface (very often represented by parenthesis) can be part of internal implementation (which, in programming languages, is very often represented by brackets) and that yes or no depends from language architecture
.
IS there a consensus on the definition of a computer program in CS literature and if so, what is it?