This commit is contained in:
Miloslav Ciz 2023-03-04 16:45:41 +01:00
parent 82af4ac894
commit df830630e3
4 changed files with 19 additions and 11 deletions

View file

@ -9,12 +9,13 @@ We can divide computers based on many attributes, e.g.:
- by **purpose**: special purpose vs general purpose, [personal](pc.md), [server](server.md), [embedded](embedded.md), [supercomputers](supercomputer.md), gaming computer etc.
- by **[programmability](programming.md)**: non-programmable, partially or fully programmable
- by the theoretical **[model of computation](model_of_computation.md)** it is based on: [Turing machine](turing_machine.md), [lambda calculus](lambda_calculus.md) etc.
- by **other criteria**: price, reliability etcetc.
- by **computational power**: how difficult problems the computer is able to solve, i.e. where in the [Chomsky hierarchy](chomsky_hierarchy.md) it stands (typically we want [Turing complete](turing_completeness.md) computers)
- by **other criteria**: price, reliability, durability etc.
Computers are studied by [computer science](compsci.md). The kind of computer we normally talk about consists of two main parts:
Computers are theoretically studied by [computer science](compsci.md). The kind of computer we normally talk about consists of two main parts:
- **[hardware](hw.md)**: physical parts
- **[software](sw.md)**: [programs](program.md), made by [programmers](programmer.md)
- **[software](sw.md)**: [programs](program.md) executed by the hardware, made by [programmers](programmer.md)
**The power of computers is limited**, [Alan Turing](turing.md) mathematically proved that there exist problems that can never be completely solved by any [algorithm](algorithm.md), i.e. there are problems a computer (including our [brain](brain.md)) will never be able to solve (even if solution exists). This is related to the fact that the power of mathematics itself is limited in a similar way (see [Godel's theorems](incompleteness_theorems.md)). Turing also invented the theoretical model of a computer called the [Turing machine](turing_machine.md). Besides the mentioned theoretical limitation, many solvable problems may take too long to compute, at least with computers we currently know (see [computational complexity](computational_complexity.md) and [P vs NP](p_vs_np.md)).