Common Lisp Object System ( CLOS )



 

На початку 80-х років під впливом ідей об'єктно-орієнтованого програмування виникла серія нових діалектів Lisp, багато хто з яких був орієнтований на представлення знань. Успіх в стандартизації Common Lisp стимулював спроби стандартизувати об'єктно-орієнтовані діалекти в 1986 році.

Оскільки новий діалект повинен був стати надбудовою над Common Lisp, він отримав назву Common Lisp Object System (Об'єктна система Common Lisp) або, скорочено, - CLOS. Серйозний вплив на проект CLOS зробили мови Newflavors і Commonloops. Після дворічної роботи, в 1988 році була опублікована повна специфікація CLOS.

CLOS повинен бути:

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

·   забезпечити ефективний і гнучкий інтерфейс програміста, що дозволяє реалізувати більшість прикладних завдань;

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

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

 

Ada

 

У 1983 році під егідою Міністерства Оборони США була створена мова Ada. Мова чудова тим, що дуже багато помилок може бути виявлено на етапі компіляції. Крім того, підтримуються багато аспектів програмування, які часто віддаються на відкуп операційній системі (паралелізм, обробка виключень). У 1995 році був прийнятий стандарт мови Ada 95, яка розвиває попередню версію, додаючи в неї объекно-ориентированность і виправляючи деякі неточності. Обидві ці мови не отримали широкого розповсюдження поза військовими і іншими великомасштабними проектами (авіація, залізничні перевезення). Основною причиною є складність освоєння мови і достатньо громіздкий синтаксис.

Безпосередніми попередниками Ada є Pascal і його похідні, включаючи Euclid, Lis, Mesa, Modula і Sue. Були використані деякі концепції Algol-68, Simula, CLU і Alphard.

Розробники Ada перш за все турбувалися про:

·   надійності і експлуатаційних якостях програм;

·   програмуванні як різновиді людської діяльності;

·   ефективності.

 

Eiffel

 

Автор Eiffel Бертран Мейер (Bertrand Meyer) створював не тільки мову об'єктно-орієнтованого програмування, але і інструмент проектування програм.

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

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

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

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

 

Java

 

З 1995 року почала широко розповсюджуватися нова об'єктно-орієнтована мова програмування Java, орієнтована на мережі комп'ютерів і, перш за все, на Internet. Синтаксис цієї мови нагадує синтаксис мови C++, проте ці мови мають мало загального. Java мова, що інтерпретується: для неї визначено внутрішнє уявлення (bytecode) і інтерпретатор цього уявлення, які вже зараз реалізовані на більшості платформ. Інтерпретатор спрощує відладку програм, написаних на мові Java, забезпечує їх переносимість на нові платформи і адаптується до нових оточень. Він дозволяє виключити вплив програм, написаних на мові Java, на інші програми і файли, що є на новій платформі, і тим самим забезпечити безпеку при виконанні цих програм. Ці властивості мови Java дозволяють використовувати його як основна мова програмування для програм, поширюваних по мережах (зокрема, по мережі Internet).


Object Pascal

 

Object Pascal створювався співробітниками компанії Apple Computer (деякі з яких були учасниками проекту Smalltalk) спільно з Никлаусом Віртом (Niklaus Wirth), творцем мови Pascal. Object Pascal відомий з 1986 року і є першою об'єктно-орієнтованою мовою програмування, яка була включена в Macintosh Programmer's Workshop (MPW), середовище розробки для комп'ютерів Macintosh фірми Apple.

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

Система візуального об’єктна-орієнтовного проектування Delphi.

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

Система Delphi дозволяє вирішувати багато задач, зокрема:

o Створювати закінченні додатки для Windows самого різного напрямку, від обчислювальних і логічних, до графічних і мультимедійних.

o Швидко створювати (навіть початківцям) віконний інтерфейс з професійним виглядом для різних додатків.

o Створювати потужні системи роботи з локальними і віддаленими базами даних.

o Створювати довідкові системи (файли .hlp) для своїх додатків і багато іншого.

Delphi – система, яка досить швидко розвивається. Перша версія - Delphi 1.0 була видана в лютому 1995 році. А потім нові версії випускалися щороку.

Кожна наступна версія Delphi доповнювала попередню. Більшість версій Delphi видається в декількох варіантах: Standart – стандартному, Professional – професійному, Client\Server – клієнт\сервер, Enterprise – розробка баз даних предметних областей. Останні варіанти – Client\Server і Enterprise, в цьому відношенні найбільш потужні.


Висновки

 

Об'єктно-орієнтовані системи дають ширший спектр багатократного використання текстів програм. Бібліотек об'єктів також можна набувати від незалежних постачальників. В даний час найактивніше купують такі бібліотеки класів для створення призначених для користувача інтерфейсів з піктограмами. Розробка і написання таких інтерфейсів з нуля - завдання нелегке. Компанії типу Apple і Whitewater Group поставляють інструментарії для швидкої побудови таких інтерфейсів на основі декількох базових класів типу Window, Menu, Scrollbar і Icon. Користувачі можуть використовувати як ці класи, так і їх підкласи, що додають в інтерфейс, наприклад, спеціальні піктограми.

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

Унаслідок цих переваг, а також ще ряду причин, ООП є в даний час найперспективнішим, поширенішим і ефективнішим напрямом в програмуванні.


Використана література:

 

1. Г. Буч «Объектно-ориентированный анализ и проектирование с примерами приложений на С++» Пер. с англ. - М.: Бином; СПб.: Невский диалект, 1999.

2. В. Фаронов «Deiphi 6» - СПб.: Питер, 2002.

3. Э. Ишкова «C++ начала программирования» - М.: Бином, 2001.

4. С. Немнюгин, Л. Перколаб «Изучаем Turbo Pascal» - СПб.: Питер, 2002.


Дата добавления: 2019-09-02; просмотров: 159; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!