Система CLIPPER.
CLIPPER - це створена фірмою Nantucket Corp. система програмування додатків в середовищі БД, що включає швидкий компілятор програм, написаних мовою, близькою до мови СУБД dBaseIII PLUS, редактор зв'язків, розвинений інтерактивний символічний відладчик, що володіє для користувача інтерфейс у стилі меню, який можна пов'язати з розробляється програмою для полегшення її налагодження , велику бібліотеку об'єктних модулів системних функцій, а також ряд службових програм (утиліт).
Система Clipper являє собою, по суті, СУБД компілюються типу з автономним (self-contained) мовою, значною мірою сумісну з вхідного мови програмування та організації бази даних з СУБД dBaseIII PLUS. Основна мета розробки цього програмного продукту - досягнення більш високої продуктивності прикладних систем у порівнянні з створеними за допомогою засобів dBaseIII PLUS. Це завдання вирішується завдяки використанню на стадії виконання скомпільованого коду замість інтерпретації вихідних програм, а також за рахунок більш ефективних механізмів індексування файлів БД.
Clipper працює в середовищі операційної системи MS DOS
версії 2.0 і вище. В результаті компіляції текстів програм мовою оригіналу він породжує завантажувальні програмні модулі, які не потребують будь-яких системних коштів на стадії виконання.
Тим самим розроблена п/п повністю "відчужується" від інструментальних засобів її розробки, може поширюватися незалежно від них, і користувач такий п/п позбавляється від необхідності вивчати цей інструментарій.
Допускається декомпозиція програмних модулів на складові частини, з яких на стадії редагування можна сформувати модулі оверлейной структури. Розробка великих програм значно полегшується завдяки технології сепаратної компіляції їх компонентів.
Clipper забезпечує високу швидкість не тільки при виконанні програм, але і на стадії їх компіляції. Система повністю сумісна з системою dBaseIII PLUS з організації файлів БД. Однак індексні файли в системі Clipper мають іншу більш ефективну організацію, що разом з компіляцією сприяє істотному підвищенню продуктивності програм на стадії виконання. Індексні файли dBaseIII PLUS підміняються файлами системи Clipper аналогічного призначення автоматично на стадії виконання або завчасно за допомогою спеціальної утиліти.
У мові програмування системи Clipper відсутні такі повноекранні команди мови dBase, як ASSIST, BROWSE, EDIT, є обмеження на використання функції макропідстановки (&). Значним рядковий змінної, до якої застосовується ця функція, не може бути, зокрема, повна команда або фраза команди з ключовим словом, а також список імен полів запису файлу БД або інших об'єктів мови, розділених комами. Разом з тим в мову введені багато розширення. До їх числа (у літній версії 1987 р.) відносяться можливості роботи з масивами змінних, які можуть оголошуватися при необхідності глобальними величинами, специфікації функцій, що визначаються користувачем, можливості звернення до функцій на мовах Сі та асемблері з передачею їм параметрів, засоби програмування користувацьких інтерфейсів , побудованих в стилі меню, збереження і відтворення зображень, показаних на екрані, велика кількість нових функцій різного призначення, зокрема, для операцій над рядками.
У мові Clipper передбачаються кошти блокування файлів і записів файлів БД, необхідні для використання програм на цій мові в мультіпользовательской середовищі мережевих систем БД. Запроваджено нові синтаксичні конструкції, наприклад цикли FOR ... NEXT, нова фраза VALID для верифікації даних, які вводяться за допомогою команди GET, і ряд інших.
До призначеної для користувача програмі можна легко підключити процедуру HELP, що забезпечує глобальну і контекстно-залежну допомогу. Ця процедура викликається на стадії виконання традиційним натисканням функціональної клавіші F1. При цьому їй автоматично передаються необхідні параметри.
Clipper включає, як уже зазначалося, досить багаті системні бібліотеки функцій різного характеру, що істотно збагачують мову, що дозволяють значно скорочувати витрати часу на прикладне програмування і зменшувати обсяг вихідного коду. У літній версії 1987 передбачено близько ста різних функцій для аналізу стану системи, операцій з масивами, для обчислення елементарних математичних функцій, операцій над рядками, редагування даних, для створення файлів DOS і виконання операцій над ними, роботи зі значеннями полів типу Memo в записів у файлах БД і для інших цілей.
Крім того, користувач має можливість створювати та використовувати власні бібліотеки функцій.
Що стосується системних бібліотек, то Nantucket Corp. постійно розширює їхній склад. У 1988 р. було додатково включено ряд нових функцій, крім того, фірма почала поставляти пакет Clipper призначеного для використання спільно з системою Clipper. Пакет містить велику нову структуровану бібліотеку функцій і розширений драйвер екранів і клавіатури, покликаний замінити наявний в системі Clipper драйвер. Ці функції і драйвер можуть включатися в додаток на стадії редагування.
Всі функції бібліотеки володіють високою продуктивністю і висувають мінімальні вимоги до оперативної пам'яті. Вони реалізовані на мові асемблера й оптимізовані. Бібліотека пакету включає ряд функцій для конструювання багатовіконний користувацьких інтерфейсів, для безпосередньої роботи з обладнанням, підключеним до послідовного інтерфейсу ПЕОМ, минаючи BIOS і звернення до DOS.
Передбачена велика група строкових функцій, функцій для перетворення числових значень і бітових операцій, операцій над датами і часом, встановлення системних перемикачів та отримання інформації про їх стан, а також про характеристики та стан операційної обстановки, відеофункцій, функцій для роботи з дисками , файлами БД і принтером. Всього бібліотека пакету включає більше 270 різних функцій.
Важливим достоїнством системи Clipper є можливість використання додаткової (понад 640 Кбайт) пам'яті персонального комп'ютера при виконанні розроблених його засобами п/п.
Разом з тим система Clipper володіє й істотним недоліком - породжувані нею завантажувальні модулі досить великі за обсягом. Один із способів подолання цієї вади - надаються пакетом можливості конструювання програмних модулів з оверлейной структурою. Однак як "суцільнотягнутих" завантажувальний модуль, так і кореневої сегмент модуля з оверлейной структурою не можуть бути розміром менше 110Кбайт, оскільки в них включаються всі необхідні елементи системної середовища та функції стадії виконання.
До недоліків цього продукту слід, мабуть, віднести також відсутність комфортного середовища для ефективної розробки та налагодження Clipper-програм. Мається на увазі середу подібна до тієї, яку мають, наприклад, Турбосістеми програмування фірми Borland Int. Що входить до складу системи Clipper символічний відладчик є лише однією зі складових частин такого середовища.
Проблему скорочення обсягу необхідної оперативної пам'яті і зменшення розмірів завантажувальних модулів фірма Nantucket Corp. вирішила в новій версії системи - Clipper 5.0. Для цієї мети до складу нового програмного продукту включається динамічний редактор зв'язків - завантажувач, заснований на механізмах
віртуальної пам'яті і тим самим взагалі виключає необхідність використання оверлейной структури при створенні великих програмних модулів.
Версія Clipper 5.0 володіє і іншими важливими достоїнствами. Користувач (програміст-розробник прикладних
систем) може розширювати мову новими командами і завдяки цьому формувати безлічі команд, зручні для програмування специфічних класів задач. Передбачаються нові типи змінних, а також багатовимірні масиви. Розроблено машинно-орієнтована документація, до якої можливий доступ в режимі on-line за допомогою Guide to Clipper або Norton Guide.