Сергей Трофимов
Сегодня мы продолжаем разговор на тему какой язык программирования выбрать, начатый с статье “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. ............