Компьютер - это устройство, которое обрабатывает данные в соответствии со списком команд, называемым программой . Компьютеры бывают разных физических форм. В настоящее время простые компьютеры можно сделать настолько маленькими, что их можно будет установить вручную за час и питаться от батареи. Персональные компьютеры (PC) многих представлений являются символами информационной эпохи и многими считаются именно тем, что должно означать слово «компьютер». Тем не менее, наиболее распространенной формой компьютеров, используемых сегодня, является встроенный компьютер. Встроенные компьютеры - это небольшие простые устройства, которые часто используются для управления другими устройствами, их можно найти, например, в военных самолетах, заводских роботах, цифровых фотоаппаратах и даже детских игрушках.
Компьютер универсален благодаря своей способности хранить и выполнять множество команд, называемых программами. После этого он отличается от обычного калькулятора . Тезис Черча-Тьюринга представляет собой математическое утверждение об этой универсальности: любой компьютер с определенными минимальными возможностями, в принципе, способен выполнять те же задачи, что и любой другой компьютер. Таким образом, компьютеры, обладающие способностями и сложностью, от персональных цифровых помощников до суперкомпьютеров, могут выполнять одни и те же вычислительные задачи, если у них достаточно времени и места для хранения данных.
Функция, которая определяет современные компьютеры и отличает их от всех других машин, заключается в том, что их можно программировать ; мы предоставляем компьютеру какие-то команды ( программы ), которые компьютер будет обрабатывать.
Компьютерная программа может содержать только несколько инструкций или миллионы команд, например программы текстового процессора и веб-браузеры . Типичный современный компьютер может выполнять миллиард команд в секунду и редко допускает ошибки за годы работы. Большие компьютерные программы, содержащие миллионы команд, обычно пишутся группами программистов в течение нескольких лет , и сложность задачи также увеличивает вероятность того, что программа содержит ошибки.