Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

Класифікація об'єктно-орієнтованих мов програмування

РефератДопомога в написанніДізнатися вартістьмоєї роботи

На думку автора мови, розходження між ідеологією С й C++ полягає приблизно в наступному: програма на С відображає «спосіб мислення» процесора, а C++ — спосіб мислення програміста. Відповідаючи вимогам сучасного програмування, C++ наголошує на розробці нових типів даних найбільше повно відповідним концепціям обраної області знань. Клас є ключовим поняттям C++. Опис класу містить опис даних… Читати ще >

Класифікація об'єктно-орієнтованих мов програмування (реферат, курсова, диплом, контрольна)

об'єктний орієнтований програмування Класифікацій мов програмування існує багато, але наукової теорії поки що немає. Три основні класифікації склалися історично:

  • 1. За функціональною силою:
  • 1) універсальні мови (в них можна промоделювати, умовно кажучи, будь-який алгоритм) ;
  • 2) спеціалізовані мови (орієнтовані на певні класи задач).
  • 2. За предметною орієнтацією:

Кожна мова програмування виникла в процесі розв’язання певного класу задач, наприклад, мови програмування для розв’язання задач символьної обробки (Lisp, Cobol) і т. п.

  • 3. За рівнем абстракції :
  • 1) мови низького рівня (машинно-залежні) — Assembler і т. п. ;
  • 2) мови високого рівня (орієнтовані на користувача (людину) до певної міри) — Pascal, C, Fortran і т. п. ;

Мови програмування низького рівня — орієнтовані на конкретний тип процесора і враховують його особливості.

Переваги:

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

Недоліки:

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

Асемблер Мова Асемблера поєднує в собі достоїнства мови машинних команд і деякі риси мов високого рівня. Асемблер забезпечує можливість застосування символічних імен у вихідній програмі й рятує програміста від стомлюючої праці (неминучого при програмуванні мовою машинних команд) по розподілі пам’яті комп’ютера для команд, змінних і констант. Асемблер дозволяє також гнучко й повно використати технічні можливості комп’ютера, як і мова машинних команд. Транслятор вихідних програм в Асемблері простіше транслятора, що вимагається для мови програмування високого рівня. На Асемблері можна написати настільки ж ефективну за розміром й часом виконання програму, як і програму мовою машинних команд. Ця перевага відсутня в мов високого рівня. Цю мову часто застосовують для програмування систем реального часу, технологічними процесами й обладнанням, забезпечення роботи інформаційно-вимірювальних комплексів. До таких систем звичайно пред’являються високі вимоги за обсягом займаної машинної пам’яті. Часто мова Асемблера доповнюється засобами формування макрокоманд, кожна з яких еквівалентна цілій групі машинних команд. Таку мову називають мовою макроасемблера.

Мови програмування високого рівня.

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

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

С++.

Мова C++ з’явився на початку 80-х років.

Створений Б'єрном Страуструпом з первісною метою позбавити себе й своїх друзів від програмування на асемблері, Сі або різних інших мовах високого рівня.

Очевидно, що найбільше C++ запозичив з мови Сі, а також з безпосереднього його попередника мови BCPL.

Ці запозичення забезпечили C++ потужними засобами низького рівня, що дозволяють вирішувати складні завдання системного програмування. Але що в першу чергу відрізняє C++ від Сі - це різний ступінь уваги до типів і структур даних. Це пов’язано з появою понять класу, похідного класу й віртуальної функції, перейнятих у свою чергу з мови Симула 67.

Це дає в C++ більш ефективні можливості для контролю типів і забезпечує модульність програми.

На думку автора мови, розходження між ідеологією С й C++ полягає приблизно в наступному: програма на С відображає «спосіб мислення» процесора, а C++ - спосіб мислення програміста. Відповідаючи вимогам сучасного програмування, C++ наголошує на розробці нових типів даних найбільше повно відповідним концепціям обраної області знань. Клас є ключовим поняттям C++. Опис класу містить опис даних, що вимагаються для подання об'єктів цього типу й набір операцій для роботи з подібними об'єктами.

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

Мова С++ є засобом об'єктного програмування, новітньої методики проектування й реалізації програм, що у поточному десятилітті, швидше за все, замінить традиційне процедурне програмування.

Головною метою творця мови доктора Б'єрна Страустрапа було оснащення мови С++ конструкціями, що дозволяють збільшити продуктивність праці програмістів і полегшити процес оволодіння великими програмними продуктами.

Абстракція, реалізація, спадкування й поліморфізм є необхідними властивостями якими володіє мова С++, завдяки чому він не тільки універсальний, як і моваС, але і є об'єктною мовою.

Сі.

Співробітник фірми BellLabs Денис Рітчі створив мову Сі в 1972 році під час спільної роботи з Кеном Томпсоном, як інструментальний засіб для реалізації операційної системи Unix, однак популярність цієї мови швидко переросла рамки конкретної операційної системи й конкретних завдань системного програмування. У цей час будь-яка інструментальна й операційна система не може вважатися повної якщо в її состав не входить компілятор мови Сі.

Рітчі не видумував Сі просто з голови — прообразом була мова Би розроблена Томпсоном. Мова програмування Сі була розроблена як інструмент для програмістів-практиків. Відповідно до цим головною метою його автора було створення зручної й корисної мови.

Сі є знаряддям системного програміста й дозволяє глибоко влазити в самі тонкі механізми обробки інформації на ЕОМ. Хоча мова жадає від програміста високої дисципліни, вона не строга у формальних претензіях і допускає короткі формулювання.

Сі - сучасна мова. Він містить у собі ті керуючі конструкції, які рекомендовані теорією й практикою програмування. Його структура спонукує програміста використовувати у своїй роботі спадне проектування, структурне програмування й покрокову розробку модулів.

Сі - ефективна мова. ЇЇ структура дозволяє щонайкраще використати можливості сучасних ПЕОМ. Програмування на цій мові відрізняється компактністю й швидкістю виконання.

Сі - мобільна мова.

Сі - потужна й гнучка мова. Більша частина операційної системи Unix, компілятори й інтерпретатори мов Фортран, Паскаль, Лісп, і Бейсик написані саме з його допомогою.

Сі - зручна мова. Він досить структурований, щоб підтримувати гарний стиль програмування й разом з тим не зв’язаний твердими обмеженнями.

Java.

Мова Java зародилась як частина проекту створення передового програмного забезпечення (ПО) для різних побутових приладів. Реалізація проекту була почата мовою С++, але незабаром виник ряд проблем, найкращим засобом боротьби з якими була зміна самого інструмента — мови програмування. Стало очевидним, що необхідно платформо-незалежна мова програмування, що дозволяє створювати програми, які не доводилося б компілювати окремо для кожної архітектури й можна було б використати на різних процесорах під різними операційними системами.

Три ключових елементи об'єдналися в технології мови Java:

Java надає для широкого використання свої аплети (applets) — невеликі, надійні, динамічні, що не залежать від платформи активні мережні додатки, що вбудовують у сторінки Web. Аплети Java можуть настроюватися й поширюватися споживачам з такою же легкістю, як будь-які документи HTML.

Java вивільняє міць об'єктно-орієнтованої розробки додатків, сполучаючи простий і знайомий синтаксис із надійним й зручним в роботі середовищем розробки.

Це дозволяє широкому колу програмістів швидко створювати нові програми й нові аплети.

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

Показати весь текст
Заповнити форму поточною роботою