WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Еволюція мов програмування - Реферат

Еволюція мов програмування - Реферат

рівня програміст задає процедуру (алгоритм) одержання результату на основі відомих вихідних даних, тому вони називаються процедурними МП. На МНВР програміст задає відношення між об'єктами в програмі, наприклад, систему лінійних рівнянь, і визначає, що потрібно знайти, але не вказує як отримати результат. Такі мови називають також непроцедурними, оскільки сама процедура пошуку розв'язку вбудована в мову (в її інтерпретатор). Вони використовуються, наприклад, для розв'язування задач штучного інтелекту (Lisp, Prolog) і дають змогу моделювати розумову діяльність людини в процесі пошуку розв'язків. До непроцедурних мов можна віднести і мови запитів систем управління базами даних (QBE, SQL). Класифікація МПВиходячи з вищезазначеного, МП можна класифікувати за такими ознаками:1. За ступенем орієнтації на специфічні можливості ЕОМ МП поділяються на:&машинно-залежні;&машинно-незалежні. До машинно-залежних МП відносяться машинні мови, асемблери і автокоди, що використовуються в системному програмуванні. Програма на машинно-залежній МП може виконуватися лише на ЕОМ даного типу. Програма на машинно-незалежній МП після трансляції на машинну мову стає машинно-залежною. Ця ознака МП визначає мобільність одержуваних програм (можливість перенесення на ЕОМ іншого типу). 2. За ступенем деталізації алгоритму одержання результату МП поділяються на:&мови низького рівня;&мови високого рівня;&мови надвисокого рівня. Рівень МП визначається на основі складності елементів мови, з яких будується програма. Найнижчим рівнем є машинна мова, а найвищим, мабуть, рівень природної мови людини, якою формулюється задача типу "Дано:. . . Треба:. . . ". До мов низького рівня належать машинні мови, асемблери та автокоди. До мов високого рівня належать мови, які мають типи даних (наприклад, масиви) та програмні конструкції (наприклад, цикли), що безпосередньо не реалізуються машинною мовою. Взагалі, одному оператору мови високого рівня відповідає певна програма машинною мовою. Традиційно до мов високого рівня відносять мови класу FORTRAN, PL/1, Pascal, C, Basic, Ada. До мов надвисокого рівня відносять мови, які мають найбільш абстрактні механізми опису задачі та вбудовані засоби її розв'язування. Ці мови дають змогу зосередитися на самій задачі, а не на деталях її розв'язування. До таких мов належать мови класу Lisp, Prolog. 3. За ступенем орієнтації на розв'язування задач певного класу МП поділяються на:&проблемно-орієнтовані;&універсальні. Проблемно-орієнтовані МП містять спеціалізовані засоби опису та розв'язування задач певного класу. Універсальні ж МП не містять таких засобів, дозволяють розв'язувати будь-які задачі, але більшими зусилями. 4. За можливістю доповнення новими типами даних і операціями МП поділяються на такі:&що розширюються;&що не розширюються. МП, що дозволяють розширювати склад типів даних і операцій, фактично містять механізм адаптації мови для розв'язування певних задач. Вони є замкнутими МП. 5. За можливістю управління реальними об'єктами і процесами МП поділяються на:&мови систем реального часу;&мови систем умовного часу. Мови систем реального часу забезпечують створення систем управління реальними об'єктами, в яких час є важливим чинником. Однією з таких мов є мова Ada, що використовується в системах військового призначення США. 6. За засобом одержання результату МП поділяються на:&процедурні;&непроцедурні. Процедурні МП потребують задання певного алгоритму одержання результату, а непроцедурні мають вбудований механізм пошуку розв'язку. 7. За типом задач, що розв'язуються, МП поділяються на:&мови системного програмування;&мови прикладного програмування. Як правило, мови системного програмування є мовами низького рівня і забезпечують найповніше використання апаратних можливостей ЕОМ. Для розв'язування прикладних задач використовуються мови вищих рівнів. 8. Непроцедурні мови за типом вбудованої процедури пошуку розв'язків поділяються на:&реляційні;&функціональні;&логічні. Тип вбудованої процедури пошуку розв'язків визначає парадигму обчислень і структуру програми. Тенденції розвитку МПМови системного програмування, на яких створюються операційні системи, транслятори й інші системні програми, розвиваються в напрямку підвищення їхнього рівня та незалежності від ЕОМ. У наш час майже 90% системного програмного забезпечення створюється не мовою асемблера, а мовою C. Наприклад, операційна система Unix практично повністю написана мовою C. Ця мова дає змогу одержувати програми, які за своєю ефективністю не поступаються програмам, що написані мовою асемблера. Щоправда, збільшується обсяг програм, зате ефективність їх створення значно вища. Машинна незалежність досягається використанням стандарту мови, що підтримується всіма розробниками трансляторів, а також використанням так званих крос-систем для еквівалентного перетворення програм з однієї мови низького рівня на іншу. Іншим напрямом є підвищення рівня самої машинної мови. Наприклад, відомі Lisp-машини, в яких машинною мовою є мова Lisp (реалізована апаратно). Іншим прикладом є ЕОМ 5-ї ґенерації з машинною мовою штучного інтелекту Prolog. МВР розвиваються в напрямку підтримки технологій програмування, забезпечення низькорівневих операцій (рівня асемблера), забезпечення нових інформаційних технологій (НІТ) і незалежності від середовища реалізації. Слід зазначити, що за своїми можливостями МВР поступово зближаються і програмістам стає все складніше визначати переваги тієї чи іншої мови. Останнім часом широкого розповсюдження набула технологія об'єктно-орієнтованого програмування (ООП): практично всі сучасні МВР підтримують ООП. Й усі сучасні програмні системи побудовані на її принципах. Сьогодні кожний студент, що програмує, знає, що таке інкапсуляція (приховання деталей реалізації об'єкта), успадкування (побудова нових об'єктів з існуючих) і поліморфізм (позначення одним ім'ям різнихелементів програми, які обираються динамічно). Для позначення факту підтримки ООП до назви мови додають слово Object (наприклад, ObjectPascal) або інші (наприклад, C++). Windows, мережі ЕОМ, сервери, бази даних та Internet, як основа НІТ, найбільше впливають на сучасні МП. Розробники МП тепер зобов'язані включати в мови засоби підтримки НІТ, щоб привернути програмістів на свою сторону. Для підтримки Windows створюються системи візуального програмування з додатковою назвою Visual, наприклад, Visual C++, Visual Basic (принципово відрізняється від простого Basic) й ін. Для роботи з БД, мережами та Internet у МП включаються спеціальні внутрішні або зовнішні засоби. Прагнення до створення програм, що не залежать від типу ЕОМ і операційної системи, призвело до створенню мови Java. Основне завдання мови Java-забезпечити виконання програм, що розповсюджуються через Web-сторінки Internet, на будь-якій робочій станції. Крім того, Java підтримує всі засоби НІТ і незабаром, мабуть, стане найпопулярнішою МП. Популярність мов штучного інтелекту за останні 5 років, на жаль, помітно знизилася. Це пов'язано передусім з психологічними проблемами, яких зазнають програмісти в процесі використання цих мов. Наприклад, в найпотужнішій мові Lisp програма має дуже складну для розуміння спискову структуру і невеликий за обсягом проект дуже швидко виходить з-під контролю. В мові Prolog програміст повинен точно знати логіку роботи вбудованої машини логічного виведення, а робота програми залежить від структури і змісту бази знань (БЗ). Якщо з проектуванням програми і структури БЗ програміст справляється, то для заповнення БЗ йому потрібно бути експертом в предметній галузі або постійно спілкуватися з експертом й використовувати його знання, що є складним завданням. Отже, щоб мови штучного інтелекту набули широкого використання, потрібно створити додаткові програмні засоби підтримки програмістів. Вивчення питань еволюції МП спрямоване на полегшення вибору мови для розв'язання певних задач. Проте слід усвідомлювати, що не потрібно вивчати всі існуючі МП. Достатньо вивчити по одній мові кожного класу в міру потреби, адже в процесі еволюції мови одного класу зближаються. І пам'ятати головне: найкращою є та мова, яку знаєш досконало.
Loading...

 
 

Цікаве