This commit is contained in:
Miloslav Ciz 2023-05-18 20:48:44 +02:00
parent bbe9c7622e
commit a7b086a309
8 changed files with 16 additions and 7 deletions

View file

@ -12,6 +12,6 @@ Let's take a look at a possible division of a [computer](computer.md) to differe
- **[electronic](electronics.md) circuit**: Computer is an [analog](analog.md) circuit in which electricity flows through wires and electronic components, operating with terms such as [voltage](voltage.md), [current](current.md), [transistor](transistor.md), resistor or electronic interference.
- **[logic circuit](logic_gate.md)**: Computer is a [binary](binary.md) [digital](digital.md) circuit; this is abstracting electricity away, now we are only considering two possible values carried by the wires: 1s and 0s. Operating with terms such as [logic gate](logic_gate.md), logic function, [multiplexer](multiplexer.md) or sequential circuit.
- **[machine code](machine_code.md)/[assembly](assembly.md)**: Computer is a machine with a specific [instruction architecture](isa.md), executing an [algorithm](algorithm.md) encoded as simple binary instructions, such as "add two numbers" or "write a number to memory", in a specific format that's different for different types of computers. Operating with terms such as CPU cycle, [opcode](opcode.md), [register](register.md), memory or [interrupt](interrupt.md).
- **low level [portable](portability.md) language**: Computer is a machine capable of performing algorithms written in a structured language resembling human language and it's a machine that's essentially the same as other computers, even of different types, i.e. all computers can understand the same language (programs are [portable](portability.md)), typically e.g. [C](c.md). Operating with terms such as structured data type, procedure, signed/unsigned type, [memory management](memory_management.md), [process](process.md) synchronization etc.
- **low level [portable](portability.md) language**: Computer is a machine capable of performing algorithms written in a structured language resembling human language and it's a machine that's essentially the same as other computers, even of different types, i.e. all computers can understand the same language (programs are [portable](portability.md)), typically e.g. [C](c.md). Operating with terms such as structured data type, procedure, signed/unsigned type, [memory management](memory_management.md) etc.
- **high level language**: Computer is a machine capable of performing algorithms while handling many things (such as memory allocation or ensuring safety) automatically and dynamically (on-the-go) and understanding more complex and abstract descriptions of problems, allowing for very fast and comfortable programming in languages like [Python](python.md) or [JavaScript](javascript.md). Operating with terms such as [objects](oop.md), dictionaries, pure functions and [polymorphism](polymorphism.md).
- **very high level, [artificial intelligence](ai.md)**: Computer is a machine capable of simulating human thinking and therefore able to lead a conversation with human, it can perform commands given in natural language and even reason and create on its own. Operating with terms such as training, data sets and ethics.