Внутри коробки
Если снять боковую крышку с системного блока, внутри окажется совсем не то, чего ждёшь. Никаких шестерёнок, никакой мигающей загадочной начинки. Плоские зелёные пластинки, проводки, вентилятор и несколько чёрных квадратиков.
И вот эта скучная штука играет в игры, показывает видео, решает уравнения и разговаривает с тобой. Как?
Ответ странный: компьютер не умный. Он умеет очень мало — примерно как калькулятор. Зато делает свои простенькие действия чудовищно быстро и никогда не устаёт, не отвлекается и не ошибается по невнимательности.
Вся его сила — в скорости и упрямстве, а не в уме.
Всё на свете — это включено и выключено
Внутри компьютера нет букв, картинок и звуков. Там есть только миллиарды крошечных выключателей. Каждый может быть включён или выключен. Всё.
Выключен — это 0. Включён — это 1. Такую запись называют двоичной.
Как из этого получаются числа? Так же, как у нас из десяти цифр получаются любые числа, только цифр всего две. Один выключатель хранит числа 0 и 1. Два выключателя — уже четыре варианта: 00, 01, 10, 11. Восемь выключателей — 256 вариантов. Каждый новый выключатель удваивает количество вариантов.
Буквы — это тоже числа. Люди просто договорились: такое-то число означает букву «А», такое-то — «Б». Картинка — таблица из точек, у каждой точки записано, сколько в ней красного, зелёного и синего. Звук — много-много замеров громкости, десятки тысяч в секунду.
Почему выключатели, а не что-то поудобнее? Потому что «есть ток / нет тока» — самое надёжное различие, которое можно сделать из электричества. Полутона путались бы, а два чётких состояния не перепутаешь.
Три главные детали
Внутри много всего, но по-настоящему важных частей три.
Процессор — тот самый чёрный квадратик. Он считает. Умеет складывать, вычитать, сравнивать два числа и выбирать, что делать дальше. Список его умений умещается на нескольких страницах — и это всё, что компьютер вообще способен делать.
Оперативная память — рабочий стол. Здесь лежит то, с чем компьютер возится прямо сейчас: открытая игра, текст, который ты печатаешь. Память очень быстрая, но забывает всё, как только пропадает электричество. Поэтому несохранённый текст исчезает при выключении света.
Диск — шкаф. Медленнее памяти, зато помнит годами и без питания. Тут живут файлы, фотографии и сами программы.
Ещё есть видеокарта — отдельный маленький помощник, который считает картинку для экрана. Она умеет ещё меньше процессора, но делает свои действия тысячами одновременно, и поэтому в играх незаменима.
Что такое программа
Программа — это список указаний. Очень подробный и очень занудный.
Похоже на кулинарный рецепт, только рецепт рассчитан на человека, который сам догадается, что «посолить» — это щепотка, а не полпачки. Компьютер не догадывается ни о чём. Ему надо объяснять всё.
Скажешь человеку «сделай бутерброд» — он сделает. Компьютеру пришлось бы написать: возьми хлеб, положи на стол, возьми нож за ручку, а не за лезвие, отрежь кусок толщиной один сантиметр...
Настоящая программа состоит из простейших команд вроде: «сложи эти два числа», «положи результат сюда», «сравни с нулём», «если больше — перейди к шагу 40». Всё, что ты видишь на экране, собрано из миллионов таких шажков.
Люди, конечно, не пишут это вручную. Программисты пишут на языках программирования — они похожи на смесь английского и математики. А потом специальная программа-переводчик превращает написанное в те самые скучные команды для процессора.
Почему компьютер не понимает, что делает
Компьютер складывает числа, но не знает, что складывает. Для него нет разницы между суммой денег, количеством очков в игре и яркостью точки на экране — это всё просто числа.
Смысл появляется только в голове человека. Это, пожалуй, главное отличие компьютера от тебя: ты понимаешь, о чём думаешь, а он — нет.
Из этого следует практический вывод. Если компьютер выдал глупость, он не «сошёл с ума» и не «решил так». Значит, в списке указаний была ошибка или ему дали неверные данные. Компьютер всегда выполняет ровно то, что ему сказали, а не то, что имели в виду.
Программисты шутят про это так:
Компьютер делает не то, что ты хочешь, а то, что ты написал.
Главное в трёх строчках
- Внутри компьютера только миллиарды выключателей: включён — единица, выключен — ноль, и из этого собраны все числа, буквы, картинки и звуки.
- Главных деталей три: процессор считает, оперативная память помнит, пока есть ток, диск помнит всегда.
- Программа — это подробнейший список простых указаний; компьютер выполняет их буквально и не понимает их смысла.