In thermodynamics, an engine is a machine that converts one or more forms of energy into mechanical force or motion. In a software context, engine becomes vaguer. It is simply the core component of a complex software system. For example, if some element is used for more than two programs, you can pack that component into a reusable library and call it the engine (sort of.) But can we define the engine better?
I would define an engine as a mathematical equation that takes in asset and time and turns it into utility.
The engine consumes assets and time to convert them to something else useful. Of course, this notion of usefulness is entirely subjective to the human race, just like how information is defined as useful data. Some examples:
- Economies are engines that take in assets such as labor, capital, natural resources, and time and produce outputs goods and services, which can be seen as a measure of utility.
- Militaries are engines that take in assets such as personnel, equipment, resources, and time and produce outputs of security and defense, which can be seen as a measure of utility.
- Governments are engines that take in resources such as taxes, labor, and natural resources and use them over time to provide goods and services to citizens, such as education, healthcare, and infrastructure.
- Companies are engines of various assets, such as capital, labor, and natural resources, and use them over time to produce goods or services that can be sold for profit.
- Universities are engines that take in various assets, such as faculty, staff, students, and resources, and use them over time to produce outputs in education and research, and utility such as improved job prospects and higher levels of critical thinking and problem-solving skills.
What is interesting about this definition is that engines are simply functions that can be recursed inside each other. This links with Psychohistory. a fictional science that uses statistical analysis to predict the behavior of large groups of people and to develop strategies to shape the course of history. The universe is a type of meta-engine that operates on the collective behavior of large groups over time.
Eventually, the universe will be a tree of the chain-reacting engines, where the primal origin is the Big Bang, and the final output is heat. Ultimately, in a physical sense, an engine is the path for entropies to flow.