The EVA principle describes a basic principle of data processing. The abbreviation is derived from the first letters of the related terms which describe the order in which data is processed. Both computers and computer programs can be regarded as functions that receive parameters (E), make a calculation (V) with these parameters, and output the result of the calculation (A).
The principle is to be seen from the point of view of the processing unit (which can also be a human) and is therefore independent of electronic machines. It is therefore universally applicable and is considered the basic scheme of data processing.
Contrary to popular belief, memory is not part of processing, but has a kind of special position in the EVA principle, it encapsulates itself. This is expressed as the EVA(S) principle. A pure EVA device is stateless, it does not have an internal state that could cause the same input to produce different results in two processing. Therefore, the memory content must always be in the same state (e.g., “empty”) when processing starts.
---
Only the deviation from the pure EVA principle to stateful logic circuits (Medvedev automaton, as well as Moore automaton and Mealy automaton) led from simple calculating machines to the development of today’s computers.

Viewpoints of EVA Principle
The EVA principle can be seen both “spatially” (in the broadest sense) and temporally as an area of the computer system is intended for data entry (e.g. one side of a circuit board; keyboard, mouse; but also “logically spatial”: a program library of a program), another area for processing, and the third part for output. This can refer to the organization of the hardware as well as to the software or to the IT system (hardware and software) as a whole:
In the hardware, it must be clear which input signals are to be received (keyboard or mouse inputs, network connections, …), how they are to be processed (e.g. perform a calculation) and in what form the data is to be output (screen output, printer, network, sound outputs, …). Opposite developments are, for example, smartphones, in which input (touch screen) and output (same screen) do not have an explicit, clear separation.
In the software, it must be clear which input data a program receives (keystrokes and/or files from a data carrier, …), what it should do with it (mathematical calculations, calculation of graphic elements, …) and what should be output in what form (screen outputs in text or graphics, storage on a data carrier, …). The opposite principle here is, for example, object orientation, in which there is no functional separation, but object-related: Methods for reading in as well as for processing and emitting an object are object methods, i.e. not “spatially separated”; second example: fuzzy logic tries to make unambiguous decisions from unclear input signals; Artificial neural networks try to generate defined outputs from inaccurate input data, but often it is not possible to define an exact processing rule – the network is supposed to do it “somehow” and learn it through training.
First all inputs are recorded (after which no further entries are possible), then it is processed (as long as no results are available), finally the results are output. The opposite principle is called streaming, in which new inputs are continuously received, the previous ones are processed at the same time, and the previous ones are just delivered to the output interface.