|
|
|||||||||||||||||||||||||||||
|
Грейс ХопперИсточник: elementy
Компьютер или калькулятор?Современная вычислительная техника начиналась, по большому счету, с калькуляторов. Первые компьютеры удерживали в памяти лишь несколько чисел и выполняли с ними стандартные арифметические операции: сложение, вычитание, умножение и деление. В общем и целом, внутри компьютеры не претерпели существенных изменений - это и сейчас калькуляторы, но с огромной скоростью вычислений и объёмом памяти. Однако язык общения человека и компьютера стал иным. Между нулями и единичками (учёно говоря, машинным кодом) и программистом появились программы-переводчики - компиляторы. Во-первых, это делает написание и чтение программ гораздо более удобным - они написаны на языке, в чём-то похожем на человеческий. Во-вторых, можно уже не думать о том, как устроен внутри данный конкретный компьютер, компилятор с этим сам разберётся. О человеке, который сделал первые шаги в этом направлении, мы и расскажем. Её звали Грейс Хоппер, однако в разные времена она была известна как "удивительная Грейс" (Amazing Grace) и "бабушка Кобол" (Grandma COBOL). Интересно, что "Amazing Grace" - вообще-то название популярного христианского гимна, известного с 1779 года. Занятия математикой и первый компьютерРодилась Грейс в 1906 году в Нью-Йорке. Свою научную карьеру начала как чистой воды математик - в 1930 году получила степень магистра в Йельском университете и там же написала под руководством известного математика Ойстина Оре диссертацию по алгебре. С 1931 г. начала преподавать математику. Всё изменилось со вступлением США во вторую мировую войну. Грейс пошла служить добровольцем на флот. В звании младшего лейтенанта её направили в вычислительную лабораторию флота при Гарвардском университете. Там и произошло её первое знакомство с компьютерами, точнее говоря - с компьютером "Мark I". О нём хотелось бы сказать особо. Эта громадина весила четыре с половиной тонны и занимала площадь в несколько десятков квадратных метров. Несмотря на столь внушительный размер, по возможностям "Мark I" уступал некоторым современным калькуляторам: в памяти он мог хранить 72 числа и делать три операции сложения или вычитания за секунду. Чтобы перемножить два числа, ему требовалось уже шесть секунд. С тех пор всю жизнь Грейс Хоппер была связана с военно-морским флотом США. Со временем она достигла чина контр-адмирала, и на большинстве фотографий мы видим её в мундире с внушительным, кстати, количеством наград. Первый компиляторМашинный код После войны, в 1949 году, Грейс Хоппер попала в группу разработчиков компьютера "UNIVAC I" в компании "Eckert-Mauchly Computer Corporation". Он был гораздо более "сообразительным" - сложение выполнялось примерно за 500 микросекунд, а умножение - за 0,002 секунды. Для него Грейс Хоппер и написала в 1952 году первый в мире компилятор A-0. Он был устроен предельно просто: Грейс записала часто используемые ею подпрограммы (например, возведение числа в степень) в виде машинного кода на кассету (тогда основными носителями информации были они, а не диски или флешки), присвоив каждой свой уникальный номер. Премия имени Грейс Хоппер от ассоциации вычислительной техники (ACM) впервые была присуждена в 1971 году Дональду Кнуту Теперь в основной программе можно было, всего лишь указывая номер, вызывать соответствующую подпрограмму с кассеты. Это не только сократило программы, но и ввело в программирование принципиально новый шаг: сначала ты пишешь программу на своем языке (в данном случае - используя номера подпрограмм), а потом специальная программа - собственно компилятор - превращает этот текст в машинный код. Грейс Хоппер хотела, чтобы "работа программиста стала ближе деятельности математика", недаром одна из последующих версий этого компилятора получила название MATH-MATIC. С точки зрения современного человека, создав A-0, Грейс Хоппер совершила одно из важнейших открытий в вычислительной технике. Однако, как нередко случается, современники не придавали её деятельности особого значения. Она писала позже: "У меня был работающий компилятор, и никто им не пользовался. Мне говорили, что компьютер может выполнять только арифметические операции". Однако довольно скоро Грейс Хоппер убедила руководство в перспективности такого подхода к программированию и в 1954 году возглавила отдел автоматизации программирования. Do you speak English?Под её руководством был создан язык FLOWMATIC, к которому руководство также поначалу относилось скептически. Это был первый в мире язык программирования, программы на котором состояли из слов английского языка. С точки зрения удобства это был очень важный шаг - если вы знаете английский, то даже вам, не знакомым с языком FLOW-MATIC, примерно понятно, что делает эта программа. На лекции Эта новинка пришлась очень кстати, так как к концу 50-х годов многие люди за пределами узких математических и научных кругов стали понимать, что на компьютер можно переложить много всякой рутинной и вычислительной работы. А теперь и язык общения с этим "работником" стал гораздо более привычным. Фрагмент программы, написанной на языке COBOL Поэтому самый известный язык, созданный Грейс Хоппер, назывался "COBOL". Его название является аббревиатурой от "COmmon Business Oriented Language" - общий язык для бизнеса или, если перевести более вольно, всеобщий язык для деланья дел. Он оказался очень продуманным - поддерживался и развивался в течение сорока лет, изменения вносились в COBOL вплоть до 2002 года. Это весьма солидный возраст для компьютерной технологии. "Главное открытие"Грейс Хоппер похоронена на Арлингтонском национальном кладбище Многие в шутку говорят, что главным достижением Грейс Хоппер было не написание первого компилятора, а то, что она придумала термин "debugging" (на русский это обычно переводится как отладка, хотя иногда пишут просто "дебаг"). Он означает поиск ошибок в программе. Дело в том, что во время работы Грейс и её коллег на компьютере "Mark II" в Гарварде в 1947 году одна из неисправностей была связана с тем, что внутри компьютера застрял мотылёк. С тех пор и повелось называть поиск ошибок словом "debugging" (буквально на русский это переводится примерно как "дезинсекция" или "разжучивание"). Сам же "герой" оказался вклеен в лабораторный журнал, который теперь хранится в Национальном музее американской истории в Вашингтоне. "Бабушка Кобол"Кроме весьма удачной карьеры программиста Грейс Хоппер много лет посвятила популяризации программирования, в частности языка COBOL, и обучению ему. Она была известна как интересный и эмоциональный рассказчик. Например, она часто приходила на лекцию с тридцатисантиметровой веревочкой, поясняя, что столько свет проходит за одну наносекунду и именно поэтому сигнал со спутников идет так долго, а компьютерам лучше быть маленькими. Вот такой была эта воистину удивительная Грейс Хоппер!
|
|