KnigaRead.com/

Билл Гейтс - Дорога в будущее

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Билл Гейтс, "Дорога в будущее" бесплатно, без регистрации.
Перейти на страницу:

Идея применять для манипуляций с числами какой-нибудь инструмент не нова. До 1642 года, когда девятнадцатилетний французский ученый Блез Паскаль изобрел механическое счетное устройство – суммирующую машину, в Азии уже почти 5000 лет пользовались счетами. Три десятилетия спустя немецкий математик Готфрид Лейбниц усовершенствовал конструкцию машины Паскаля. Его «шаговый вычислитель» позволял умножать, делить и вычислять квадратные корни. Весьма надежные механические арифмометры, напичканные шестеренками и наборными счетчиками, наследники шагового вычислителя, служили главной опорой бизнесу вплоть до их замены электронными аналогами. Например, кассовые аппараты в годы моего детства, по сути, были арифмометрами с отделениями для наличности.

Более полутора столетий назад видного британского математика озарила гениальная идея, которая прославила его имя уже при жизни. Чарлз Беббидж (Charles Babbage), профессор математики Кембриджского университета, понял, что можно построить механическое устройство, способное выполнять последовательность взаимосвязанных вычислений, – своего рода компьютер!

Где-то в начале тридцатых годов прошлого столетия он пришел к выводу, что машина сможет манипулировать информацией, если только ту удастся преобразовать в числа. Беббидж видел машину, приводимую в действие паром, состоящую из штифтов, зубчатых колес, цилиндров и других механических частей – в общем, настоящее детище начинавшегося тогда индустриального века. По мысли Беббиджа, «аналитическая машина» должна была избавить человечество от монотонных вычислений и ошибок, с ними связанных.

Для описания устройства машины ему, конечно, не хватало терминов тех, которыми мы пользуемся сегодня. Центральный процессор, или «рабочие внутренности» этой машины, он называл «мельницей», а память – «хранилищем». Беббиджу казалось, что информацию будут обрабатывать так же, как хлопок: подавать со склада (хранилища) и превращать во что-то новое.

Аналитическая машина задумывалась как механическая, но ученый предвидел, что она сможет следовать варьируемым наборам инструкций и тем самым служить разным целям. В том же и смысл программного обеспечения. Современная программа – это внушительный набор правил, посредством которых машину «инструктируют», как решать ту или иную задачу. Беббидж понимал, что для ввода таких инструкций нужен совершенно новый тип языка, и он изобрел его, использовав цифры, буквы, стрелки и другие символы. Этот язык позволил бы «программировать» аналитическую машину длинными сериями условных инструкций, что, в свою очередь, позволило бы машине реагировать на изменение ситуации. Он – первый, кто увидел, что одна машина способна выполнять разные функции.

Следующее столетие ученые математики работали над идеями, высказанными Беббиджем, и к середине сороковых годов нашего века электронный компьютер наконец был построен – на основе принципов аналитической машины. Создателей современного компьютера выделить трудно, поскольку все исследования проводились во время второй мировой войны под покровом полной секретности, главным образом – в Соединенных Штатах и Великобритании. Основной вклад внесли три человека: Алан Тьюринг (Alan Turing), Клод Шеннон (Claude Shannon) и Джон фон Нейман (John von Neumann).

В середине тридцатых годов Алан Тьюринг – блестящий британский математик, как и Беббидж, получивший образование в Кембридже, предложил свой вариант универсальной вычислительной машины, которая могла бы в зависимости от конкретных инструкций работать практически с любым видом информации. Сегодня она известна как машина Тьюринга.

А в конце тридцатых Клод Шеннон, тогда еще студент, доказал, что машина, исполняющая логические инструкции, может манипулировать информацией. В своей магистерской диссертации он рассмотрел, как с помощью электрических цепей компьютера выполнять логические операции, где единица – «истина» (цепь замкнута), а нуль – «ложь» (цепь разомкнута).

Здесь речь идет о двоичной системе счисления, иначе говоря, о коде. Двоичная система – это азбука электронных компьютеров, основа языка, на который переводится и с помощью которого хранится и используется вся информация в компьютере. Эта система очень проста и в то же время настолько важна для понимания того, как работают компьютеры, что, пожалуй, стоит на этом задержаться.

Представьте, что в Вашей комнате должна гореть лампа мощностью в 250 ватт. Однако Вы хотите регулировать освещение от 0 ватт (полная темнота) до максимума. Один из способов добиться этого – воспользоваться выключателем с регулятором. Чтобы погасить лампу, Вы поворачиваете ручку против часовой стрелки в положение «выкл» (0 ватт), а чтобы включить ее «на всю катушку», – по часовой стрелке до упора (250 ватт). Ну а чтобы добиться полумрака или просто уменьшить яркость, Вы устанавливаете регулятор в какое-то промежуточное положение.

Такая система проста, но имеет свои ограничения. Если регулятор находится в промежуточном положении – скажем, Вы приглушили свет для ужина в интимной обстановке, – останется лишь гадать, каков сейчас уровень освещения. Вам не известно ни то, какую мощность «берет» лампа в данный момент, ни то, как точно описать настройку регулятора. Ваша информация приблизительна, что затрудняет ее сохранение и воспроизведение.

Вдруг на следующей неделе Вам захочется создать то же освещение? Конечно, можно поставить отметку на шкале регулятора, но навряд ли это получится точно. А что делать, если понадобится воспроизвести другую настройку? Или кто-то придет к Вам в гости и захочет отрегулировать свет? Допустим, Вы скажете: «Поверни ручку примерно на пятую часть по часовой стрелке» или «Поверни ручку, пока стрелка не окажется примерно на двух часах». Однако то, что сделает Ваш гость, будет лишь приблизительно соответствовать Вашей настройке. А может случиться и так, что Ваш друг передаст эту информацию своему знакомому, а тот – еще кому-нибудь. При каждой передаче информации шансы на то, что она останется точной, убывают.

Это был пример информации, хранимой в «аналоговом» виде. Положение ручки регулятора соответствует уровню освещения. Если ручка повернута наполовину, можно предположить, что и лампа будет гореть вполнакала. Измеряя или описывая то, насколько повернута ручка, Вы на самом деле сохраняете информацию не об уровне освещения, а о его аналоге – положении ручки. Аналоговую информацию можно накапливать, хранить и воспроизводить, но она неточна и, что хуже, при каждой передаче становится все менее точной.

Теперь рассмотрим не аналоговый, а цифровой метод хранения и передачи информации. Любой вид информации можно преобразовать в числа, пользуясь только нулями и единицами. Такие числа (состоящие из нулей и единиц) называются двоичными. Каждый нуль или единица – это бит. Преобразованную таким образом информацию можно передать компьютерам и хранить в них как длинные строки бит. Эти-то числа и подразумеваются под «цифровой информацией».

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*