Истоки.
Наиболее раннее упоминание об использовании вычислительных устройств приходится на период 2700—2300 до н. э. Тогда в древнем Шумере был распространён абак. Он состоял из доски с начерченными линиями, которые разграничивали последовательность порядков системы счисления. Изначальный способ использования шумерского абака заключался в начертании линий на песке и гальке. Модифицированные абаки использовались также, как современные калькуляторы.
Антикитерский механизм считается самым ранним из известных механических аналогов компьютера. Он был предназначен для расчета астрономических позиций. Такой механизм был обнаружен в 1901 году на развалинах греческого острова Андикитира между Китирой и Критом и был датирован 100 г. до н. э. Технологические артефакты подобной сложности больше не появлялись до XIV века, когда в Европе были изобретены механические астрономические часы.
Механические аналоговые вычислительные устройства появились сотни лет спустя в средневековом исламском мире. Примерами устройств этого периода являются экваториум изобретателя Аз-Заркали, механический мотор астролябии Абу Райхан аль-Бируни и торкветум Джабир ибн Афлаха. Мусульманские инженеры построили ряд автоматов, в том числе музыкальных, которые могут быть «запрограммированы», чтобы играть различные музыкальные композиции. Эти устройства были разработаны братьями Бану Муса и Аль-Джазари. Мусульманскими математиками также сделаны важные достижения в области криптографии и криптоанализа, а также частотного анализа Аль-Кинди.
После того, как в начале XVII века Джон Непер открыл логарифмы для вычислительных целей, последовал период значительного прогресса среди изобретателей и учёных в создании инструментов расчёта. В 1623 году Вильгельм Шиккард разработал вычислительную машину, но отказался от проекта, когда прототип, который он начал строить, был уничтожен пожаром в 1624 году. Около 1640 года Блез Паскаль, ведущий французский математик, построил первое механическое устройство сложения. Структура описания этого устройства основана на идеях греческого математика Герона. Затем, в 1672 году, Готфрид Вильгельм Лейбниц изобрёл ступенчатый калькулятор, который он собрал в 1694 году.
|
В 1837 году Чарльз Бэббидж описал свою первую аналитическую машину, которая считается наиболее ранней конструкцией современного компьютера. Аналитическая машина имела расширяемую память, арифметическое устройство и логические схемы с возможностью интерпретировать язык программирования с циклами и условными ветвлениями. Хотя она не была построена, проект был хорошо изучен и отражал идею полноты по Тьюрингу. Аналитическая машина имела бы объем памяти меньше 1 килобайта и тактовую частоту меньше 10 Гц.
Для возможности создания первого современного компьютера ещё требовалось значительное развитие теории математики и электроники.
Бинарная логика.
В 1703 году Готфрид Вильгельм Лейбниц разработал формальную логику, математический смысл которой описан в его трудах и заключается в сведении логики к бинарной системе счисления. В ней единицы и нули формально представляют истинное и ложное значения или включённое и выключенное состояние некоторого элемента, могущего быть в двух состояниях. Эти работы намного опередили работы Джорджа Буля, опубликовавшего свои результаты в 1854 г. Сейчас алгебра высказываний Буля называется булевой — математически полная алгебраическая система. Новый импульс развитию булевой алгебры дал Клод Шеннон в работах 1933 г., где показал, что состояния и переходы между состояниями релейных переключающих схем могут быть формально описаны в терминах булевой алгебры и для их анализа и синтеза пригоден математический аппарат булевой алгебры, к тому времени хорошо развитый. И сейчас булева алгебра — основа для логического проектирования процессоров, видеокарт и многих других систем и устройств бинарной логики.
|
К этому времени было изобретено первое механическое устройство, управляемое бинарной схемой. Промышленная революция дала толчок механизации многих задач, включая ткачество. Перфокарты контролировали работу ткацких станков Жозефа Мари Жаккара, где перфорированное отверстие на карте означало бинарную единицу, а неперфорированное место означало бинарный ноль. Благодаря перфокартам станки имели возможность воспроизводить сложнейшие узоры. Ткацкий станок Жаккара был далек от того, чтобы называться компьютером, но он показывает, что бинарная система могла быть использована для управления механизмами.
Становление дисциплины.
Пионеры вычислительной техники.
Чарльз Бэббидж считается пионером вычислительной техники. Бэббидж имел чёткое представление о механических вычислениях чисел и таблиц. С 1810-х годов он начал воплощать свои идеи в реальность, разработав калькулятор для вычисления чисел до 8 знаков после запятой. Продолжая успех этой идеи, Бэббидж работал над созданием машины, которая могла вычислять числа до 20 знаков после запятой. К 1830 году Бэббидж придумал план, как разработать машину, которая могла использовать перфокарты для выполнения арифметических операций. Предполагалось, что машина должна хранить числа в блоках памяти и содержать форму последовательного управления. Это означает, что операции должны проводиться последовательно таким образом, чтобы машина возвращала ответ в виде удачи или неудачи. Эта машина стала известной как «аналитическая машина», которая стала первым прототипом современного компьютера. Гораздо позже, 21 января 1888, прошло частичное испытание «Аналитической машины Бэббиджа», которую построил его сын. На этом устройстве было успешно вычислено число Пи с точностью до 29 знаков.
|
Ада Лавлейс является пионером компьютерного программирования. Лавлейс начала работать у Чарльза Бэббиджа в качестве помощницы, в то время как Бэббидж работал над «Аналитической машиной». За время работы с Бэббиджем Ада Лавлейс стала разработчиком первого компьютерного алгоритма, который мог вычислить числа Бернулли. Кроме того, результатом её работы с Бэббиджем было предсказание того, что компьютеры будут не только выполнять математические расчеты, но и манипулировать различными символами, не только математическими. Она не могла видеть результаты своей работы, так как «аналитическая машина» не была создана при её жизни, но начиная с 1940-х годов, её усилия не остались незамеченными.
До 1920-х годов компьютерами (что-то вроде вычислительной машины) были клерки, выполнявшие вычисления. Много тысяч таких компьютеров было занято в коммерции, работали в правительстве и научно-исследовательских учреждениях. «Компьютерами», в большинстве своём, являлись женщины, которые имели специальное образование. Некоторые выполняли астрономические вычисления для календарей.
Математические основы современной информатики были заложены Куртом Гёделем в его теореме о неполноте (1931). В этой теореме, он показал, что существуют пределы того, что может быть доказано и опровергнуто с помощью формальной системы. Это привело к определению и описанию Гёделем и другими формальных систем, в том числе были определены такие понятия, как μ-рекурсивная функция и λ-определимые функции.
1936 был ключевым годом для информатики. Алан Тьюринг и Алонзо Черч параллельно друг с другом представили формализацию алгоритмов с определением пределов того, что может быть вычислено, и «чисто механическую» модель для вычисления.