
- •1. Програма як формалізований опис процесу обробки даних. Програмний засіб.
- •2. Неконструктивність поняття правильної програми.
- •3. Надійність програмного засобу.
- •4. Технологія програмування як технологія розробки надійних програмних засобів.
- •5. Технологія програмування і інформатизація суспільства.
- •6. Перші мови програмування
- •7. Області застосування мов програмування
- •8. Парадигми програмування
- •9. Стандартизація мов програмування
- •10. Середовище проектування
5. Технологія програмування і інформатизація суспільства.
Технології програмування грало різну роль на різних етапах розвитку програмування. У міру підвищення потужності комп'ютерів і розвитку засобів і методології програмування росла і складність вирішуваних на комп'ютерах задач, що привело до підвищеної уваги до технології програмування. Різке здешевлення вартості комп'ютерів і, особливо, вартості зберігання інформації на комп'ютерних носіях привело до широкого впровадження комп'ютерів практично у всі сфери людської діяльності, що істотно змінило спрямованість технології програмування. Людський чинник став грати в ній вирішальну роль. Сформувалося достатньо глибоке поняття якості ПЗ, причому перевага стала віддаватися не стільки ефективності ПЗ, скільки зручності роботи з ним для користувачів (не говорячи вже про його надійність). Широке використання комп'ютерних мереж привело до інтенсивного розвитку розподілених обчислень, дистанційного доступу до інформації і електронного способу обміну повідомленнями між людьми. Комп'ютерна техніка із засобу рішення окремих задач все більш перетворюється на засіб інформаційного моделювання реального і мислимого миру, здатний просто відповідати людям на питання, що цікавлять їх. Починається етап глибокої і повної інформатизації (комп'ютеризації) людського суспільства. Все це ставить перед технологією програмування нові і достатньо важкі проблеми.
Зробимо коротку характеристику розвитку програмування і мов програмування по десятиліттях.
6. Перші мови програмування
У п'ятдесяті роки двадцятого століття з появою комп'ютерів на електронних лампах почався бурхливий розвиток мов програмування. Комп'ютери, що коштували у той час значно дорожче, ніж розробка будь-якої програми, вимагали високоефективного коду. Такий код розроблявся уручну на мові Асемблер. В середині 50-х років під керівництвом Джона Бекуса для фірми IBM була розроблена алгоритмічна мова програмування FORTRAN. Не дивлячись на те, що вже існували розробки мов, що виконують перетворення арифметичних виразів в машинний код, створення мови FORTRAN (FORmula TRANslator), що надає можливість запису алгоритму обчислень з використанням умовних операторів і операторів введення/висновку, стало точкою відліку ери алгоритмічних мов програмування.
До мови FORTRAN пред'являлися вимоги створення високоефективного коду. Тому багато конструкцій мови спочатку розроблялися з урахуванням архітектури IBM 407. Успіх розробки цієї мови привів до того, що виробники інших обчислювальних систем стали створювати свої версії трансляторів. З метою деякої можливої на той момент уніфікації мови мова FORTRAN IV, розроблена в 1966 році, стала першим стандартом, іменованим FORTRAN 66.
Як альтернатива мові FORTRAN, спочатку орієнтованому на архітектуру IBM, під керівництвом Пітера Наура в кінці 50-х років була розроблена мова ALGOL (ALGOrithmic Language). Основною метою, що переслідується розробниками цієї мови, була незалежність від конкретної архітектури обчислювальної системи. Крім того, творці мови ALGOL прагнули розробити мову, що зручна для опису алгоритмів і застосовує систему позначень, близьку до тієї, що прийнята в математиці.
Мови FORTRAN і ALGOL були першими мовами, орієнтованими на програмування обчислень.
Мова PL/I, перші версії якої з'явилися на початку 60-х років, була спочатку орієнтована на IBM 360 і розширював можливості мови FORTRAN деякими засобами мови COBOL, розробленої в ці ж роки. Не дивлячись на певну популярність мови PL/I у програмістів, що працювали на комп'ютерах IBM і машинах серії ЄС, в даний час він представляє чисто теоретичний інтерес.
В кінці 60-х років під керівництвом Найарда і Дала була розроблена мова Simula-67, що використовує концепцію призначених для користувача типів даних. Фактично це перша мова, що застосовує поняття класів.
В середині 70-х років Вірт запропонував мову Pascal, яка відразу стала широко використовуватися. В цей же час за ініціативою Міністерства оборони США почалася робота із створення мови високого рівня, що отримав назву Ada, – на честь Ади Лавлейс, програмістки і дочки лорда Байрона. Створення мови почалося з визначення вимог і вироблення специфікацій. Над проектом працювали чотири незалежні групи, але всі вони використовували як основу мова Pascal.
Почався інтенсивний розвиток технології програмування [1.2, 1.8, 1.12-1.14], перш за все, в наступних напрямах:
обгрунтування і широке впровадження низхідної розробки і структурного програмування
розвиток абстрактних типів даних і модульного програмування (зокрема, виникнення ідеї розділення специфікації і реалізації модулів і використання модулів, що приховують структури даних)
дослідження проблем забезпечення надійності і мобільності ПЗ
створення методики управління колективною розробкою ПЗ
поява інструментальних програмних засобів (програмних інструментів) підтримки технології програмування.
На початку 80-х років був розроблений перший промисловий компілятор мови Ada.
Універсальна мова програмування З був розроблений в середині 70-х років Денисом Рітчи і Кеном Томпсоном. Ця мова стала популярною мовою системного програмування і свого часу використовувалася для написання ядра операційної системи UNIX. Стандарт мови З початків розроблятися робочою групою інституту стандартів ANSI в 1982 році. Міжнародний стандарт мови З прийнятий в 1990 році. Мова З ліг в основу розробки мов програмування C++ і Java.
Разом з алгоритмічними мовами паралельно розвивалися і мови, що призначаються для обробки ділової інформації, а також мови штучного інтелекту. До перших відноситься мова COBOL (COmmon Business Oriented Language), а до других – мови LISP (LISt Processing) і Prolog. Мова LISP, розроблена в 60-х роках під керівництвом Дж. Маккарті, був першою функціональною мовою обробки списків, який знайшов широке застосування в теорії ігор.
З появою персональних комп'ютерів мови стали складовими частинами інтегрованих середовищ розробки. З'явилися мови, вживані в різних офісних програмах, наприклад VBA (Visual Basic for Application).