чому Кліппер

Чому Кліппер. Чому багато тисяч програмістів до сих пір використовують цю мову для створення додатків, чому групи розробників у всьому світі розвивають Кліппер, працюють над створенням нових Кліппер - сумісних компіляторів. Чи справді він безнадійно застарів і на ньому працюють тільки ті, хто не може або не хоче переучуватися, як вважають зараз багато?

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

Прийнято вважати, що такі сучасні засоби розробки, як Delphi, Visual C і ін. Дозволяють створювати додатки дуже швидко і просто. Дійсно, навіть новачок зможе, кілька разів клікнувши мишкою, створити цими інструментами симпатичну GUI програму типу Hello, world. Але щоб розробити великі додатки, доведеться писати багато рядків коду. Visual кошти тут не допоможуть. І я беруся стверджувати, що на Кліппер це можна зробити швидше, ніж на C і Паскалі.

Кліппер дозволяє створювати змінні та масиви динамічно, по ходу виконання програми:

nbspnbspnbspnbspnbspnbspnbspnbsp varname: = "NewVar"
nbspnbspnbspnbspnbspnbspnbspnbsp Private varname
nbspnbspnbspnbspnbspnbspnbspnbsp varname: =.

nbspnbspnbspnbspnbspnbspnbspnbsp Local aMenu: = <>
nbspnbspnbspnbspnbspnbspnbspnbsp Aadd (aMenu, <"New",> )
nbspnbspnbspnbspnbspnbspnbspnbsp Aadd (aMenu, <"Open",> )
nbspnbspnbspnbspnbspnbspnbspnbsp Aadd (aMenu, <"Options", <> )
nbspnbspnbspnbspnbspnbspnbspnbsp Aadd (aMenu [3,2], <"Screen Options",> )
nbspnbspnbspnbspnbspnbspnbspnbsp.

Одна з найважливіших особливостей Кліппер - макроси і блоки коду. Ви можете привласнювати змінної рядок з Кліпперним кодом і потім виконувати її:

nbspnbspnbspnbspnbspnbspnbspnbsp cCode: = "SomeFunction (x, y)"
nbspnbspnbspnbspnbspnbspnbspnbsp result: = cCode

Якщо вам треба виконувати цей рядок кілька разів, то щоб кожен раз не витрачати час на її Інтерпретація, ви можете її відкомпілювати в блок коду, а потім виконувати, передаючи потрібні параметри:

nbspnbspnbspnbspnbspnbspnbspnbsp cCode: = "SomeFunction (x, y)"
nbspnbspnbspnbspnbspnbspnbspnbsp block: = ( "")
nbspnbspnbspnbspnbspnbspnbspnbsp Eval (block, x, y)

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

Кліппер має дуже потужну і зручну систему екранного введення / виведення:

nbspnbspnbspnbspnbspnbspnbspnbsp @ y, x GET somevar PICTURE WHEN VALID

Ви задаєте тут і шаблон введеної перемінної, і попередня умова для її введення, і перевірку правильності введення. Насправді можливості цієї системи набагато ширше, але тут не місце обговорювати всі її деталі.

Кліппер має дуже зручні засоби для роботи з базами даних. Він включає в себе вбудовану систему RDD - Replaceble Data Driver, яка дозволяє працювати з різними типами файлів даних і індексів, використовуючи однаковий набір команд і функцій.

Потужний препроцесор дозволяє створювати нові команди і використовувати їх у своїх програмах. Ось приклад використання команди для відкриття головного вікна з FiveWin - бібліотеки для створення Windows GUI додатків:

nbspnbspnbspnbspnbspnbspnbspnbsp DEFINE WINDOW oWndMain FROM 1, 1 TO 22, 75;
nbspnbspnbspnbspnbspnbspnbspnbspnbspnbsp TITLE "MyApplication";
nbspnbspnbspnbspnbspnbspnbspnbspnbspnbsp MENU MMenu (msmenu) ICON oIcon MDI

Я розповів тут про головні особливості Кліппер, які я ціную найбільше і яких мені бракує в інших мовах. Треба тільки ще згадати систему розширення Кліппер (C API і Assembler API), завдяки якій для Кліппер написано на С і Асемблері безліч додаткових модулів, що розширюють його возможсті - GUI бібліотеки, RDD, бібліотеки втратити зв'язок із мережею, компресії / декомпресії даних, читання / друк бар -код.
Все це дозволяє писати на Кліппер великі серйозні програми - і безліч таких додатків написано і успішно функціонує по всьому світу.

Тепер хотілося б поговорити про міфи, створених навколо Кліппер в останні роки. Міф перший:
Кліппер - це мова для DOS і тому помирає разом з ним. Насправді, Кліппер існує в різних реалізаціях на різних платформах:

Harbour - крос-платформний Кліппер-сумісний компілятор (Win32 / 64, Unix, Linux, OSX, OS / 2), Open Source проект;

Clip - Кліппер-сумісний компілятор для Linux / Unix;

Flagship - Кліппер для Unix платформи;

Міф третій:
Для Кліппер закриті двері в світ сучасних технологій. Теж неправда. 32-розрядні реалізації Кліппер дозволяють їх використовувати.

Міф четвертий:
Кліппер дозволяє працювати тільки з застарілими xBase файлами даних. Готовий посперечатися щодо того, що xBase бази застаріли, але це - тема для іншої розмови.
Навіть DOS'овскій Кліппер дозволяє працювати з різними типами даних, використовуючи RDD - існують RDD для різних SQL DBMS.
32-розрядні реалізації Кліппер працюють з різними DBMS як через RDD, так і через ODBC і рідні API.
Ще раз хочу підкреслити, це дуже важливий, але часто упускається момент, Кліппер - це перш за все мова програмування, і хоча спочатку він був орієнтований на використання xBase файлів даних і має потужні засоби для роботи з ними, ніщо не заважає писати ньому програму для використання інші типи баз даних.

Поки все. Це те, що прийшло в голову з ходу, на першому диханні :).
Пишіть. Сподіваюся, ваші думки, питання дозволять доповнити цю невелику статтю.

Схожі статті