2.2. Універсальна мова програмування
Оскільки передбачалося, що студенти будуть самі набирати програми на терміналі, то й мова була сконструйована з розрахунком на інтерактивну взаємодію. Така взаємодія дозволяє змінювати програму у процесі її роботи. Крім того, мова передбачала єдине представлення чисел, що відрізняло її від мови Фортран, де використовувалися два типи чисел – цілі і так звані числа з плаваючою крапкою або дійсні числа (ці числа складаються з цілої та дробової частини, і комп’ютер справді інтерпретує їх як числа, в яких десяткова крапка може переміщуватися). Тому студентові не треба було думати, якого типу вийде число в результаті ділення 2 на 3.
Для нової мови було обрано дуже вдалу назву – універсальний символічний код для початківців (BASIC, Beginner’s All-Purpose Symbolic Code). Мова дійсно була універсальною. На такій мові можна було складати прості програми для розв’язання завдань у будь-якій проблемній області.
Влітку 1963 р. почалася розробка першої версії компілятора для мови BASIC. Восени того ж року два студенти приступили до проектування та кодування операційної системи для машин, на яких Кемені та Курц хотіли реалізувати свої ідеї. Це були машини “Дженерал електрик-225” і 1 травня 1964 р. усі їхні зусилля злилися воєдино.
Незабаром робота в режимі розділення часу переважала майже в усіх крупних обчислювальних центрах. Сам же BASIC став справді масовою мовою програмування, а пізніше (у 70-і роки) став основною мовою мікрокомп’ютерної революції.
На початку 60-х років усі існуючі мови програмування високого рівня можна було перерахувати по пальцях. Проте незабаром їх число (з урахуванням різноманітних діалектів) досягло кількох сотень. Тому були зроблені різні спроби створити універсальну мову програмування. Але жодна з них не увінчалася повним успіхом. Серед десятка мов, які найширше використовувались, кожна орієнтувалася на розв’язання специфічних завдань. Наприклад, BASIC як і раніше широко вживався для написання простих програм для мікрокомп’ютерів.
Першою з мов високого рівня був Фортран (FORTRAN, від FORmula TRANslator – перекладач формул). Цю мову розробила у кінці 50-х років група програмістів ІВМ. Фортран спеціально призначався для роботи з формулами, які використовувались у математиці, фізиці та інших науково-технічних дисциплінах. Фортран – з його чітко певними правилами виконання арифметичних дій – був класичною мовою програмування, найбільш відповідною для виконання природничо-наукових, математичних та інженерних розрахунків.
Мова програмування Кобол (COBOL, Common Business Oriented Language –загальна мова, орієнтована на ділові завдання), створена у 1960 р. об’єднаним комітетом виробників та користувачів, була задумана як мова для масової обробки даних у сферах управління і бізнесу.
Інші мови були ще більш спеціалізовані. Мова програмування Алгол (ALGOL, ALGOrithmic Language – алгоритмічна мова), як і Кобол – плід комітету, але не національного, а міжнародного. Перша версія Алгол-58 призначалась для запису алгоритмів, які будуються у вигляді послідовності процедур, і була розроблена у ході напруженої восьмирічної наради у 1958 р. Основним ідеологом і творцем мови бувДжон Бекус.
Програмісти далеко неоднозначно прийняли мову Алгол-58 і його наступника Алгол-60/68, широкого схвалення ця мова так і не отримала. Тим не менше, вплив Алголу на розвиток інших мов програмування виявився вельми значним.
Серед мов, при створенні яких ставилося завдання поліпшити Алгол, була мова Паскаль. Ця мова була розроблена в кінці 60-х років швейцарським вченимНиклаусом Віртом.
Оскільки у мові Паскаль визначення різних типів даних задавалися явним чином, то у Паскаль-програмах порівняно небагато помилок і їх простіше зрозуміти та виправити програмістові, що не є автором програми. Це зробило Паскаль відповідним інструментом для створення великих програм. У 1963 р. він був оголошений офіційною мовою програмування для американських спеціалізованих середніх шкіл та університетів.
Не дивлячись на стрімке зростання кількості мов програмування, програмне забезпечення істотно відставало у своєму розвитку від технічної бази комп’ютерів. Тоді як в області виробництва апаратного забезпечення спостерігалося неухильне зростання технологічності, продуктивності та зниження ціни, вартість програмного забезпечення продовжувала збільшуватися. Це, природно, викликало незадоволеність інженерів, які вважали, що програмне забезпечення фактично перетворилося на чинник стримування як для розвитку, так і для застосування комп’ютерів.
Головна причина, яка зробила програмне забезпечення свого роду каменем спотикання, криється у його зростаючій складності. Проте складність програмного забезпечення лише частково обумовлена заплутаністю вирішуваного завдання. Багато у чому вона пов’язана із самою сутністю процесу програмування, який вимагає величезної уваги та акуратності при перекладі конкретного завдання у терміни, які доступні комп’ютеру.
- Міністерство освіти і науки україни
- 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. Битва двох гігантів
- Список літератури