Рождение новых подходов к программированию обуславливается прежде всего стремлением к повышению производительности труда программиста. Разработчики нововведений стремятся облегчить разработку крупномасштабных программных проектов, в которых задействовано большое число программистов, прежде всего за счет более удобных средств расчленения задачи на отдельные составляющие, а также за счет более продуктивных методов защиты от ошибок в программах — их верификации, ужесточения синтаксических требований и т. д. Наиболее важными нововведениями последних лет стали объектное и событийное программирование, а также развивающийся в последнее время визуальный подход к программированию.

В данной работе предпринимается попытка провести сравнительный анализ конкретных реализаций этих новых подходов к программированию.

Анализ языка программирования Delphi

Последняя на сегодняшний день версия — 2009. Delphi является мощным и универсальным средством разработки приложений, RAD-оболочкой. Ее вместе с библиотекой VCL, на которой оболочка основана и написана, можно назвать действительно революционной. Сравнение с C++ Builder 4 показывает, что производительность Pascal-кода, сгенерированного Delphi, всего на 4-5% меньше, чем кода C++.

Возможности языка практически не ограничены. Конечно, Object Pascal накладывает определенные ограничения, но для тех вещей, для которых ее писали, Delphi подходит практически оптимально. Из понравившихся (но, разумеется, нестандартных) "улучшений", внесенных Borland в Object Pascal, хотелось бы выделить свойства (properties) и перегружаемость процедур и функций (overloading). Определенные неудобства при работе с низкоуровневыми функциями API может вызвать то, что стандартным языком для API все же является С, и именно на нем пишутся все новые Software Development Kit (SDK) и заголовочные файлы к ним. Это ни в коем случае не означает, что вы не сможете работать с новыми SDK, просто вам придется написать несложный (но, возможно, объемный) код на Pascal, в котором определить интерфейсы данного SDK. Не поленитесь, однако, поискать на серверах, посвященных Delphi. Очень может быть, что эту работу кто-то уже сделал.

Достоинства языка программирования

Простота, скорость и эффективность Delphi объясняют ее популярность. Delphi имеет один из самых быстрых компиляторов, порождающий, тем не менее, весьма и весьма неплохой объектный код. Есть и другие достоинства: простота изучения Object Pascal; облегчающие жизнь нововведения — вроде свойств (properties); программы, написанные на Delphi, не требуется снабжать дополнительными библиотеками (в отличие от связки C++/MFC). В самом деле, VCL предоставляет удобный, легко расширяемый объектно-ориентированный интерфейс к Windows, что ни в коей мере не мешает программисту опускаться в самые глубины Windows API. Создателям оригинальных компонентов это приходится делать довольно часто, в отличие от "просто программистов". Как было сказано выше, модель программирования в Delphi — компонентная, что позволяет пользоваться компонентами, написанными другими разработчиками, даже не имея их исходного кода и уж подавно не изучая его. В Интернете есть огромное количество компонентов, значительная часть которых распространяется бесплатно. Применение компонентной модели приводит к тому, что довольно многое в поведении объектов программировать не нужно вообще, и многое, на что в других средах ушли бы недели, можно сделать за часы или даже минуты. Оно и понятно — это ведь RAD-среда. К достоинствам можно отнести очень быстрый браузер классов и мгновенный вывод подсказки автозавершения кода (code completion). Если кратко — может все. Конечно, Object Pascal накладывает определенные ограничения, но для тех вещей, для которых ее писали, Delphi подходит практически оптимально. Из понравившихся (но, разумеется, нестандартных) "улучшений", внесенных Borland в Object Pascal, хотелось бы выделить свойства (properties) и перегружаемость процедур и функций (overloading). Определенные неудобства при работе с низкоуровневыми функциями API может вызвать то, что стандартным языком для API все же является С, и именно на нем пишутся все новые Software Development Kit (SDK) и заголовочные файлы к ним. Это ни в коем случае не означает, что вы не сможете работать с новыми SDK, просто вам придется написать несложный (но, возможно, объемный) код на Pascal, в котором определить интерфейсы данного SDK. Не поленитесь, однако, поискать на серверах, посвященных Delphi. Очень может быть, что эту работу кто-то уже сделал.

Недостатки языка программирования

Их мало, но они есть. Главный, на мой взгляд, недостаток (и одновременно достоинство) — статическое присоединение (linking) библиотеки VCL и компонентов к исполняемому файлу. Справедливости ради надо сказать, что VCL можно линковать и динамически, но тогда с каждым своим приложением вам придется распространять еще и VCL, а это более 3 Мбайт. Однако если не увлекаться интерфейсными "наворотами" и использовать в программе минимально необходимое число компонентов, то исполняемый файл будет невелик. Другой недостаток (и опять же достоинство) состоит в том, что в используемой в Delphi парадигме форм (Forms) вся информация о форме, включая свойства, настройки компонентов, значения по умолчанию, хранится в exe-файле, причем не оптимальным образом. Анализ исходного кода VCL показывает, что при создании формы фактически происходит чуть ли не синтаксический разбор данных инициализации, что не может ее не замедлять. Третий недостаток, который кто-нибудь тоже может назвать достоинством, — это Object Pascal. Несмотря на простоту, эффективность и легкость в изучении, ему не хватает очень многих мощных средств C++. Мне, например, не достает шаблонов, перегрузки операторов и объектной модели, похожей на объектную модель C++ . Разочаровала Delphi и малым числом параметров оптимизации кода. Кроме того, заметна тенденция к "разрастанию" exe-файлов, генерируемых Delphi. Так, большинство небольших проектов, разработанных в Delphi 4, при перекомпиляции в Delphi 5 "растолстели" на 40-70 Кбайт, при этом, разумеется, не обретя новой функциональности.

Delphi позволяет создавать приложения интерактивным выбором необходимых компонентов из Component Palette и перетягиванием их на форму. Основное же достоинство этого метода заключается в том, что Delphi при этом самостоятельно создает необходимый код. Это напоминает по своим возможностям Visual Basic и другие подобные языки программирования, однако в случае Delphi вы получаете настоящий объектно — ориентированный код и все возможности этого подхода, включая расширение функциональных возможностей компонентов Delphi до уровня, удовлетворяющего ваши запросы. Вы можете использовать компоненты Delphi, можете наследовать их и добавлять собственные методы, а кроме того, вы можете использовать управляющие элементы Active X.

Одно из основных отличий Delphi от других похожих инструментов визуальной разработки приложений заключается в наличии действительно быстрого, эффективного компилятора. Компилятор выдает не только сообщение о ошибках, но и огромное количество предупреждений и подсказок, которые позволяют создавать более ясный код. Важным достоинством является также выдача одновременно нескольких сообщений об ошибках, что позволяет быстрее исправлять их.

Одна из больших проблем не визуального программирования -создание пользовательского интерфейса, т. е. Решение всех вопросов взаимодействия с пользователем: что он будет видеть на экране, какой внешний вид должны иметь кнопки. Что стоит коммуникационная программа с множеством меню, кнопочек и подсказок, анимированная и озвученная, если она просто не знает, как работать с модемом? Delphi позволяет создавать программу, вложив максимум сил и умения в ее рабочую часть, и всячески помогает вам в той области, где не имеет конкурентов, — в области создания пользовательского интерфейса. Потратив некоторое время на обучение работе Delphi, вы сможете легко и просто создавать пользовательские интерфейсы, не сравнимые ни с какими другими, созданные с помощью традиционного инструментария. Более того, они будут не просто элегантны, но при необходимости будут обладать в виде разработанных вами новых управляющих элементов, что не займет у вас много сил и времени с таким помощником, как Delphi.

Благодаря объектно-ориентированной природе Delphi вы можете создавать свои компоненты не только с нуля, но и используя богатый набор имеющихся компонентов. Помимо создания новых компонентов, расширяемость Delphi включает также возможность интегрирования в среду Delphi целых подпрограмм, называемых экспертами. Expert Interface позволяет вам дополнять среду своими пунктами меню и диалоговыми окнами для расширения ее функциональности.

Но основным преимуществом Delphi является его среда программирования с визуальным конструктором программ. Эта среда (вместе с объектной библиотекой VCL) позволяет эффективно программировать под MS Windows, не отвлекаясь на выяснение всех деталей Win API, а работать над логикой программы.

Delphi обладает высокоразвитыми средствами для работы с базами данных. Базы данных позволяют эффективно управлять информацией. Delphi позволяет эффективно создавать приложения, работающие с базами данных.

Используя программы Delphi и Access для создания информационно-справочных систем мы можем отметить как положительные стороны этих программ, так и отрицательные. Но выбирая из списка существующих программ, для программирования и БД, мы выбрали именно эти. Далее мы опишем положительные и отрицательные стороны данных программных продуктов.

1) Преимущества программы Delphi.

Базовый курс программирования ориентирован на работу в Borland Delphi. Выбор среды быстрой разработки приложений (RAD) Delphi обусловлен как тем, что это наиболее популярная среда программирования на просторах России, так и несомненными объективными достоинствами Delphi. Среди этих достоинств:

— простой и мощный язык программирования Pascal;

— удобная и полная объектная модель;

— достаточно удобная среда разработки;

— обширная объектная библиотека VCL;

— мощные средства разработки приложений баз данных.

Рассмотрим эти особенности Delphi подробнее.

Язык программирования Паскаль (Pascal) был создан Н. Виртом в 1968 году специально для обучения студентов. Язык Паскаль представлял собой квинтэссенцию технологий программирования середины 60-х — эпохи создания структурного программирования. Язык был популярен в университетской среде Европы (в том числе и в Советском Союзе). Однако бедная и не вполне удачная система ввода/вывода и отсутствие поддержки разбиения программ на модули не позволили в то время Паскалю выйти за пределы учебных аудиторий. Однако прозрачный и мощный язык послужил основой для многих экспериментов в области языков программирования. В начале 80-х годов появилась система программирования Turbo Pascal фирмы Borland, в которой использовался расширенный диалект языка Паскаль с усовершенствованной системой ввода/вывода и поддержкой модулей. Именно этот диалект языка и стал наиболее распространенным, так как мог быть использован в создании современных больших приложений. В конце 80-х годов в диалект языка Паскаль от Borland были добавлены объектно-ориентированные расширения, а 1992 году Borland Pascal стал поддерживать программирование для MS Windows. При этом Паскаль сохранил простоту и выразительную мощь учебного языка.

Объектно-ориентированные средства языка Паскаль прошли большой путь от простейших объектных расширений в TurboPascal 5.5 до современной объектной модели Delphi, не уступающей по своим потенциальным возможностям ни одному объектно-ориентированному языку. Объектная модель Delphi поддерживает все средства которые могут понадобиться при объектно-ориентированном программировании. Кроме того, Delphi поддерживает объектные технологии Microsoft и, следовательно, может использоваться для создания приложений и компонент COM/DCOM, а в последних версиях и dotNET.

Но основным преимуществом Delphi является его среда программирования с визуальным конструктором программ. Эта среда (вместе с объектной библиотекой VCL) позволяет эффективно программировать под MS Windows, не отвлекаясь на выяснение всех деталей Win API, а работать над логикой программы.

С точки зрения профессионального программиста не менее важно то, что Delphi обладает высокоразвитыми средствами для работы с базами данных. Базы данных позволяют эффективно управлять информацией. Delphi позволяет эффективно создавать приложения, работающие с базами данных.

2. Достоинства Microsoft Access.

Выбор системы управления баз данных (СУБД) представляет собой сложную многопараметрическую задачу и является одним из важных этапов при разработке приложений баз данных. Выбранный программный продукт должен удовлетворять как текущим, так и будущим потребностям предприятия, при этом следует учитывать финансовые затраты на приобретение необходимого оборудования, самой системы, разработку необходимого программного обеспечения на ее основе, а также обучение персонала. Кроме того, необходимо убедиться, что новая СУБД способна принести предприятию реальные выгоды.

Во время написания дипломной работы рассмотрены основные особенности СУБД MS Access, ее функциональные возможности и на основании этой информации можно определить сферу эффективного применения этой СУБД.

Основополагающим фактором является использование платформы фирмы Microsoft — операционной системы Windows. Хотя MS Access применяется только под Windows, широчайшее распространение этой ОС не является препятствием для массового использования.

Наиболее значимые характеристики сферы применения Microsoft Access заключаются в следующем:

— наличие некоторого объема информации, который необходимо систематизировать и хранить централизованно. Этот объем информации не должен превышать некоторого предела, например, крупные корпоративные системы, хранилища данных OLTP или системы OLAP — это не вариант использования Access; ограниченность материальных и трудовых ресурсов для разработки системы хранения данных. В этом плане Access предоставляет довольно богатые возможности за небольшую стоимость. Цена разработки и сопровождения данной СУБД вполне доступна даже малым компаниям или предпринимателям; использование данных преимущественно в режиме однопользовательского доступа. Возможно, конечно, увеличение числа одновременно работающих пользователей, за счет возможностей ядра Access, однако при больших количествах использование Access нецелесообразно, ввиду пропорционального увеличения сетевого трафика, и снижения скорости обработки данных;

— отсутствие жестких требований по защите информации. Access позволяет защищать данные лишь на пользовательском уровне. Чего, однако, вполне хватает для защиты от просмотра или неосторожных действий в среде сотрудников небольшой компании. Отсюда сделаем вывод, что доверять MS Access секретные или очень ценные данные не стоит; наличие потребности публиковать данные в сети Intranet или Internet, или редактировать их с помощью браузера.

— факторы скорости работы программ не являются критическими. Если программа создана в Access не стоит ожидать от нее высокой производительности. Однако, существует огромный круг задач, в которых основное время при работе с программой приходится на ожидание действий пользователя. В таком случае невысокая скорость программы абсолютно не заметна; при использовании MS Access исключается необходимость иметь такую должность, как администратор БД. Все административные операции просты и автоматизированы; распространенность OC Windows, простота и стандартизированность интерфейса, наличие большого количества удобных Мастеров делают Access очень дружественной для большинства пользователей. И с другой стороны можно полагаться на стабильность производителя, компания Microsoft является одним из мировых лидеров в производстве ПО и обеспечивает свои продукты подробной документацией, технической поддержкой и локализацией.