Реферат: Роль женщин в развитии вычислительной техники
28 июля Лавлейс восторженно пишет Бебиджу: "Я счастлива узнать, что мои примечания требуют фактически мало исправлений. Сказать честно, они удивили меня… хотя речь идёт обо мне самой. Они действительно написаны прекрасным стилем, который превосходит стиль самого очерка. Я заставила рассмеяться графа Л., когда невозмутимым тоном заметила: "Я очень довольна своим первенцем. Это необычайно прекрасный ребёнок, и он вырастет в человека первоклассной величины и силы".
Менабреа был удивлён, обнаружив свою статью не только хорошо переведённой, но и снабжённой обширными и глубокими комментариями и замечаниями. Статья была переведена профессиональным математиком (в этом он не сомневался), а каждое замечание было подписано инициалами AAL (Augusta Ada Lovelace), которые он не смог связать ни с одним известным ему лицом. Каково же было восхищение Менабреа, когда после длительных выяснений он узнал, что за этими инициалами кроется 27-летняя леди Лавлейс.
После окончания работы над статьёй Менабреа Ада Лавлейс в письме от 11 августа задаёт Беббиджу вопрос, оставит ли он "интеллект и способности "леди-феи" на службе своим великим целям?". Ответ Бебиджа был, естественно, положительным. В этом же письме Лавлейс предлагает консультировать всех желающих по вопросам, связанным с вычислительными машинами, чтобы Беббидж не отвлекался от основной работы.
Начиная с 1844 года, Ада Лавлейс всё больше увлекается игрой на скачках, тем более что сама прекрасно ездила и любила лошадей. На скачках играли и Беббидж и Вильям Лавлейс, причём Беббидж, интересовавшийся прикладными вопросами теории вероятностей, рассматривал с этих позиций и игру на скачках и искал оптимальную систему игры. Ада израсходовала на скачках почти все принадлежащие ей средства и к 1848 году сделала большие долги. Потом её матери, леди Байрон, пришлось погасить эти долги.
В начале 50-х годов появились первые признаки болезни, унесшей жизнь Ады Лавлейс. Несмотря на принимаемые меры, болезнь, конечно, прогрессировала и сопровождалась тяжёлыми мучениями. 27 ноября 1852 года Ада Лавлейс скончалась, не достигнув 37 лет. Она была погребена рядом с отцом в фамильном склепе Байронов. Уже в настоящее время в память о ней назван разработанный в 1980 году крупнейшими специалистами по программированию язык АДА - один из наиболее мощных и универсальных алгоритмических языков.
Следует отметить, что представления Лавлейс о принципиальных возможностях аналитической машины были вполне обоснованы. Круг вопросов, рассмотренных в её "Примечаниях", весьма широк. Хотя Беббидж написал свыше 70 книг и статей по различным вопросам, а также составил большое число неопубликованных описаний вычислительной машины, полного и доступного описания и, главное, анализа возможностей машины для решения различных задач он так и не сделал. Беббидж говорил, что слишком занят разработкой машины, чтобы уделять время её описанию. Работа Лавлейс не только заполнила этот пробел, но и содержала глубокий анализ особенностей аналитической машины. Прекрасный популяризатор идей Беббиджа леди Лавлейс настолько хорошо понимала его работу, что описала принципы действия аналитической машины с чёткостью, которой не ожидал сам Беббидж. Он неоднократно повторял, что представления Лавлейс о его работе были яснее, чем его собственные.
Усвоив идеи Беббиджа и обладая глубокими познаниями в математике, Ада Лавлейс с большой энергией проповедует эти идеи, стремясь сделать их широко известными и понятными, стараясь заинтересовать учёных работами Беббиджа. Наряду с этим она разрабатывает некоторые чертежи для машины Беббиджа и исследует вопросы, связанные с применением в машине двоичной системы счисления. Лавлейс высказала ряд идей, получивших широкое применение только в настоящее время. Основной итог её работы - создание основ программирования на универсальных цифровых вычислительных машинах.
Глава 2.
Деяния Грэйс Хоппер.
Грэйс Хоппер (Grace Hopper) родилась в 1906 году - на 91 год позже Ады. Ее карьера, хотя и нетипична для женщины, на первых порах не представляла ничего особенного - Вессарский колледж, степень доктора математики в Йельском университете в 28 лет, профессорская должность в Вассаре. Таланты умной девочки, казалось бы, раскрылись, жизнь шла своим чередом, и ничто не предвещало бурных изменений.
Как и в случае с компанией Helwett Packard, для полной реализации потенциала Грэйс поторебоввалассь экстраоринарная ситуация. Ее создала Вторая мировая война. Грэйс, уже тридцатисемилетняя дама-профессор, вступила в женскую добровольную организацию содействия ВМС США. Для того, чтобы образом изменить свою жизнь, человек должен иметь авантюристическую жилку, и Грэйс обладала ей в полной мере. Однажды она так выразила свой основной жизненный принцип: "Если у вас возникла интересная идея, валяйте, делайте. Извиниться потом легче, чем заранее получить разрешение".
Mark-1 - воплощение Аналитической Машины
Итак, младший лейтенант Грэйс Хоппер была направлена в Гарвардский университет, где к тому времени был установлен компьютер Mark-1.
В создании Mark-1 приняли участие силы - ВМС США, заказавшие универсальную счетную машину для расчетов баллистических таблиц: фирма IBM, президент которой Томас Уотсон в патриотическом порыве финансировал военную разработку и предоставил производственные мощности для создания необходимых деталей; и математик Говард Эйкен. А в основу Mark-1 было положено оставленное Бэббиджем описание его Аналитической Машины.
Полученное "чудовище" достигало 17 м в длину и 2,5 м в высоту. Провода, которыми соединялись его 750 тыс. деталей имели суммарную длину более 800 км. Программа вводилась с перфоленты, а данные с перфокарт (не зря же, в конце концов, перфораторы составляли львиную долю продукции IBM). Компьютер имел электромеханическое реле и работал по тем временам очень быстро - 0,3 с у него уходило на сложение и вычитание двух чисел и 3 с на умножение.
Учитывая интерес Грэйс к двум смежным областям - геометрии и механике,- она была идеальным кандидатом на работу с компьютерами типа Mark-1, когда любой программист (такого термина тогда еще не существовало, а должность Грэйс называлась словом "кодировщик") одновременно блестяще разбирался в механическом содержимом громоздкой машины. "Интеллектуальным" обслуживанием машины, помимо профессора и младшего лейтенанта Грэйс Хоппер, занимались математики-мичманы Роберт Кэмпбел и Ричард Блок.
Существует легенда, что Грэйс принадлежит термин debugging (для программы - отладка; а буквально - изничтожение насекомых). История такова: однажды Mark-1 сломался из-за того, что в одном из реле покончил жизнь самоубийством крохотный мотылек (bug). Останки бедняги были аккуратно извлечены. Тогда-то якобы Грэйс впервые и употребила термин debugging, имея в виду ту самую работу, которой в данный момент была занята группа программистов, - очистку компьютера от насекомых. На самом деле слово bug в английском языке имело двойное значение (и насекомое, и техническая неисправность) задолго до Грэйс, так что мы имеем дело с очередным апокрифом компьютерного общества.
Но если Аде Лавлейс принадлежит право интеллектуальной собственности на циклы, то Грэйс и ее коллеги в 1944 году использовали эти принципы на практике. С точки зрения Грэйс, подпрограммами были сравнительно универсальные последовательности команд, которые можно было объединять в более крупные блоки. Свои подпрограммы программисты хранили в блокнотах и при необходимости переписывали их друг у друга. При этом им приходилось каждый раз заново рассчитывать адреса переменных. Учитывая, что текст записывался в кодах, а складывать программисты, как правило, не умеют, можно себе представить, как часто при переписывании возникали ошибки. Да и читать программы, даже снабженные комментариями, оказывалось достаточно сложно.
От кодов к языку.
Первая попытка облегчить участь программистов была сделана в 1948 году. Алан Тьюринг и Макс Нейман в Манчестере (Англия) вели работы по созданию компьютера, аналогичного американскому и, кстати, получившему то же название - Mark-1. Для него была создана так называемая система "сокращенного кодирования" - первый язык высокого уровня. Изначально задуманные 32 машинные команды - длинной пять байтов каждая - для удобства получали буквенные обозначения. Однако затем длина команд была увеличена до шести байтов, и в результате многие преимущества новой системы были сведены на нет: каждая команда обозначалась уже двумя символами, но для сокращения избыточности второй из них одновременно оказывался началом следующей команды. С помощью телетайпа производилось двоичное кодирование, и создавалась перфолента.
Следующим шагом было "короткое кодирование". У Джона Мочли, работающего над созданием компьютера UNIVAC, возникла идея научить компьютер воспринимать алгебраические уравнения в их традиционном виде. Затем специальная программа-интерпретатор переводила уравнение на язык нулей и единиц. В полной мере реализовать этот замысел не удалось, потому что знаки математических действий по-прежнему приходилось заменять на их численные коды. Интерпретаторы стали первой попыткой сделать компьютер более дружественным, но интерпретирующая программа пожирала и без того скудные ресурсы памяти и замедляла выполнение программ. Да и целесообразность интерпретации введенной с перфокарт программы выглядит, вообще, говоря, сомнительно.
Вот этот "интерпретатор" и навел Грэйс Хоппер (которая работала в фирме Джона Мочли) на мысль, что для общения человека с компьютером есть более приятный способ, чем кодирование. Однако нужно ли было такое "очеловечивание" компьютера? В какой-то момент Грэйс заметила, что программисты постепенно изолируют себя от остального человечества и начинают мыслить в тех же терминах, что и счетные машины. Толчком, как утверждают, послужили собственные проблемы Грэйс при подведении баланса ее банковского счета: по привычке она попыталась произвести сложение и вычитание в восьмеричной системе исчисления, и очень удивилась, когда ее итог не совпал с тем, что получилось у банка.
К 1952 году из "сокращенного кодирования" вырос первый компилятор - язык Autocod, созданный Алексом Гленном.
Хотя программисты, оберегая свое исключительное положение при вычислительной машине, всячески сопротивлялись распространению языков типа Autocod, фирмы-производители, пытавшиеся вывести компьютеры за пределы военных и университетских лабораторий, вкладывали в создание новых языков значительные средства.
Компания Raimington Rand, купившая права на UNIVAC, натолкнулась на нехватку "жрецов в белых халатах", свободно "чирикающих" на двоичном коде, поэтому процесс общения с машиной надо было облегчить и включить в поставку компьютера программное обеспечение. Возникла идея создания библиотеки подпрограмм, из которой программа-компоновщик (компилятор) выбирала бы необходимые блоки и автоматически устанавливала нужную адресацию. В 1951 г. Гhэйс Хоппер было поручено создать такую библиотеку. Несколько лет спустя, когда ею была реализована уже четвертая версия компилятора A (версия A-3), из маркетинговых соображений он был переименован в Math-Matic.
Пятидесятые годы были периодом активной разработки машинно-зависимых языков высокого уровня. В 1953 году вышли в свет два из них - Speedcoding фирмы IBM, который она разумно представила со своим новым компьютером IBM 701, и Vortex, созданный в Массачусетском институте. Vortex был первым языком, в котором символы вводились в их естественном виде. Он, однако, не был коммерческой разработкой и практически не распространился за пределы МТИ.
Основным признаком таких языков была краткость инструкций - пара символов либо цифровой код, так что по-прежнему для работы с машиной нужно было изучать "дельфиний" язык.
Использовать полноценные английские слова догадалась Грэйс Хоппер. Для того, чтобы облегчить компьютеру работу, в качестве базиса было принято, что все инструкции обладают значимыми первым и третьим символом. Остальные символы при анализе игнорировались. Грэйс, видя перспективность этого подхода к языкам программ, действовала на свой страх и риск. Когда в 1956 году компилятор B-0 был готов, ей оставалось извиниться за самоуправство и задним числом убедить начальника в перспективности нового подхода. Для пущей наглядности она преобразовала компилятор в трехъязычный, заставив его понимать инструкции на английском, французском и немецком языках. Этим она положила начало одному порочному направлению в программировании - переводу инструкций языка на программирования на национальные языки (забегая вперед, скажем, что впоследствии появились самые разнообразные версии языка Cobol - вплоть до китайской, где инструкции записывались с помощью иероглифов).
Как бы то ни было, после такой демонстрации цель - убедить начальство, что компьютер может понимать нормальные слова - была достигнута, и B-0, в миру Flow-Matic, был одобрен для коммерческой реализации.
Мама языка Cobol
К концу пятидесятых годов практически для каждой торговой марки, если не для серии, компьютера был создан свой язык высокого уровня. Компания Ramington Rand (к этому времени Sperry Rand) выпускала Flow-Matic; для IBM 704 уже существовал FORTRAN; ВВС США, в пику ВМС, на которые и работала Sperry Rand, создали AIMACO.
В 1959 году представители производителей компьютеров и научного мира провели совещание в Пенсильванском унивеститете (третьем оплоте информатики, после Гарварда и Массачусетса). На повестке дня стояло создание единого по синтаксису, гибкого, универсального языка для разработки бизнес-приложений. Однако если между собой не могли договориться даже отделения военного министерства, чего оставалось ждать от независимых производителей?
Грэйс Хоппер решила подтолкнуть их к заключению соглашения и нашла для такого языка заказчика - Министерство обороны США, с его "зоопарком компьютерной техники" (более 1000 компьютеров, полностью несовместимых между собой), крайне нуждалось в подобном средстве.
Министерство обороны организовало специальную конференцию - Conference on Data System Language (CODASYL), в которой участвовали IBM, Honeywell, General Electric, Sperry Rand и другие - в общем, все, кто расчитывал получить от Пентагона заказ на поставку компьютеров.
Группа программистов во главе с Грэйс достаточно быстро сформулировала основные положения языка COBOL (COmmon Business Oriental Language), основанного на Flow-Matic. Другие компании не пришли в восторг от идеи COBOL'a. IBM, имевшая в запасе FORTRAN и Commercial Translator, стремилась убедить аудиторию, что на создание нового языка нет времени. Honeywell пыталась сделать стандартом свое творение FACT. Но Грэйс не напрасно столько лет имела дело с ВМС США и знала, как убедить военное начальство...
Идея COBOL была проработана к осени 1959 года, а первые трансляторы от RCA и Sperry Rand поступили в продажу к зиме.
Что можно еще сказать о Грэйс Хоппер? В 1966 году, шестидесяти лет, она ушла на пенсию из Вспомогательной службы ВМС США, однако не прошло и года, как была вновь призвана для работы по стандартизации языков программирования. Окончательная отставка Грэйс последовала в 1986 году. В то время она имела чин адмирала ВМС США и была самой старшей среди служащих офицеров.
Глава 3.
Сэнди Лернер.
Сэнди Лернер родилась в Финиксе в 1955 году, в день взятия Бастилии. Ничего революционного, впрочем, в ее детстве не наблюдалось. Родители развелись, когда Сэнди было 4 года; ее отправили жить с тетей и дядей на ранчо в Калифорнию. Видимо, тогда зародилась любовь к животным, особенно лошадям, и нелюбовь к куклам, в которые она никогда не играла. Большую часть времени девочка проводила в одиночестве, много читала. Любимый телесериал — про странное, отчасти потустороннее, отчасти безумное семейство Адамс, до сих пор выделяющийся на фоне того, что обычно показывает американское телевидение.
В 9 лет она вступила в местный 4-Н-клуб (от «Head, Heart, Hands, and Health», нечто вроде скаутского движения с сельскохозяйственным уклоном). «Это был неоценимый опыт, — вспоминает Лернер. — Я научилась выступать перед публикой и формулировать свои мысли». Одновременно начинается ее деловая карьера: Сэнди купила теленка, вырастила, продала, купила еще двух… К моменту поступления в университет ее стадо насчитывало 30 голов.
В подростковом возрасте начинает проявляться повстанческая натура Сэнди. Она отказывалась отдавать честь национальному флагу на школьных линейках, в 13 лет ее арестовала полиция на митинге протеста против Вьетнамской войны. «Я была социалистом с двенадцати лет» — не от каждого миллионера услышишь такое признание. Окончив школу, Сэнди полтора года проработала в банке. «Это был ад, — вспоминала наша героиня. — Президент банка заставлял нас вставать на колени, чтобы проверить длину юбок».
Она спаслась бегством в Калифорнийский университет, где два года изучала сравнительную теорию коммунизма «как настоящий большевик», затем переключилась на прикладную экономику и первый раз села за терминал мэйнфрейма IBM 360. «Это было религиозное переживание». Лернер говорит, что до сих пор не доверяет компьютерам, которые может поднять один человек. В 1977 г. она перевелась в Стэнфорд, сменив специализацию на вычислительную математику, и попала в логово самых отъявленных компьютерных фанатиков во всей Америке. «Я была там единственной девушкой и, похоже, только я принимала ванну». Впрочем, нет, регулярно мылся еще один компьютерщик, Леонард Босак. Он даже умел пользоваться столовым прибором! Их сближают и менее внешние признаки — интеллект и чувство юмора. Сближают настолько, что раскрутившийся со скоростью жесткого диска роман завершается браком еще на студенческой скамье.
Получив дипломы, молодая семья осталась в университете, Босак возглавил вычислительную лабораторию факультета компьютерных наук, Лернер заняла аналогичную должность в Высшей школе бизнеса. В то время вычислительный парк Стэндфордского университета уже насчитывал около 5000 разнокалиберных компьютеров, раскиданных по площади в 35 квадратных километров. Локальные сети подразделений работали на разных протоколах, и их объединение представлялось невероятно трудной задачей. Пока университетское руководство обсуждало пути ее решения и аккумулировало средства, Лен Босак нашел простой до гениального способ.
Для того чтобы понять, что же действительно он сотворил, необходимо принять во внимание исторический фон. Созданная на средства военных экспериментальная сеть ARPANET была родоначальницей Интернет, но кардинально отличалась от последней. ARPANET предполагала соединение между компьютерами — большими «серьезными» машинами — для совместного использования ресурсов. Коммутацией пакетов занимался Interface Message Processor, IMP, отдельный миникомпьютер (маленький и дешевый только на фоне мэйнфреймов). Соответственно проблема совместимости возникала на уровне операционных систем, а не сетевых протоколов, точнее единственного протокола NCP. Концепция маршрутизации возникла также из сугубо военной предпосылки — обеспечить доставку пакетов данных при частичном разрушении заведомо избыточной коммуникационной инфраструктуры. Маршрутизацией занимались те же IMP при помощи протокола внешнего шлюза (Exterior Gateway Protocol, EGP). Аналогичные ARPANET проекты велись и в других странах, так что идея взаимодействия целых сетей возникла закономерно. Такое взаимодействие логично было организовать в немногочисленных точках, обслуживаемых мощными шлюзами — аналогами IMP, и договориться заодно об общем протоколе. Для этой цели как раз подоспел набор протоколов TCP/IP, разрабатываемый изначально для преодоления количественных ограничений NCP — всего одна сеть из 64 машин максимум! Для маршрутизации в такой простой топологии хватало примитивного EGP.
При возникновении ARPANET локальных сетей еще не было, они появились позже и долго развивались совершенно независимым путем. Развитие это привело к настолько сложным структурам, что маршрутизация понадобилась уже и в них. С учетом постоянных, не всегда отслеживаемых изменений в сети, протокол внутреннего шлюза должен быть гораздо более интеллектуальным.
Что же придумал Леонард Босак в 1984 году? Программное обеспечение, на лету перелопачивающее данные из одного протокола в другой и обеспечивающее маршрутизацию. Плюс высокоскоростной узкоспециальный микрокомпьютер под него, оказавшийся в десятки раз дешевле машин, традиционно занимавшихся маршрутизацией. В его основе был знаменитый миникомпьютер DEC PDP-11.
Естественно, по мере коммерциа