4.2. Внесок Великої Британії
Програмісти вже були знайомі з поняттям підпрограми: Грейс Хоппер та її колеги застосовували підпрограми на гарвардському “Марку-1”, проте кожна підпрограма вирішувала свою специфічну задачу. Перші програмісти майже завжди мали блокноти із записом найспоживаніших підпрограм, щоб у разі потреби не складати їх наново. Проблема полягала у тому, що адреси розташування команд та змінних мінялися залежно від їх розміщення у пам’яті.
Налаштування підпрограми на певне місце у пам’яті, вочевидь, потребувало автоматизації, і вперше це було зроблено на новому комп’ютері EDSAC (1949 р), який був створений Морісом Уїлксом у Кембриджі та заснований на ідеї комп’ютера EDVAC.
Моріс Уїлкс назвав мнемонічну схему для EDSAC та бібліотеки підпрограм збираючою системою (assembly system – звідси слово “асемблер”), оскільки вона збирала послідовності підпрограм. Ідея виявилася настільки продуктивною, що всі подальші покоління програмістів на всіх ЕОМ відмовилися від абсолютного кодування, тобто програмування в абсолютних адресах. Мови програмування низького рівня, в яких коди операцій були замінені мнемонічними позначками, почали називатися мовами Асемблера або Автокодами (мнемокодами), а перетворюючі програми – асемблерами.
Мови Асемблера використовуються й дотепер, оскільки тісно пов’язані з машиною. Дійсно, мова асемблера – це машинно-залежна мова, яка спроектована так, щоб вона відповідала набору машинних команд конкретного комп’ютера. Тому мову асемблера люблять ті програмісти, які прагнуть стиснути свої програми до мінімального розміру, що дозволяє виконати їх максимально швидко та ефективно. Саме з цих причин асемблер ідеально підійшов для програмування телеметричної системи, яка була використана в експедиції з пошуку “Титаніка”.
Мова Асемблера – це перший крок до позбавлення програміста від дрібниць двійкового кодування, завдяки використанню символів (слів), які легко зрозуміти та запам’ятати.
Влітку 1952 р. у Манчестері Алік Гленнрозробив першу мову високого рівня під назвою “Автокод”, і став одним з перших творців комп’ютерних мов. “Автокод” дозволяв програмістові користуватися у програмах математичними формулами. Після введення програм у “Марк-1” “Автокод” транслював їх у програми на машинному коді. На відміну від інтерпретаторів, програми у машинному коді, що були згенеровані “Автокодом”, можна було зберігати та виконувати у будь-який час.
- Міністерство освіти і науки україни
- 9.12. Огляд WinDev 154
- 10. Історія операційних систем 169
- Список літератури 187
- Передмова
- 1. Передвісники комп’ютерної ери
- 1.1. Комп’ютерна програма–що це?
- 1.2. Доелектронна історія обчислювальної техніки
- Логарифмічна лінійка
- 1.3. Можливості двійкового коду
- 1.4. Розвиток двійкової системи
- 1.5. Винахід перших комп’ютерів
- Перша в історії працююча програмнокерована універсальна обчислювальна машина z-3 (1941 р.)
- 1.6. Гарвардська архітектура
- 1.7. Архітектура фон Неймана
- 1.8. Створення зрозумілих людині кодів
- 1.9. Крок на благо програмування
- 1.10. Можливості програмного управління
- 2. Нові мови програмування
- 2.1. Поневіряння пакетної обробки
- 2.2. Універсальна мова програмування
- 2.3. Усунення неоднозначності
- 2.4. Заклик до дотримання математичної строгості
- 2.5. Пошук та усунення помилок
- 2.6. Нелегке мистецтво програмування
- 2.7. Обчислювальна техніка та програмування в срср
- 3. Розквіт та хаос програмного забезпечення
- 3.1. Місце народження хакерів
- 3.2. Два чародії програмування
- 3.3. Перші промислові стандарти
- 3.4. Дружній інтерфейс
- 3.5. Прообраз сучасного «ноутбука»
- 4. Болісний шлях розвитку програмування
- 4.1. Плануюче обчислення
- 4.2. Внесок Великої Британії
- 4.3. Програмування англійською мовою
- 5. Три комерційні гіганти
- 5.1. Перша комерційна мова програмування
- 5.2. Обчислювальна техніка приходить у бізнес
- 5.3. Народження codasyl
- 5.4. Конференція в Цюріху
- 5.5. На шляху до сумісності комп’ютерів
- 5.6. Розбіжності Нового Світу
- 6. Десятиліття динамічного розвитку
- 6.1. Перші кроки непроцедурної мови
- 6.3. Алфавітне хрещення
- 6.4. Успіх та суперечки
- 6.5. Інженерний підхід
- 6.6. Структурний підхід
- 6.7. Поява мови “Ада”
- 7. Програмування приходить у наші домівки
- 7.1. Розквіт Бейсіка
- 7.2. Поява мови Модула-2
- 7.3. Музикальний француз
- 7.4.Довгожитель Lisp – інструмент функціонального програмування
- 7.5. Prolog – нездійснена мрія еом V покоління
- 7.6. Революція на ім’я Java
- 8. Історія і шляхи розвитку супер-еом
- 8.1. Усе починалося з менфреймов
- 8.2. Напрями розвитку обчислювальної техніки
- 8.3. Розвиток елементної бази. Закон Мура
- 8.4. Вдосконалення архітектури
- Звичайна послідовн обробка
- Конвеєрна обробка
- 9. Сучасний стан та перспективи розвитку програмування
- 9.1. Криза у програмуванні
- 9.2. Методологія процедурно-орієнтованогопрограмування
- 9.3. Методологія об’єктно-орієнтованогопрограмування
- 9.4. Методологія об’єктно-орієнтованогоаналізу та проектування
- 9.5. Технології програмування
- 9.6. Case –засоби
- 9.7. Методологія rad
- 9.11.1. Знайомство с LightSwitch
- 9.11.2. Архитектура LightSwitch
- 9.11.3. Створення проекту в Microsoft Visual Studio LightSwitch
- 9.11.4. Дванадцять основних переваг LightSwitch
- 9.12. Огляд WinDev
- 9.12.1. ПризначенняWinDev
- 9.12.2. Деякі характеристики wLanguage
- 9.13. Технологія model checking
- 9.14. NeoBook – программирование для непрограммистов
- 9.14.1. Введення для секретарок
- 9.14.3. Можливості та області застосування
- 9.15. Файлові системи найближчого майбутнього
- 9.15.1. Зетта-повінь настає
- 9.15.2. Файлова система zfs
- 9.15.3. Файлова системаBtrfs
- 9.15.4. Файлова системаHammer
- 10. Історія операційних систем
- 10.1. Послідовна обробка даних
- 10.2. Прості пакетні системи
- 10.3. Багатозадачні пакетні системи
- 10.4. Системи з режимом розподілу часу
- 10.5. Основні досягнення
- 10.6. Сучасні системи unix
- 10.7. Os/2. Битва двох гігантів
- Список літератури