При создании программ и формировании структур баз данных нередко применяются формальные способы их представления – форматные нотации, с помощью которых можно визуально (в виде диаграмм) представить таблицы баз данных, поля, объекты программы и взаимосвязи между ними в системе, имеющей специализированный редактор и генератор исходных текстов программ на основе созданной модели. Такие системы называются CASE-системами. В них активно применяются нотации IDEF, а в последнее время все большую популярность завоевывает язык графического моделирования UML.
Системы программирования для компилируемых языков. В самом общем случае для создания программы на выбранном компилируемом языке программирования нужно иметь компоненты, способные реализовывать следующие этапы:
1. Набор текста программы. Лучше использовать специализированные текстовыередакторы, которые ориентированы на конкретный язык программирования и позволяют в процессе ввода текста выделять ключевые слова и идентификаторы разными цветами и шрифтами, а также автоматически проверять правильность синтаксиса программы непосредственно во время ее ввода.
2. Перевод исходного текста в машинный код с помощью программы-компилятора. Исходный текст большой программы состоит, как правило, из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом. Процесс компиляции обычно демонстрируется на экране: показывается, сколько строк исходного текста откомпилировано, или выдаются сообщения о найденных ошибках.
3. Объединение отдельно откомпилированных модулей программы в одно целое. Кроме того, к ним надо добавить машинный код подпрограмм, реализующих различные стандартные функции (например вычисляющих математические функции sin или Ln). Такие функции содержатся в библиотеках, которые поставляются вместе с компилятором. Сгенерированный код модулей и подключенные к нему стандартные функции надо не просто объединить в одно целое, а выполнить такое объединение с учетом требований операционной системы, то есть получить на выходе программу, отвечающую определенному формату. Это выполняет специальная программа – редактор связей или сборщик. На выходе получается работоспособное приложение – исполнимый код для конкретной платформы. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение .ЕХЕ или .СОМ.
Итак, для создания программы нужны:
- текстовый редактор;
- компилятор;
- редактор связей;
- библиотеки функций.
В современных системах программирования имеется еще один компонент – отладчик, который позволяет анализировать работу программы во время ее выполнения. С его помощью можно последовательно выполнять отдельные операторы исходного текста по шагам, наблюдая при этом, как меняются значения различных переменных. Без отладчика разработать крупное приложение очень сложно.
Среды быстрого проектирования (визуальный подход). Серьезным препятствием для разработки графических приложений была сложность создания различных элементов управления и контроль за их работой. Достаточно взглянуть на окно любой Windows-программы. В нем имеется множество стандартных элементов управления (кнопки, пункты меню, списки, переключатели и т.д.). Очень трудоемко вручную описывать процесс создания этих элементов в соответствии с требованиями Windows, на глазок определять координаты, отслеживать их состояние с помощью специальных команд.
Этот процесс автоматизирован в средах быстрого проектирования (Rapid Application Development, RAD-среды). Все необходимые элементы оформления и управления создаются и обслуживаются не путем ручного программирования, а с помощью готовых визуальных компонентов, которые с помощью мыши «перетаскиваются» в проектируемое окно. Их свойства и поведение затем настраиваются с помощью простых редакторов, визуально показывающих характеристики соответствующих элементов. При этом вспомогательный исходный текст программы, ответственный за создание и работу этих элементов, генерируется RAD-средой автоматически, что позволяет сосредоточиться только на логике решаемой задачи. В результате программирование во многом заменяется на проектирование – подобный подход называется еще визуальным программированием.
Компоненты достаточно легко создавать самостоятельно, поэтому в мире сегодня распространяются тысячи бесплатных и платных компонентов для наиболее известных RAD-сред, из них формируются библиотеки компонентов – объектные репозитории. Компоненты выступают в роли «строительных кирпичиков», позволяющих собирать готовое приложение с богатыми возможностями, написав всего десяток строк исходного кода, и такой компонентный подход к созданию программ считается очень перспективным, потому что без лишних усилий и на законных основаниях допускает повторное использование чужого труда.
Из универсальных языков программирования сегодня наиболее популярны следующие:
- Бейсик (Basic);
- Паскаль (Pascal);
- Си++ (C++);
- Ява (Java).
Для каждого из этих языков программирования имеется немало систем программирования, выпускаемых различными фирмами и ориентированных на различные модели ПК и операционные системы. Наиболее популярны следующие визуальные среды быстрого проектирования программ для Windows: