Loading...

Знаете ли, коя е "Невероятната Грейс"?

avatar Георги Кацаров 7 минути
Знаете ли, коя е "Невероятната Грейс"?

Ако проявите интерес към историята на възникването и развитието на компютрите, може би ще ви направи впечатление, че мъжете, които са част от този процес като цяло са повече концентрирани върху хардуера, докато програмирането е привличало повече дамите. Това е така от самото начало. Чарлз Бабидж е търсел решение на проблемите, чрез създаване на подходящо устройство. Неговата съвременничка Ада Лъвлейс обаче създава първата програма, макар и само теоретично. В действителност хора като Джон Атанасов, Конрад Цузе, Джон Мокли и други, макар и брилянтни математици, акцентират в своите разработки върху непрекъснатото усъвършенстване на хардуера. Те се приспособявали към нуждите на компютъра, създавайки езици, комбинирайки инструкциите, необходими за управление на отделните компоненти. Машинните езици обаче са трудни за разчитане, защото отнема много време техните инструкции да се преведат на разбираем език, за да сме наясно какви инструкции задаваме на машината, какво приема тя, как го процедира и какъв резултат ни трябва. Необходимостта от човешки четим програмен език била повече от очевадна. Компютърните специалисти от 40-те години обаче били на мнение, че това е невъзможна задача, тъй като машинните езици са чиста математика. Една жена обаче не била съгласна с тях.

Коя е „невероятната Грейс“?

Грейс Брюстър Мъри Хопър е родена през 1906 г. и е най-голямото от трите деца на Уолтър Мъри и Мери Хорн. От малка се отличавала с огромна любознателност. Една от по-интересните случки от детството ѝ е свързана с това, че била любопитна как работят часовниците с аларма и затова разглобила седем от тях, за да се запознае с устройството им. След като майка ѝ разбрала за това, на Грейс и било наложено ограничение да има не повече от един часовник. Явно това обаче било показателно за интереса ѝ към точните науки, защото през 1928 г. се дипломира като бакалавър по математика и физика във Васар Колидж, а през 1930 г. се дипломира и като магистър в университета в Йейл, където само 4 години по-късно защитава докторска степен по математика. Междувременно тя започва да се занимава с преподаване на математика във Васар Колидж.

С въвличането на САЩ във Втората световна война в края на 1941 г. тя се опитва да постъпи във флота на няколко пъти, но молбата ѝ е отхвърлена, тъй като възрастта ѝ е твърде висока – тя е на 34 години. В крайна сметка през 1943 г. е приета като запасен офицер в WAVES – по това време женският клон на запасните офицери във ВМФ. За нея това означава още учене и подготовка, които се провеждат в Смит Колидж. Завършва като първенец на класа си, след което е назначена с чин младши лейтенант към „изчислителния проект“, по който се работи в университета Харвард и който е под юрисдикцията на МВФ. Там тя се запознава с Хауърд Ейкън и неговият проект „Automatic Sequence Controlled Calculator“, по-известен като „Модел 1“. От тук започва пътя на Грейс Хопър в света на изчислителната техника. Грейс остава като част от екипа работещ по Модел 1 до 1949 г.

От офицер от запаса до частния сектор.

През 1949 г. започва работа като старши математик в компютърна корпорация „Екърт-Мокли“ (EMCC), където е част от екипа, разработващ компютъра UNIVAC I - първият компютър с комерсиално предназначение в САЩ. Именно по време на работата по UNIVAC I Грейс се сблъсква с досадната, рутинна работа, която представлява програмирането посредством различни машинни кодове и препоръчала разработката на програмен език, който използва обикновени английски думи, за да изрази действията, които да се извършат. Идеята и е отхвърлена, с аргумента, че „компютрите не разбират английски език“. Тази ѝ идея ще остане нереализирана още три години – до 1952 г., когато започва постепенно да работи за нейната реализация.

Въпреки, че Грейс Хопър е човек на точните науки, трябва да отбележим че тя обича изящната реч и в своите преподавателски години, често пъти връщала работите на своите студенти, подчертани с червен цвят за допуснати правописни, граматически или стилистични грешки. На въпросите на своите студенти „Защо ни е необходимо да пишем правилно, ние сме математици, не литератори“, тя най-често отговаряла, че като математици, те трябва да владеят отлично умението да се изразяват правилно, за да могат недвусмислено и разбираемо да представят своите идеи и виждания. Това ѝ виждане е един от факторите оказали влияние и на решението ѝ да създаде компютърен език, който да използва нормални, човешки-четими думи, за да зададе инструкции на компютъра. Разбира се пътят до това откритие не бил никак лек, нито къс.

Всичко започнало през 1952 г., когато тя вече имала опериращ link-loader, който по това време в компанията наричали „компилатор“. Чрез него тя успяла да преведе математически нотации към машинен код. Не било проблем за математиците да боравят със символи, но с хората, занимаващи се с обработка на данни това било огромен проблем. Малцина били добри в манипулацията на символи и ако те имали това качество, те обикновено ставали професионални математици, не се занимавали с обработка на данни. Именно за да се облекчи тяхната работа бил необходим език, който да борави с разбираеми думи за хората думи.

Можех да напиша „Извади данъка от общата сума“ вместо да пиша отделните инструкции в осмичен код или използвайки всички видове символи. Компютърът щеше да разбере думите и да преведе инструкциите от английски на машинен код.”. През 1954 г. Грейс се издига до първи директор на автоматичното програмиране, като в нейния отдел са създадени едни от първите програмни езици, които използват компилатор, за да превеждат инструкции от човешки-четим на машинен език: MATH-MATIC и FLOW-MATIC.

“Баба „COBOL”

През 1959 г. се организира съвместна конференция на представители на компютърни експерти от индустрията и правителството, известна като „Conference on Data Systems Languages“ или „CODASYL“. По време на тази конференция Грейс Хопър и нейни бивши служители представят новият език COBOL. Абревиатурата е акроним от “COmmon Business-Oriented Language”. COBOL представлявал еволюирала версия от по-ранния проект на Хопър – FLOW-MATIC, като някои идеи в COBOL били взети от неговия IBM еквивалент – COMTRAN. Новият програмен език успявал да въплъти във себе си виждането на Хопър за това програмните езици да бъдат лесно четими от хората, а не труднопреведеими комбинации от машинни инструкции. Именно тази характеристика на COBOL го превръща в един от най-популярните езици на идните десетилетия. А заради своя огромен принос в развитието на компютърните науки, венец на който е COBOL, Грейс Хопър шеговито бива наричана (неофициално, разбира се) „Баба “COBOL“.

Други интересни факти за Грейс Хопър

Кариерата на Грейс Хопър не свършила с представянето на COBOL. Тя изиграва голяма роля на налагането на езика както в частния сектор, така и в държавния (тъй като продължавала да бъде и активен офицер в армията). През 1973 г. е повишена в чин „капитан“. Тя полага огромни усилия за стандартизация при тестването на компютърни системи и компоненти, в т.ч. и програмни езици. Налагането на тази стандартизация довежда до уеднаквяване на възникналите междувременно „диалекти“ на програмните езици. Работата и в тази насока довежда до възникването на институцията, която днес познаваме като „Национален институт за стандартизация и технологии“ (NIST).

Друг голям принос на Грейс Хопър е работата ѝ по децентрализация на военните компютърни мрежи. Тя настоява пред Министерство на отбраната на САЩ, да замени огромните, централизирани системи, от мрежи от дистрибутирани, малки компютри, като всеки един от компютрите-участници в мрежата се явява възел, който съхранява информация и всеки участник в мрежата може да достъпва информация която се намира в тази мрежа т.е. във всеки от компютрите.

Грейс Хопър има и принос за измислянето на термина „debugging” – дума, с която в света на програмирането наричаме процеса по проверка и тестване на програмен код, с цел отстраняване на грешки и недостатъци. Той е вдъхновен от реална случка, случила се по време на работата ѝ по Mark II компютъра, в Харвард. По време на работа с компютъра, едно от релетата отказало да работи. Причината се оказал молец, който проникнал в релето и възпрепятствал функционирането му. Въпреки че терминът не е записан никъде в логовете по случая, в действителност това е първият случай на буквален „дебъгинг“ (отстраняване на буболечка). Останките от молеца и днес могат да се видят в Националния музей за Американска история на Смитсъновия институт.

Това са най-бележитите моменти от живота на Грейс Хопър – жената, благодарение на която днес програмните езици са такива, каквито ги познаваме – много по-близки до човешката реч и език, отколкото до машинните инструкции. Тя е навлязла в света на програмирането в средата на тридесетте си години и е оставила незаличима следа в неговото развитие. Затова не губете време, а кандидатствайте още днес за безплатния курс „Programming Basics“ – най-добрият начин да навлезете в света на програмирането!