Компью́тер (англ. computer, МФА:  — «вычислитель», от лат. computare — считать, вычислять) — функциональное устройство, способное выполнять значительный объём вычислений, включая многочисленные арифметические и логические операции, без вмешательства человека. Компьютер может быть как отдельным блоком, так и состоять из нескольких взаимосвязанных устройств. Является синонимом терминов «электронная вычислительная машина», «вычислительная система».
 Компьютер функционирует под управлением компьютерных программ.
 Использование компьютеров для различных целей описывается терминами «автоматизированный» (например, автоматизированный контроль), «машинный» (например, машинная графика), «вычислительный» (например, вычислительная техника), иногда «цифровой» (например, цифровая экономика, цифровая валюта).
 Слово компьютер является производным от английских слов to compute, computer, которые переводятся как «вычислять», «вычислитель» (английское слово, в свою очередь, происходит от латинского computāre — «вычислять»). Первоначально в английском языке это слово означало человека, производящего арифметические вычисления с привлечением или без привлечения механических устройств. В дальнейшем его значение было перенесено на сами машины, однако современные компьютеры выполняют множество задач, не связанных напрямую с математикой.
 Впервые трактовка слова компьютер появилась в 1897 году в Оксфордском словаре английского языка. Его составители тогда понимали компьютер как механическое вычислительное устройство. В 1946 году словарь пополнился дополнениями, позволяющими разделить понятия цифрового, аналогового и электронного компьютера.
 Понятие компьютер следует отличать от понятия Электронно-вычислительная машина (ЭВМ); последняя является одним из способов реализации компьютера. ЭВМ подразумевает использование электронных компонентов в качестве её функциональных узлов, однако компьютер может быть устроен и на других принципах — он может быть механическим, биологическим, оптическим, квантовым и т. п., работая за счёт перемещения механических частей, движения электронов, фотонов или эффектов других физических явлений. Кроме того, по типу функционирования вычислительная машина может быть цифровой (ЦВМ) и аналоговой (АВМ). С другой стороны, термин «компьютер» предполагает возможность изменения выполняемой программы (перепрограммирования), что возможно не для всех видов ЭВМ.
 В настоящее время термин ЭВМ, как относящийся больше к вопросам конкретной физической реализации компьютера, почти вытеснен из бытового употребления и в основном используется инженерами цифровой электроники, как правовой термин в юридических документах, а также в историческом смысле — для обозначения компьютерной техники 1940—1980-х годов и больших вычислительных устройств, в отличие от персональных.
 После изобретения интегральной схемы развитие компьютерной техники резко ускорилось. Этот эмпирический факт, замеченный в 1965 году соучредителем компании Intel Гордоном Е. Муром, назвали по его имени Законом Мура. Столь же стремительно развивается и процесс миниатюризации компьютеров. Первые электронно-вычислительные машины (например, такие, как созданный в 1946 году ЭНИАК) были огромными устройствами, весившими тонны, занимавшими целые комнаты и требовавшими большого количества обслуживающего персонала для успешного функционирования. Они были настолько дороги, что их могли позволить себе только правительства и большие исследовательские организации, и представлялись настолько экзотическими, что казалось, будто небольшая горстка таких систем сможет удовлетворить любые будущие потребности. В контрасте с этим, современные компьютеры — гораздо более мощные и компактные и гораздо менее дорогие — стали воистину вездесущими.
 Архитектура компьютеров может изменяться в зависимости от типа решаемых задач. Оптимизация архитектуры компьютера производится с целью максимально реалистично математически моделировать исследуемые физические (или другие) явления. Так, электронные потоки могут использоваться в качестве моделей потоков воды при компьютерном моделировании (симуляции) дамб, плотин или кровотока в человеческом мозгу. Подобным образом сконструированные аналоговые компьютеры были обычны в 1960-х годах, однако сегодня стали достаточно редким явлением.
 Результат выполненной задачи может быть представлен пользователю при помощи различных устройств ввода-вывода информации, таких как ламповые индикаторы, мониторы, принтеры, проекторы и т. п.
 Квантовый компьютер — вычислительное устройство, использующее явления квантовой суперпозиции и квантовой запутанности для передачи и обработки данных. Квантовый компьютер оперирует не битами, а кубитами. В результате он имеет возможность обрабатывать все возможные состояния одновременно, достигая огромного превосходства над обычными компьютерами в ряде алгоритмов.
 Полноценный квантовый компьютер является пока гипотетическим устройством, сама возможность построения которого связана с серьёзным развитием квантовой теории. Разработки в данной области связаны с новейшими открытиями и достижениями современной физики. Сейчас реализованы лишь единичные экспериментальные системы, исполняющие фиксированный алгоритм небольшой сложности.
 Первым[источник не указан 1815 дней] практическим высокоуровневым языком программирования для такого вида компьютеров считается язык Quipper, основанный на Haskell (см. Квантовое программирование).
 Современные компьютеры используют весь спектр конструкторских решений, разработанных за всё время развития вычислительной техники Эти решения, как правило, не зависят от физической реализации компьютеров, а сами являются основой, на которую опираются разработчики. Ниже приведены наиболее важные вопросы, решаемые создателями компьютеров:
 Фундаментальным решением при проектировании компьютера является выбор, будет ли он цифровой или аналоговой системой. Если цифровые компьютеры работают с дискретными численными или символьными переменными, то аналоговые предназначены для обработки непрерывных потоков поступающих данных. Сегодня цифровые компьютеры имеют значительно более широкий диапазон применения, хотя их аналоговые собратья всё ещё используются для некоторых специальных целей. Следует также упомянуть, что здесь возможны и другие подходы, применяемые, к примеру, в импульсных и квантовых вычислениях, однако пока что они являются либо узкоспециализированными, либо экспериментальными решениями.
 Примерами аналоговых вычислителей, от простого к сложному, являются: номограмма, логарифмическая линейка, астролябия, осциллограф, телевизор, аналоговый звуковой процессор, автопилот, мозг. [источник не указан 4071 день]
 Среди наиболее простых дискретных вычислителей известен абак, или обыкновенные счёты; наиболее сложной из такого рода систем является суперкомпьютер.
 Примером компьютера на основе десятичной системы счисления является первая американская вычислительная машина Марк I.
 Важнейшим шагом в развитии вычислительной техники стал переход к внутреннему представлению чисел в двоичной форме. Это значительно упростило конструкции вычислительных устройств и периферийного оборудования. Принятие за основу двоичной системы счисления позволило более просто реализовывать арифметические функции и логические операции.
 Тем не менее, переход к двоичной логике был не мгновенным и безоговорочным процессом. Многие конструкторы пытались разработать компьютеры на основе более привычной для человека десятичной системы счисления. Применялись и другие конструктивные решения. Так, одна из ранних советских машин работала на основе троичной системы счисления, использование которой во многих отношениях более выгодно и удобно по сравнению с двоичной системой (проект троичного компьютера Сетунь был разработан и реализован талантливым советским инженером Н. П. Брусенцовым).
 Под руководством академика Хетагурова Я. А. разработан «высоконадёжный и защищённый микропроцессор недвоичной системы кодирования для устройств реального времени», использующий систему кодирования 1 из 4 с активным нулём.
 В целом, однако, выбор внутренней системы представления данных не меняет базовых принципов работы компьютера — любой компьютер может эмулировать любой другой.
 Во время выполнения вычислений часто бывает необходимо сохранить промежуточные данные для их дальнейшего использования. Производительность многих компьютеров в значительной степени определяется скоростью, с которой они могут читать и писать значения в (из) памяти и её общей ёмкости. Первоначально компьютерная память использовалась только для хранения промежуточных значений, но вскоре было предложено сохранять код программы в той же самой памяти (архитектура фон Неймана, она же «принстонская»), что и данные. Это решение используется сегодня в большинстве компьютерных систем. Однако для управляющих контроллеров (микро-ЭВМ) и сигнальных процессоров более удобной оказалась схема, при которой данные и программы хранятся в различных разделах памяти (гарвардская архитектура).
 Способность машины к выполнению определённого изменяемого набора инструкций (программы) без необходимости физической переконфигурации является фундаментальной особенностью компьютеров. Дальнейшее развитие эта особенность получила, когда машины приобрели способность динамически управлять процессом выполнения программы. Это позволяет компьютерам самостоятельно изменять порядок выполнения инструкций программы в зависимости от состояния данных. Первую реально работающую программируемую вычислительную машину сконструировал немец Конрад Цузе в 1941 году.
 При помощи вычислений компьютер способен обрабатывать информацию по определённому алгоритму. Решение любой задачи для компьютера является последовательностью вычислений.
 В большинстве современных компьютеров проблема сначала описывается в понятном им виде (при этом вся информация, как правило, представляется в двоичной форме — в виде единиц и нулей, хотя компьютер может быть реализован и на других основаниях, как целочисленных — например, троичный компьютер, так и нецелых), после чего действия по её обработке сводятся к применению простой алгебры логики. Достаточно быстрый электронный компьютер может быть применим для решения большинства математических задач, а также и большинства задач по обработке информации, которые могут быть сведены к математическим.
 Было обнаружено, что компьютеры могут решить не любую математическую задачу. Впервые задачи, которые не могут быть решены при помощи компьютеров, были описаны английским математиком Аланом Тьюрингом.
 Первые компьютеры создавались исключительно для вычислений (что отражено в названиях «компьютер» и «ЭВМ»). Даже самые примитивные компьютеры в этой области во много раз превосходят людей (если не считать некоторых уникальных людей-счётчиков). Не случайно первым высокоуровневым языком программирования был Фортран, предназначенный исключительно для выполнения математических расчётов.
 Вторым крупным применением были базы данных. Прежде всего, они были нужны правительствам и банкам. Базы данных требуют уже более сложных компьютеров с развитыми системами ввода-вывода и хранения информации. Для этих целей был разработан язык Кобол. Позже появились СУБД со своими собственными языками программирования.
 Третьим применением было управление всевозможными устройствами. Здесь развитие шло от узкоспециализированных устройств (часто аналоговых) к постепенному внедрению стандартных компьютерных систем, на которых запускаются управляющие программы. Кроме того, всё бо́льшая часть техники начинает включать в себя управляющий компьютер.
 Четвёртое. Компьютеры развились настолько, что стали главным информационным инструментом как в офисе, так и дома. Теперь почти любая работа с информацией зачастую осуществляется через компьютер — будь то набор текста или просмотр фильмов. Это относится и к хранению информации, и к её пересылке по каналам связи. Основное применение современных домашних компьютеров — навигация в Интернете и игры.
 Пятое. Современные суперкомпьютеры используются для компьютерного моделирования сложных физических, биологических, метеорологических и других процессов и решения прикладных задач. Например, для моделирования ядерных реакций или климатических изменений. Некоторые проекты проводятся при помощи распределённых вычислений, когда большое число относительно слабых компьютеров одновременно работает над небольшими частями общей задачи, формируя таким образом очень мощный компьютер.
 Наиболее сложным и слаборазвитым применением компьютеров является искусственный интеллект — применение компьютеров для решения таких задач, где нет чётко определённого более или менее простого алгоритма. Примеры таких задач — игры, машинный перевод текста, экспертные системы.