Сегодня мы продолжаем разговор на тему какой язык программирования выбрать, начатый с статье “Delphi или Visual C++ - вот в чем вопрос”. Тема оказалась глубже, чем казалось на первый взгляд, и я провел некоторые исследования по этому вопросу. Результат я хочу представить на ваш суд.
Подвигла меня к этому статья “Лучшие продукты” в журнале “Мир ПК” за январь 2001. Где опубликованы результаты опроса среди читателей журнала на тему лучших инструментов разработки, лучших персональных СУБД и корпоративных СУБД.
Так, среди персональных СУБД лучшей считают:
Microsoft Access 2000 – 49%
голосовавших за другие версии того же Microsoft Access – 23%
Возможно вы искали - Статья: Использование Microsoft Office Excel в школьном администрировании
голосов на долю 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 команда