CTD і Delphi: який засіб розробки вам більше підходить?, Різне, Програмування, статті

Починаючи цю статтю, заздалегідь передбачаю заперечення та контраргументи опонентів, але все-таки зважився викласти свої аргументи. Основною метою даної статті є спроба показати, що кошти, подібні Centura Team Developer (CTD), у досить великій кількості випадків при створенні інформаційних бізнес-систем різного класу є більш кращими, ніж, наприклад, Delphi. Нехай нетерплячий і незговірливий читач знайде в собі сили, терпіння і час для того, щоб дочитати даний матеріал до кінця і заочно зі мною посперечатися (а можливо, і погодитися з моїми доводами). Бажаю всім у цьому успіху.

Не сьогодні, а досить давно (при появі перших алгоритмічних мов), почалися суперечки про перевагу тієї чи іншої мови, тієї чи іншої системи програмування. Запеклі диспути можна було почути і в студентській аудиторії, і в середовищі професійних програмістів. Що краще – АЛГОЛ або Фортран, PL / 1 або СІ? І так далі. Сьогодні ці суперечки переносяться на порівняння мов СІ, Паскаль, JAVA та інших. У цих суперечок, звичайно, не дивлячись на суб’єктивність їх по суті, були і є об’єктивні підстави. Суб’єктивність грунтується на звичці, професійному освоєнні коштів і кінцевому сенсі “прихильності” (Або навіть “любові”). Так як програміст, вивчаючи універсальна мова програмування, витрачає на це досить багато часу, а освоєння нової мови, і навіть звикання до нього, коштує великих затрат і може привести до “забування” можливостей першого. У зв’язку з цим спори про перевагу часто виглядають як розмова “німого з глухим”.

“Засуджують те, чого не розуміють” – стверджував Квінтіліан Марк Фабій (ок.35-96 рр..) – Оратор і теоретик ораторського мистецтва в Древньому Римі. І саме брак знань і досвіду використання універсальних мов, захищаються опонентом спору, об’єктивно призводить до деколи нерозв’язною ситуації. Крім того, кожен універсальна мова програмування дозволяє зробити все або майже все для даного рівня розвитку інформаційних технологій. Потрібно відзначить ще один об’єктивний фактор, який, на мій погляд, поки що недостатньо враховується. А полягає він в наступному. Підозрюю, що у програмістів існує деякий стереотип сприйняття мов (це все-таки засіб спілкування, хоча і з комп’ютером), що залежить від їх характеру, темпераменту, досвіду роботи, психології, в кінцевому рахунку, визначає прихильності. Не останню роль тут грають і успішно завершені розробки з використанням даних засобів програмування, які, як власні “діти” постійно нагадують про себе у свідомості та пам’яті.

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


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

Для порівняння ми вибрали поширені програмні продукти Centura Team Developer ( CTD ) І Borland Delphi (BD). З майже таким же успіхом ми могли б порівнювати Oracle Developer (Power Builder та ін) і Borland CPP Builder (MS Visual C тощо), хоча у кожного з програмних засобів читач напевно знайде незаперечні переваги в порівнянні з іншими продуктами. Але на основі інформації, викладеної нижче, напевно стане ясно, чому вибір ліг саме на ці продукти. Розглянемо порівняння хоча б по деяких з перелічених критеріїв.

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

BD базується на універсальній мові об’єктно-орієнтованому ПАСКАЛЬ, який дозволяє створювати системи практично в будь-якій області. CTD, в свою чергу, базується на мові SAL (Scalable Application Language), який, незважаючи на свою універсальність і близькість до мови СІ, є все-таки спеціалізованим мовою створення інформаційних систем. В цю мову введені стандартні об’єкти і оператори, орієнтовані на вирішення поставлених завдань. Спеціалізовані мови та спеціалізовані системи програмування по визначенню завжди ефективніше застосовувати для своєї області. З цих позицій використання CTD для побудови інформаційних систем можна вважати кращим.

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


Звичайно, якщо не звертати уваги на трудомісткість, вартість і строки розробки, то краще було спиратися на фахівців останньої групи, але, по-перше, їх не так багато (хоча наша країна багата талантами), і, по-друге, не можна нехтувати таки трудомісткістю і вартістю. Існує ще багато причин, за якими орієнтуватися тільки на фахівців третьої групи неможливо, але я не буду на них зупинятися. Для цих фахівців, до речі, без особливих побоювань, можна запропонувати і BD і MS VC і інші сверхуніверсальних засоби програмування, але все-таки основною групою для розробки професійних програм є друга. При достатньому рівні професіоналізму вони здатні створювати інформаційні системи у великій кількості, відповідно до швидко зростаючими інформаційними запитами суспільства. Для цієї групи і призначені засоби типу CTD, які легко можуть бути освоєні і забезпечують відносно невисоку трудомісткість створення систем і їх живучість. Зазначу також, що в CTD є спеціальний набір інструментів і для першої групи програмістів (AX, Wizard, Quick Object). Ці кошти можна використовувати і для макетування додатків. Не обійдено увагою в CTD і фахівці третьої групи, так як передбачено всі механізми об’єктного підходу, можливості створення власних компонент на основі CTD і навіть інших систем (СІ), що забезпечується підключенням будь-яких бібліотек та наявністю CDK – Component Developer Kit.

В цілому, можна сказати, CTD володіє всіма необхідними засобами для створення групи розробки систем, що складаються, в свою чергу, з різних груп програмістів. При цьому система побудована таким чином, що для поставлених цілей може використовуватися і різними групами програмістів окремо. Знайдена деяка “золота середина” – компроміс між складністю та ефективністю. І, хоча в BD можна також реалізувати багато зі сказаного вище, ця система в першу чергу орієнтується на програмістів третьої групи, що мені вдасться, сподіваюся, показати нижче.

У CTD представлена ​​унікальна, в інших системах програмування такої немає, модель подання програмного тексту (Outline). Я називаю цю модель об’ємним поданням програми. Ця модель базується на принципах структурного програмування і забезпечує швидкий доступ до об’єктів і методам програми, легку орієнтацію в складних текстах і цілісне уявлення програми. За своєю суттю ця модель схожа на структуру документа в MS Word. До неї досить швидко звикаєш і починаєш застосовувати на практиці всі її переваги. Запроваджена структуризація тексту програми не заважає програмісту, допомагає уникнути зайвих помилок і дозволяє зручно маніпулювати програмними складовими. У всіх інших системах, включаючи і BD, ми маємо в наявності плоске представлення програми, як сукупності вихідних текстів, що ускладнює пошук потрібного фрагмента і цілісне сприйняття програми. Щоб мене правильно зрозуміли, зазначу, що модулі та бібліотеки в CTD теж є. Тут теж, в поданні програми, знайдена “Золота середина” між складністю програми і її поданням.

Іншою особливістю CTD є наочна і проста система стандартних класів, які по суті справи приховані від початкового користувача. При цьому не втрачаються можливості використання об’єктів програми та їх налаштування. У BD навпаки, навіть для початкового використання потрібно фактично вивчити ці всі класи, що є фактично вивченням кількох нових мов програмування, зі своєю логікою, операціями, синтаксисом і семантикою, яка від версії до версії може змінюватися. Навіть для програмістів другої групи таке вивчення може стати каменем спотикання. Знову ж зазначу, що в CTD існують можливості описи власних класів, які розбиті на типи і мають свої особливості при побудові. Тут також знайдено компроміс (“золота середина”) для реалізації механізмів об’єктного програмування. Якщо з цих позицій порівнювати наші продукти, то CTD знову ж виявиться у виграші.

Наближаючись до завершення, зазначу також, що в CTD більш розвинені засоби взаємодії з усіма відомими і поширеними SQL СУБД, для деяких з них реалізовані спеціальні роутери, що дозволяє без зниження ефективності, яке зазвичай має місце при використанні ODBC, отримувати доступ до даних. У BD такі можливості реалізовані поки тільки з СУБД Interbase і робляться для нових версій СУБД Oracle.

Крім всіх перерахованих особливостей хочу виділити і вбудовані CASE кошти в CTD, реалізовані в Team Object Manager , Який забезпечує колективну розробку програм, проектування систем та супроводження версій програмних продуктів. Детальніше про ці можливості дивіться у статті на сайті .

У CTD закладені і реалізовані механізми побудови WEB додатків, підтримки різноманітних Інтернет-технологій, про це також є інформація в попередніх статтях на нашому сайті.

Підводячи підсумки, можна сказати, що в галузі побудови інформаційних бізнес систем Centura Team Developer має ряд незаперечних переваг у порівнянні з Borland Delphi. Вони полягають, якщо коротко, в наступному: спеціалізація в області інформаційних систем, врахування специфіки і груп програмістів, орієнтація на колективну розробку систем, об’ємне уявлення програм, широкий спектр підтримуваних СУБД, менша трудомісткість навчання і програмування, інтеграція сучасних WEB технологій для взаємодії з БД.

Borland Delphi в свою чергу спирається на більш поширена мова об’єктний Паскаль, має широку поширеність, високу універсальність і орієнтацію на програмістів високої кваліфікації. Якщо мова йде не про створення інформаційних систем, то BD (або системи, що базуються на мові СІ) можуть виявитися кращими. Якщо Вам необхідно створювати складні інформаційні системи, то краще вибрати Centura Team Developer.

На завершення цієї статті приведу деяку загальну характеристику властивостей CTD, зібраних воєдино. Це дозволить створити цілісний погляд на систему (при бажанні цей розділ можна і опустити при читанні). У цілому можливості CTD наступні:


  1. Centura Team Developer: забезпечує колективну розробку, налагодження та супровід інформаційних бізнес систем, орієнтованих на роботу в середовищі Windows (усіх версій) і на роботу з різними СУБД, популярними в даний час (SQLBase, Oracle, DB2, MS SQL Server, Sybase, DB2, Informix та іншими). Зв’язок з СУБД забезпечується як за допомогою спеціальних інтерфейсів (Routers – Connections) або за допомогою ODBC.
  2. Centura Team Developer: є комплексним, професійним програмним продуктом, простим для освоєння і обслуговування, які мають відкритою архітектурою, прийнятною вартістю в порівнянні з системами подібного класу. Комплексність забезпечується наявністю складових компонент, таких як: управління базами даних (SQLTalk, SQLConsole), забезпечення механізмів формування вихідних документів (RB), а також наявність уніфікованих засобів, орієнтованих на роботу з БД (DBExplorer).
  3. Centura Team Developer: забезпечує накопичення результатів попередніх розробок у вигляді бібліотек і шаблонів (APL і Team Object Manager); забезпечує швидке макетування додатків на основі створених баз даних (QuickObject і Wizard); є найкращим засобом для освоєння візуального програмування та мов рівня 4GL.
  4. Centura Team Developer: підтримує програмування на об’єктно-орієнтованої мови SAL (Scalable Application Language), який за своїми властивостями близький до мови СІ; використовує стандартний для Windows API механізм обміну повідомленнями, який органічно вбудовується в алгоритми управління додатком, забезпечує побудова власних класів, виклик функцій зі стандартних і власних Windows DLL; дає можливість побудови власних DLL і бібліотек APL, для модульного програмування.
  5. Centura Team Developer: забезпечує роботу в зручному дизайнера; пропонує зручну унікальну (об’ємну) форму представлення складних програм в структурованому вигляді (Outline – структура), в якій програміст відмовляється від операторних дужок і цілісно сприймає додаток; пропонує зручні механізми генерації звітів на основі шаблонів, причому програма має можливість втручатися в цей процес генерації на основі спеціального протоколу.
  6. Centura Team Developer: має зручну довідкову систему і добре вивірену документацію; володіє відкритою архітектурою і можливістю нарощування бібліотек об’єктів (зокрема, використовуються бібліотеки QuickObject і VisualToolchest і CDK); володіє всім необхідним набором засобів для супроводу БД і має інтерфейс з поширеним продуктом ERwin.
  7. Centura Team Developer: забезпечує підтримку сучасних WEB-технологій, побудова WEB-додатків, які обслуговують БД з віддаленого Інтернет-броузера, включає стандарти ASP, XML, WML (CTD2001).

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*