Королева коду, історія Грейс Хоппер і її вплив на комп’ютерну індустрію

2 червня 2024 1 хвилина Автор: Lady Liberty

Розповідаємо про життя і досягнення Грейс Хоппер, видатної програмістки, яка зіграла ключову роль у перетворенні комп’ютерів з важкодоступних машин на зручні для користувачів інструменти. Від створення першого компілятора до розробки мови програмування COBOL, Грейс Хоппер залишила незабутній слід у світі технологій. Дізнайтеся більше про її внесок у комп’ютерну індустрію та вплив на сучасне програмування.

Математика замість сімейного життя

Хоппер зіграла особливо важливу роль у тому, щоб зробити комп’ютерну сферу більш відкритою. З 1994 року проводиться конференція жінок-інформатиків, названа на її честь. Існує стипендіальний фонд імені Хоппер, метою якого є підтримка дівчат і жінок, які беруть участь у програмі.

Під час інтерв’ю телеведучий Девід Леттерман запитав Хоппер, як вона знає про комп’ютер. Вчена відповіла, що нічого не знає. Хоппер, одна з першопрохідців, багато в чому діяла з натхнення і абсолютно не зустрічала підтримки у свого керівництва, як на “Ентерпрайзі”, так і на флоті. Наприклад, головна мета її життя-навчити комп’ютер розуміти не тільки числові команди, а й людську мову.

Але їй це вдалося. Програмування-це все, що вимагає спеціальних навичок і підготовки, але ідея Хоппер внесла важливий внесок у полегшення роботи програміста. І звичайним людям не потрібно вивчати премудрості двійкового коду, щоб користуватися комп’ютером.

Хопер у молодості.

Вона вивчала математику та фізику і отримала ступінь бакалавра за цими спеціальностями в 1928 році. Потім вона вступила до Єльського університету. Так, в 1934 році вона захистила докторську дисертацію, присвячену незводимим многочленам і теорії кілець. Науковим керівником Хоппер був відомий норвезький математик Ойстер Оре.

Отримавши ступінь доктора філософії з математики, Хоппер повернулася до своєї альма-матер, університет Вассар, і розпочала освітню кар’єру. Але цей кар’єрний шлях тривав недовго-в 1939 році почалася Друга світова війна, учасником якої Сполучені Штати стали через 2 роки після нападу на Перл-Харбор.

«Комп’ютерна біблія» та баг – військова служба та перші кроки у програмуванні

Не відразу вдалося внести свій внесок у перемогу союзників Хоппер. У свої 34 роки Хоппер була занадто стара, щоб йти в армію. Також вченій не вистачало ваги-вона відрізнялася худорлявою статурою.

У той же час все більше і більше чоловіків йшли в армію і звільнялися з роботи. Такі області, як математика, гостро потребували кваліфікованих фахівців, які і потрапили в руки Хоппера.

У 1943 році, завдяки програмі WAVES (“жінка була прийнята в добровільну службу порятунку”), вона змогла вступити в резерв військово-морського флоту США.

Спочатку Хоппер відвідувала кадетську школу запасу в коледжі Сміта в штаті Массачусетс і закінчила її з найкращими результатами на курсі.

Під час служби

Після року навчання підполковник Хоппер (еквівалент нашого підполковника) був направлений до бюро проектування артилерійських обчислень Гарвардського університету для роботи над Mark I, комп’ютером з автоматичним управлінням послідовністю дій. Насправді це був перший програмований комп’ютер в Америці.

Служба в армії її не турбувала. Навпаки, вона описала цей досвід як “найповнішу свободу, яку я коли-небудь отримувала”. “Крім того, в ті роки армія, флот були найперспективнішими місцями роботи для багатьох вчених-новаторів (Привіт Оппенгеймеру!).

Хоппер назвала Марка I “вражаючим монстром” і найкрасивішим пристроєм, який вона коли-небудь бачила. Mark I був 17 метрів в довжину і 2,5 метра у висоту і займав іншу кімнату в Гарвардському університеті.

У той час не існувало терміна “комп’ютерне програмування”, але це можна назвати саме тим завданням, якою в той час займалася Грейс. Команда працювала над складними розрахунками для армії, включаючи розрахунок траєкторії польоту ракети і створення таблиці дальності стрільби для нових зенітних гармат.

Хоппер працювала під керівництвом піонера комп’ютерної інженерії Говарда Айкена. У 1946 році він доручив Хопперу відредагувати інструкцію з експлуатації та технічного обслуговування Марка I.

Грейс Хоппер (друга справа), Говард Ейкен (у центрі) та їхні колеги перед комп’ютером Mark I

Протягом багатьох років роботи Mark I покладався на імпровізовані методи роботи членів команди. Перед Хоппер стояло дуже амбітне завдання-об’єднати розрізнені знання про верстаті і створити докладні професійні інструкції.

Через великий обсяг даних вчені порівняли проект зі створенням “комп’ютерної Біблії”. В результаті вийшла книга обсягом в 500 сторінок. Хоппер детально розробила усі аспекти фізичних компонентів Mark I, складність експлуатації та обслуговування.

Цей посібник включав Детальні інструкції з програмування машини, тому він став першим підручником з комп’ютерного програмування.

Після успішного виконання завдання Ейкен оцінила заслуги Хоппер і призначила її заступником. Потім вона написала кілька статей про Марка I, створив обчислювальну машину для випуску Mark II та Mark III, а Хоппер працював у його команді.

У той час Хоппер мимоволі доклав руку до появи термінів “баг” і “дебаггінг” в комп’ютерному житті. У 1947 році, під час тестування Mark II, машина вийшла з ладу через те, що в корпус комп’ютера потрапила помилка.

У перекладі з англійської баг-це помилка, або баг-недолік. Хоппер вставив цю комаху в свій технічний щоденник, згадавши про Баг і написавши: “перший випадок виявлення бага”. Але в історію цей термін увійшов саме як помилка або збій в роботі комп’ютерного обладнання.

Запис Хоппер про перший в історії бага.

Лінь – двигун прогресу: створення компілятора A-0

У 1949 році Хоппер запропонували посаду головного математика в технологічній компанії Eckert-Mauchly Computer Corporation. Засновники Джон Моклі та Джон Преспер Еккерт створили комп’ютер ENIAC на замовлення Збройних сил США в 1946 році.

Хоппер була запрошена працювати над UNIVAC I, першим в Америці повністю електронним цифровим комп’ютером для спільного використання, а також для військового використання. У 1950 році компанія продала свої активи Remington Land, після чого Хоппер очолила відділ розробки автоматичного програмування.

UNIVAC I міг обробляти більше інформації, ніж Mark I, і був дуже привабливим для Хоппер. Комп’ютер виконував 455 операцій множення в секунду і міг зберігати близько 1000 операцій в пам’яті на лінії затримки Меркурія.

Крім того, вона мала більше свободи в комерційній сфері. Хоппер активно користувалася цим і експериментувала з новими способами використання комп’ютерів для кодування.

Автоматичним програмуванням зацікавилися вчені. Пізніше вона згадувала, що під час роботи їй було лінь багато разів переписувати програму для налаштування обладнання.

Саме тому в 1952 році з’явився компілятор a-0. Слід розуміти, що програма в той час являла собою набір математичних описів, які необхідно було обробити кількома іншими програмами. Це було довго і складно.

Компілятор A-0 дозволив перетворити комп’ютерну мову високого рівня в двійкову, тобто машинну мову програмування, всього за допомогою 1 програми. Паралельно з Hopper інші розробники розробляли подібні програми. Наприклад, в тому ж 1952 році в Манчестерському університеті під керівництвом Алека Глені був запущений компілятор autocode.

Але сам термін “компілятор” був створений Хоппер і її командою Remington Rand. Функціональність A-0 не зовсім відповідає тому, що означає Цей термін сьогодні. Швидше, його можна назвати завантажувачем додатків і компонувальником.

Проте, це була знакова і важлива віха в розвитку програмування. Хоппер заклала основу для створення сучасних мов програмування, які полегшують спілкування між людьми та комп’ютерами та дозволяють їм виконувати складні завдання з мінімальною кількістю команд.

Після A – 0 були випущені оновлені версії-a-1, a-2 і т.д. перші клієнти отримали компілятор a-2 до кінця 1953 року. Remington Land надала їм вихідний код для A-2 і запропонувала вдосконалення для UNIVAC.

Бабуся Кобола – однієї з ранніх мов програмування

Тим часом Хоппер продовжувала розвивати ідею написання програм словами, а не символами. На її думку, мова програмування повинна бути ближчою до повсякденної англійської, а не до двійкового коду. Це робить використання комп’ютера більш зрозумілим для звичайного користувача.

Комп’ютери тільки починали поширюватися серед звичайних користувачів, в основному в компаніях. Відсутність інженерної та математичної освіти здавалося непереборною перешкодою для використання комп’ютерів.

Хоппер побачила величезний потенціал використання комп’ютерів у бізнесі, наприклад, для оплати праці, тому продовжила свої дослідження та спроби.

Хопер під час роботи над COBOL.

Керівництво Remington Land не поділяло бачення Хоппер. Але їй було все одно. Висловлювання вчених розділені на цитати, з яких 1 говорить:”У мене на стіні годинник, який йде проти годинникової стрілки, тому що я намагаюся з цим боротися”.

У 1956 році її команда запустила FLOW-MATIC, першу мову програмування, що використовує мовні команди. Нововведенням цієї мови був синтаксис, в якому дані і операції з ними були спільними.

Тільки операція була виражена в усній формі, а дані вводилися через попередньо роздруковану форму. Основою Kobol став FLOW-MATIC.

COBOL з’явився на конференції з системних мов обробки даних, що відбулася навесні 1959 року. Це було реалізовано організацією CODASYL, основною метою якої є створення стандартизованої мови програмування для бізнесу.

Основою Kobol став FLOW-MATIC Hopper, а ще одним джерелом впливу став IBM COMTRAN.1 Kobol був створений не тільки Хоппер, а й зусиллями багатьох людей, але той факт, що її дітище було в центрі мови, приніс їй прізвисько “бабуся Кобол”..

Хоппер займалася розробкою цієї мови, як у військовій, так і в цивільній сферах. Вона також працювала над створенням компілятора для Kobol.

Фрагмент програми на КОБОЛ на мейнфреймі.

Мова використовує англомовні ключові слова, а його синтаксис наближений до цілісних речень англійською мовою. Серед плюсів – легка читаність програм.

Серед мінусів – громіздкість. Наприклад, те, що в сі-подібних мовах виражається як y = x;, у Коболі виглядатиме так – MOVE x TO y.

Критикували КОБОЛ і через відсутність структурованості. Нідерландський вчений і один із розробників концепції структурного програмування Едсгер Дейкстра навіть говорив , що використання Кобола «калічить мозок», а його викладання — «кримінальний злочин».

За всіх недоліків КОБОЛ набув широкого поширення в 1960-1970-ті роки. Все більше комп’ютерів блимали в кожному корпоративному офісі, як того хотіла Хоппер.

До 1980-х КОБОЛ було визнано застарілим, проте, як і раніше, зберігав популярність. За даними 1997 року, код на Коболі обробляв 90% фінансових транзакцій у світі та 75% комерційних транзакцій.

КОБОЛ використовується досі, особливо в США, переважно для підтримки існуючих додатків. У серпні 2023 року він навіть вийшов на 15 місце за популярністю серед усіх мов програмування.

Популярність мови має багато причин. Десятиліття використання зробили КОБОЛ надійним та стабільним. З його допомогою можна обробляти великі обсяги даних і при цьому не потребує дорогого обладнання. КОБОЛ сумісний з іншими мовами та технологіями, такими як Java, C#, SQL, XML і т.д.

Спадщина дивовижної Грейс

Протягом своєї кар’єри в комп’ютерній індустрії Хоппер залишалася у військово-морському резерві. У 1966 році, коли вченій виповнилося 60 років, ВМС США запропонували їй довічний контракт. Так Хоппер спробувала вдосконалити комп’ютерну програму флоту.

Вчені висунули ідею заміни великих централізованих комп’ютерних систем мережею з безлічі невеликих комп’ютерів. Таким чином, всі користувачі зможуть отримати доступ до спільної бази даних, незалежно від їх розташування в мережі.

Це нововведення в кінцевому підсумку призвело до створення Інтернету, який спочатку розроблявся для військових потреб, у військовій сфері.

Хопер в останні роки служби.

Крім того, Хоппер працювала над розробкою стандартів тестування комп’ютерних систем.

Її відданість справі заслужила захоплення підлеглих Хоппер, які називали її “дивовижною грацією”. А в 1985 році їй було присвоєно звання контр-адмірала. На той момент Хоппер було 79 років.

Хопер із президентом США Рональдом Рейганом під час церемонії присудження їй звання контр-адмірала

Хоппер продовжувала працювати і після останнього виходу на пенсію в 1986 році. Вона читає публічні лекції та надає консалтингові послуги ІТ-компаніям.

Грейс Хоппер померла в 1992 році. На той час комп’ютери вже не були рідкістю, принаймні в США. І, як мріяли вчені, вони розуміли англійську та інші людські мови.

Хоппер була відома своїм унікальним характером. Вона скептично ставилася до військової підготовки і вважала, що краще вибачитися пізніше, ніж чекати дозволу. В офісі Хоппер висів Піратський прапор-іронії додає той факт, що вона служила на флоті.

У 1986 році Хоппер була нагороджена “медаллю За бездоганну службу”. А після її смерті на честь Хоппер були названі ракетний фрегат Uss Hopper, суперкомп’ютер Clay XE6 Hopper і Єльський університет.

Коледж імені Грейс Хопер при Єльському університеті.

Хоппер зіграла особливо важливу роль у тому, щоб зробити комп’ютерну сферу більш відкритою. З 1994 року проводиться конференція жінок-інформатиків, названа на її честь. Існує стипендіальний фонд імені Хоппер, метою якого є підтримка дівчат і жінок, які беруть участь у програмі.

Під час інтерв’ю телеведучий Девід Леттерман запитав Хоппер, як вона знає про комп’ютер. Вчений відповіла, що нічого не знає. Хоппер, одна з першопрохідців, багато в чому діяла з натхнення і абсолютно не користувалася підтримкою свого керівництва, як на “Ентерпрайзі”, так і на флоті. Наприклад, головна мета її життя-навчити комп’ютер розуміти не тільки Числові команди, а й людську мову.

Але їй це вдалося. Програмування-це все, що вимагає спеціальних навичок і підготовки, але ідея Хоппер внесла важливий внесок у полегшення роботи програміста. І звичайним людям не потрібно вивчати премудрості двійкового коду, щоб користуватися комп’ютером.

Інші статті по темі
Історії видатних хакерівОсвіта
Читати далі
Джуліан Ассанж – герой чи злочинець?
Джуліан Ассанж – засновник WikiLeaks, відомий австралійський журналіст і програміст. Його діяльність пов'язана з публікацією секретних урядових та корпоративних документів, що викликало як підтримку, так і суперечки.
84
Знайшли помилку?
Якщо ви знайшли помилку, зробіть скріншот і надішліть його боту.