logo
Вступ до спец

4.2. Внесок Великої Британії

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

Налаштування підпрограми на певне місце у пам’яті, вочевидь, потребувало автоматизації, і вперше це було зроблено на новому комп’ютері EDSAC (1949 р), який був створений Морісом Уїлксом у Кембриджі та заснований на ідеї комп’ютера EDVAC.

Моріс Уїлкс назвав мнемонічну схему для EDSAC та бібліотеки підпрограм збираючою системою (assembly system – звідси слово “асемблер”), оскільки вона збирала послідовності підпрограм. Ідея виявилася настільки продуктивною, що всі подальші покоління програмістів на всіх ЕОМ відмовилися від абсолютного кодування, тобто програмування в абсолютних адресах. Мови програмування низького рівня, в яких коди операцій були замінені мнемонічними позначками, почали називатися мовами Асемблера або Автокодами (мнемокодами), а перетворюючі програми – асемблерами.

Мови Асемблера використовуються й дотепер, оскільки тісно пов’язані з машиною. Дійсно, мова асемблера – це машинно-залежна мова, яка спроектована так, щоб вона відповідала набору машинних команд конкретного комп’ютера. Тому мову асемблера люблять ті програмісти, які прагнуть стиснути свої програми до мінімального розміру, що дозволяє виконати їх максимально швидко та ефективно. Саме з цих причин асемблер ідеально підійшов для програмування телеметричної системи, яка була використана в експедиції з пошуку “Титаніка”.

Мова Асемблера – це перший крок до позбавлення програміста від дрібниць двійкового кодування, завдяки використанню символів (слів), які легко зрозуміти та запам’ятати.

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