Сергій Трофімов
Сьогодні ми продовжуємо розмову на тему яка мова програмування вибрати, розпочатий з статті "Delphi або Visual C + + - ось в чому питання". Тема виявилася глибшою, ніж здавалося на перший погляд, і я провів деякі дослідження з цього питання. Результат я хочу представити на ваш суд.
подвигло мене до цього стаття "Кращі продукти" в журналі "Мир ПК" за січень 2001. Де опубліковані результати опитування серед читачів журналу на тему кращих інструментів розробки, кращих персональних СУБД і корпоративних СУБД.
Так, серед персональних СУБД кращою вважають:
Microsoft Access 2000 - 49%
голосували за інші версії того ж Microsoft Access - 23%
голосів на частку FoxPro - 19%
і тільки 9% на частку інших СУБД.
Потрібно Чи можна говорити, що Access програмується, в основному, за допомогою Visual Basic.
Якщо розглядати корпоративні СУБД, то впевнено лідирує MS SQL server, 21% за Oracle і тільки один з опитаних назвав Borland IB Database
З засобів розробки кращим назвали:
Delphi від Borland - 45% голосів
Borland С + + Builder - 14%
Microsoft Visual Basic - 28%
Visual C + + - 8%
Цифри мене зацікавили, оскільки я вважав, що Microsoft лідирує за всіма напрямками і я провів невелике порівняння цих засобів розробки. Результати представлені в Таблиці 1:
Я не розглядав окремо Delphi і Builder тільки по тому, що всі можливості Delphi доступні в Builder.
Таблиця 1 Порівняльна характеристика мов програмування.
№
Характеристики
Засоби
Visual Foxpro
Access (VisualBasic)
VC + + MFC
BC + + Builder
1.
Принцип обробки коду
Інтерп. (псевдо
Компілятор)
Інтерп. (псевдокомпілятор.)
комп.
комп.
2.
Мова
DBASE c
з об'єктами
Basic c Об'єктами
С + +
С + +, Pascal
3.
Система
Закрита
Закрита
Відкрита
Відкрита
4.
Вбудовані бази даних
DBF, DBC, ODBC
MDB, ODBC
Класи обробки MDB, SQL через DB-бібліотеку,
ODBC
Об'єкти обробки dBASE, Paradox, InterBase, MDB, Informix, FoxPro, ODBC
5.
Створення користувальницьких майстрів
-
-
+
+
6.
Динамічне створення форм введення, обробки повідомлень
+
+
-
+
7.
Модель створення додатку
-
-
каркасна (майстер)
компонентна (майстер)
8.
Технологія
Будівники екранів, меню, звітів (drag-and-drop), класів
Будівники екранів, меню, звітів (drag-and-drop), класів
Редактор класів, Редактор ресурсів (drag-and-drop)
Редактор об'єктів (drag-and-drop)
9.
Висновок з баз даних на друк
Вбудований Report
Вбудований Report
Зовнішній
Об'єкт: Report
10
Обробка виключень
Процедура
Процедура
Об'єкт
Об'єкт
11
Підтримка CASE Rational Rose
-
+
+
-
Природно, таблиця має потребу в деякому поясненні.
Пункт 1. FoxPro, Basic є інтерпретаторами, С + + - компілятором. Що з цього слід - зрозуміло. За допомогою інтерпретаторів можна швидко зібрати працююче додаток і змінювати його по ходу роботи програми, аж до того, що створювати програми "на льоту" (рядок 6 таблиці). Але за це доводиться розплачуватися швидкістю роботи кінцевою програми. Правда, при такому розвитку комп'ютерної техніки, коли вже 1000 Мгц нікого не здивуєш, на це можна злегка прикрити очі.
Але от розмір готової програми для інтерпретатора принципово не може бути маленьким, адже необхідно тягнути за собою всю оболонку, авось знадобитися якась функція. Компілятори на цю тему набагато скромніше.
Останній Visual Basic вже заявлений як і компілятор теж, але щось слабо віриться, що можна зробити з Basic нормальний компілятор, але хто знає ...
Пункт 2. Не потребує коментарів
Пункт 3. Чому я називаю перші два інструмента закритими? Тому що це дійсно так. Якщо якась функція мови працює не так, як потрібно, то тут вже нічого не поробиш. Якщо оболонка випадає по Fatal Error, то в С + + можна завжди подивитися код, пройтися по трасуванню і перевірити, що зроблено неправильно. В VC + + вся бібліотека MFC поставляється з відкритим кодом. У інтерпретаторах залишається тільки гадати, як обійти помилку. Наприклад, в Foxpro команда
rele menu _msysmenu (видалити системне меню)
а потім клацання миші по залишках меню, які чомусь не видаляються, призведе до фатального завершення програми і нічого з цим не поробиш.
Пункт 4. Сама просунута система в обробці баз даних - це Borland, підтримує все на світі. Єдине, що можна сказати, що через ODBC завжди можна отримати доступ до будь формату даних, а постійно працювати можна тільки з тим форматом, обробка якого вбудована і, отже, має більш швидкий доступ, ніж ODBC (забирається зайва ланка). Таким чином, велика кількість підтримуваних безпосередньо форматів - це непогано, але не може бути головним критерієм вибору.
Пункт 5. Створення Майстрів користувача дозволяє створювати на основі майстрів шаблони найбільш поширених додатків. Це просто зручно для створення великої кількості однакових за формою, але трохи різних по суті додатків, наприклад обробки класифікаторів, але в більшості випадків програмісти замість майстра використовують свої старі напрацювання і всі задоволені.
Пункт 6 Тільки Microsoft не дозволяє динамічно ство...