Статья: На чем писать программы? (краткий обзор возможностей языков программирования)

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