The word *computer* can be defined in many ways and can also take many different meanings; a somewhat common definition may be this: computer is a machine that automatically performs mathematical computations. We can also see it as a machine for processing [information](information.md), manipulating symbols or, very generally, as any tool that helps computation, in which case one's fingers or even a [mathematical](math.md) formula itself can be considered a computer. Here we are of course mostly concerned with electronic [digital](digital.md) computers.
Electronic digital computer turned out to be one of the greatest [technological](tech.md) inventions in [history](history.md) for many reasons -- firstly computers allowed creation of many other things which previously required too complex calculations, such as highly complex planes, space rockets and undreamed of factories (and, of course, yet more powerful computers which is why we've seen the exponential growth in computer power), they also allow us to crunch extreme volumes of data and accelerate [science](science.md); secondly they offered extremely advanced work tools like [robots](robotics.md), virtual 3D visualizations, [artificial intelligence](ai.md) and physics simulators, and they also gave us high quality, cheap [multimedia](multimedia.md) and entertainment like [games](game.md) -- with computers anyone can shoot video, record music, carry around hundreds of movies in his pocket or fly a virtual plane. Most important however is probably the fact that computers enabled the [Internet](internet.md) -- by this they forever changed the world.
- by **[hardware](hw.md) technology**: [electronic](electronics.md) ("lightning in sand"), [mechanical](mechanical.md), [quantum](quantum.md), biological etc.
- by **purpose**: special purpose vs general purpose, [personal](pc.md), [server](server.md), [calculator](calculator.md), [embedded](embedded.md), [workstation](workstation.md), [supercomputers](supercomputer.md), [gaming](game.md) computer etc.
- 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 **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.
*On the left typical personal computer, with case, monitor, keyboard, mouse and speakers; on the right a pocket mechanical calculator of the Curta type.*
**The power of computers is mathematically 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)).
And let's also mention some [interesting](interesting.md) **statistics** and facts about computers as of 2024. The fist computer in modern sense of the word is frequently considered to have been the Analytical Engine designed in 1837 by an Englishman Charles Babbage, a general purpose [mechanical computer](mechanical_computer.md) which he however never constructed. After this the computers such as the Z1 (1938) and Z3 (1941) of a German inventor Konrad Zuse are considered to be the truly first "modern" computers. Shortly after the year 2000 the number of US households that had a computer surpassed 50%. The fastest [supercomputer](supercomputer.md) of today is Frontier (Tennessee, [USA](usa.md)) which achieved computation speed of 1.102 exaFLOPS (that is over 10^18 [floating point](float.md) operations per second) with power 22.7 MW, using the [Linux](linux.md) kernel (like all top 500 supercomputers). Over time transistors have been getting much smaller -- there is the famous **[Moore's law](moores_law.md)** which states that number of transistors in a chip doubles about every two years. Currently we are able to manufacture [transistors](transistor.md) as small as a few nanometers and chips have billions of them. { There's some blurriness about exact size, apparently the new "X nanometers" labels are just [marketing](marketing.md) lies. ~drummyfish }
Computers we normally talk about in daily conversations are [electronic](electronics.md) [digital](digital.md) mostly personal computers such as [desktops](desktop.md) and [laptops](laptop.md), possibly also [cell phones](phone.md), [tablets](tablet.md) etc.
Such a computer consists of some kind of [case](case.md) (chassis), internal [hardware](hardware.md) plus [peripheral devices](peripheral.md) that serve for [input and output](io.md) -- these are for example a [keyboard](keyboard.md) and [mouse](mouse.md) (input devices), a [monitor](monitor.md) (output device) or [harddisk](hdd.md) (input/output device). The internals of the computer normally include:
- **[motherboard](motherboard.md)**: The main electronic circuit of the computer into which other components are plugged and which creates the network and interfaces that interconnect them (a [chipset](chipset.md)). It contains slots for expansion cards as well as connectors for external devices, e.g. [USB](usb.md). In a small memory on the board there is the most basic software ([firmware](firmware.md)), such as [BIOS](bios.md), to e.g. enable installation of other software. The board also carries the [clock](clock.md) generator for synchronization of all hardware, heat sensors etc.
- **[CPU](cpu.md)** (central processing unit): Core of the computer, the chip plugged into motherboard that performs general calculations and which runs [programs](program.md), i.e. [software](sw.md).
- **[RAM](ram.md)/working memory/main memory**: Lower capacity volatile (temporary, erased when powered off) working memory of the computer, plugged into motherboard. It is used as a "pen and paper" by the CPU when performing calculations.
- **[disk](disk.md)**: [Non-volatile](volatile.md) (persisting when powered off) large capacity memory for storing [files](file.md) and other [data](data.md), connected to the motherboard via some kind of [bus](bus.md). Different types of disks exist, most commonly [hard disks](hdd.md) and [SSDs](ssd.md).
- **expansion cards ([GPU](gpu.md), sound card, network card, ...)**: Additional hardware cards plugged into motherboard for either enabling or accelerating specific functionality (e.g. GPU for graphics etc.).
- **[PSU](psu.md)** (power supply unit): Converts the input electrical power from the plug to the electrical power needed by the computer.