У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


Еволюція мов програмування

Розвиток обчислювальної техніки супроводжується створенням нових і вдосконаленням існуючих мов програмування (МП)—засобів спілкування програмістів з ЕОМ. Під МП розуміють правила подання даних і запису алгоритмів їх обробки, що автоматично виконуються ЕОМ. У більш абстрактному вигляді МП є засобом створення програмних моделей об’єктів і явищ зовнішнього світу. На сьогодні вже створено десятки різних МП (як примітивних, так і близьких до мови людини). Щоб розібратися в розмаїтті МП, потрібно знати їх класифікацію, а також історію створення, еволюцію і тенденції розвитку. Ця стаття і присвячена розгляду зазначених питань. Рушійні сили еволюції МП Щоб розуміти тенденції розвитку МП, потрібно знати рушійні сили їх еволюції. Для з’ясування цього питання будемо розглядати МП з різних точок зору. По-перше, МП є інструментом програміста для створення програм. Для створення якісних програм потрібні зручні МП. Тому однією з рушійних сил еволюції МП є прагнення розробників до створення більш досконалих програм. По-друге, процес розроблення програми можна порівнювати з промисловим виробництвом, в якому визначальними чинниками є продуктивність праці колективу програмістів, собівартість і якість програмної продукції. Створюються різноманітні технології розроблення програм (структурне, модульне, об’єктно-орієнтоване програмування та ін. ), що повинні підтримуватися МП. Тому другою рушійною силою еволюції МП є прагнення до підвищення ефективності процесу виробництва програмної продукції. По-третє, програми можна розглядати як аналог електронних приладів обробки інформації, в яких замість радіодеталей і мікросхем використовують конструкції МП (елементна база програми). Як і електронні прилади, програми можуть бути найпростішими (рівня детекторного приймальника) і дуже складними (рівня автоматичної космічної станції), при цьому рівень інструменту повинен відповідати складності виробу. Крім того, людині зручніше описувати об’єкт, що моделюється, використовуючи терміни предметної галузі, а не мовою цифр. Тому третьою рушійною силою, що веде до створення нових, спеціалізованих, орієнтованих на проблемну галузь, потужних МП, є збільшення різноманітності і підвищення складності задач, які розв’язуються за допомогою ЕОМ. По-четверте, вдосконалення самих ЕОМ призводить до необхідності створення мов, що максимально реалізують нові можливості ЕОМ. По-п’яте, програми є інтелектуальним продуктом, який потрібно накопичувати і примножувати. Але програми, як і технічні вироби, мають властивість морального старіння, однією з причин якого є їх залежність від типу ЕОМ і операційного середовища. З моральним старінням програм борються шляхом їх модернізації і випуску нових версій, проте в умовах частої зміни типів ЕОМ і операційних середовищ розробники будуть тільки тим і займатися, що модернізувати старі програми. Мова програмування повинна забезпечувати тривалий життєвий цикл програми. Прагнення до цього є п’ятою рушійною силою розвитку МП. Історія розвитку МПВідомо, що першим програмістом була жінка—леді Ада Лавлейс, дочка лорда Байрона. Вона розробляла програми для одного з перших механічних комп’ютерів, створеного на початку минулого століття англійським ученим Чарльзом Беббіджом. Однак програмування в сучасному розумінні почалося з моменту створення першої електронної обчислювальної машини. Але незважаючи на це, ім’я цієї видатної жінки—Ada—присвоєно одній з найпотужніших сучасних МП, що є базовою для Міністерства оборони США. Перші ЕОМ, створені людиною, мали невеликий набір команд і вбудованих типів даних, але дозволяли виконувати програми на машинній мові. Машинна мова (ММ)—єдина мова, яку розуміє ЕОМ. Вона реалізується апаратно: кожну команду виконує певний електронний пристрій. Програма на ММ являє собою послідовність команд і даних, заданих у цифровому вигляді. Наприклад, команда вигляду 1А12 або 0001101000010010 означає операцію додавання (1А) вмісту регістрів 1 і 2. Машинною мовою дані представляються числами і символами. Операції є елементарними і з них будується вся програма. Введення програми в цифровому вигляді виконувалося безпосередньо в пам’ять з пульту ЕОМ або з примітивних пристроїв введення. Природно, що процес програмування був дуже трудомістким, розібратися в програмі навіть автору було досить складно, а ефект від застосування ЕОМ був незначним. Цей етап в розвитку МП показав, що програмування є складною проблемою, що важко піддається автоматизації, а саме програмне забезпечення визначає ефективність застосування ЕОМ. Тому на всіх наступних етапах зусилля спрямовувалися на вдосконалення інтерфейсу між програмістом і ЕОМ—мови програмування. Прагнення програмістів оперувати не цифрами, а символами, призвело до створення мнемонічної мови програмування, що називають асемблером, мнемокодом, автокодом. Ця мова має певний синтаксис запису програм, в якому зокрема цифровий код операції замінений мнемонічним кодом. Наприклад, команда додавання записується у вигляді AR 1,2 й означає додавання (Addition) типу регістр-регістр (Register) для регістрів 1 і 2. Тепер програма має зручнішу для читання форму, але її не розуміє ЕОМ. Тому потрібно було ще створити спеціальну програму-транслятор, що перетворює програму з мови асемблера на ММ. Ця проблема вимагала, в свою чергу, глибоких наукових досліджень і розроблення різноманітних теорій, наприклад, теорії формальних мов, що лягли в основу створення трансляторів. Практично будь-який клас ЕОМ має свою мову асемблера. Тепер мова асемблера використовується для створення системних програм, що використовують специфічні апаратні можливості цього класу ЕОМ. Наступний етап характеризується створенням мов високого рівня (МВР). Ці мови є універсальними (дають змогу створювати будь-які прикладні програми) й алгоритмічно повними, мають більш широкий спектр типів даних і операцій, підтримують технології програмування. Цими мовами створюється безліч різноманітних прикладних програм. Принциповими відмінностями МВР від мов низького рівня є:&використання змінних;&можливість запису складних виразів;&можливість розширення набору типів даних за рахунок конструювання нових типів з базових;&можливість розширення набору операцій за рахунок


Сторінки: 1 2 3