Історія програмного забезпечення

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Програмне забезпечення комп’ютера (ПЗ) — це сукупність програм, призначених для забезпечення роботи інформаційної системи.

Перший розробник програмного забезпечення[ред. | ред. код]

Найпершим програмістом вважається Ада Лавлейс, дочка знаменитого поета, лорда Джорджа Байрона. У 1843 вона переклала з італійської мови на англійську лекцію британського винахідника Чарльза Беббіджа про створену ним обчислювальну машину. При перекладі тексту лекції Ада Лавлейс доповнила його своїми докладними коментарями, які за обсягом втричі перевищували текст лекції.

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

Перші комп'ютери та їх особливості[ред. | ред. код]

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

Першим програмованим персональним комп'ютером вважається комп'ютер Z3, створений у 1943 році німецьким вченим Конрадом Цузе.

У період з 1943 по 1945 рік Конрадом Цузе для його комп'ютера була розроблена і перша мова програмування Plankalkul, проте через другу світову війну вона так і не була реалізована.

На самому початку свого становлення програмне забезпечення писалося за допомогою машинних кодів та числових інструкцій зрозумілих процесору для якого пишеться програма. Проте написання таких програм було далеко не найпростішим заняттям. Щоб читати деякі дані з осередку оперативної пам'яті комп'ютера, потрібно було описати близько 16 інструкцій.

Еволюція написання програмного забезпечення[ред. | ред. код]

У 50-х роках потреба в комп'ютерних програмах зросла і вони стали значно довшими, тому набуло поширення програмне забезпечення: програми-транслятори, які були названі асемблерами. Вони дозволили зробити програми зрозумілішими, проте такі програми все ще залежали від центрального процесора персонального комп'ютера.

У 1954 році почалася розробка першої мови програмування високого рівня ”Фортран”, його перша версія була реалізована в 1957 році. Мови програмування високого рівня стали справжнім проривом. Те, як працюють ПЗ практично перестало залежати від апаратного забезпечення комп'ютера, в той же час, самі мови програмування стали імітувати природні розмовні мови. Таким чином, коди програм значно скоротилися, а запам'ятовувати мову програмування стало значно простіше.

Комп'ютерні програми мали такі складові:

  • Перша частина – це дані, які можуть зберігатися на комп'ютері або задаватись користувачем програмного забезпечення.
  • Друга частина – це модель обробки даних, тобто опис способів їх обробки.
  • Третя частина – це інтерфейс користувача, сукупність правил обміну інформацією між користувачем і програмним забезпеченням.

Історія змін складових комп'ютерних програм[ред. | ред. код]

Складність програмного забезпечення поступово збільшувалася, в результаті їх стало складно розуміти навіть самим програмістам, тому наприкінці 60-х років була розроблена "парадигма структурного програмування". Її родоначальником став нідерландський програміст Едсгер Дейкстра. У 1968 році він опублікував свій лист "Оператор "go-to"", який вважається шкідливим. У цьому листі він закликав програмістів відмовитись від використання у програмах оператора безумовного переходу. Що це означає? Програма являє собою набір інструкцій для управління комп'ютером, ці інструкції зазвичай виконуються в порядку, в якому вони записані. За допомогою оператора безумовного переходу програміст може продовжити виконання програми з будь-якої інструкції, не обов'язково з наступної. Такі програми було складно читати.

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

Тепер, якщо в програмі необхідно було кілька разів виконувати одні й ті ж обчислення або обробити одним і тим же способом різні дані, стало необов'язковим для цього кілька разів описувати одні й ті ж інструкції. Їх можна було об'єднати у функцію або процедуру, яку можна викликати у потрібному місці.

Ще одним кроком у вдосконаленні структурного програмування стала поява структур, тепер прості дані стали утворювати більш складні. Так, наприклад, з трьох чисел, що позначають кількість годин, хвилин і секунд, стало можливим утворення єдиної структури, - часу.

Дані в різних структурах потрібно обробляти по-різному для цього необхідно описувати свої процедури та функції, так у програмуванні з'явилася ще одна парадигма "об'єктно-орієнтоване програмування (ООП)". При такому програмуванні структури та функції для їх обробки об'єднані в клас, а програма - це набір об'єктів, що взаємодіють та належать до різних класів. Крім цього ООП реалізувала ще цілу низку своїх принципів. На місці не стояв і інтерфейс програм користувача. Якщо на початку дані задавалися через систему перемикачів, то після того як комп'ютер став доступний більшій кількості людей, змінився спосіб обміну інформацією між програмою і користувачем. Спочатку з'явився текстовий інтерфейс, у ньому комп'ютер виводив інформацію на екран у текстовій формі, також користувач задавав команди комп'ютера з клавіатури в текстовій формі.

Пізніше на зміну текстовому інтерфейсу прийшов звичний нам графічний інтерфейс користувача. Команди комп'ютера стали віддаватися за допомогою різних елементів управління, наприклад кнопок, полів введення, повзунків та інших елементів. Ці елементи управління активуються за допомогою миші та клавіатури і зазвичай досить прості та інтуїтивно зрозумілі. Були сформульовані деякі вимоги до інтерфейсу програм, наприклад такі, як "дружність". "Дружнім" інтерфейсом називається такий інтерфейс через який користувач може максимально швидко навчитися працювати з програмою, припускаючи при цьому мінімальну кількість помилок. Оскільки користувачі комп'ютерних програм це звичайні люди, при написанні програм зазвичай враховується можливість будь-яких помилок з боку користувача.

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

Посилання[ред. | ред. код]