Классификация по предоставляемому интерфейсу
ГЛАВА 5. Системы программирования
В этой главе мы подробно поговорим о нескольких группах инструментов, которые относятся к системам программирования.
- Инструментарий поддержки технологических процессов. Мы выделим инструменты, ориентированные на один процесс и применяемые только в нем, и универсальные (независимые от процесса).
- Инструментальные системы (инструментальные среды программирования, средства автоматизации разработки программ, интегрированные среды и репозитории проекта).
- Инструментарий поддержки коллективной разработки.
Глава включает обзор систем поддержки естественно-языкового интерфейса.
Введение в системы программирования
Основные понятия и определения
Система программирования - часть базового программного обеспечения, поддерживающая процесс программирования. Системы программирования представляют собой единство средств статической (инструментальной) и динамической (исполнительной) поддержки.
К настоящему моменту сложилось представление о традиционном составе системы программирования, в который входят следующие программные инструменты и библиотеки:
- редактор для построения программ;
- транслятор для перевода программ с языка программирования на машинный язык;
- отладчик для проверочных запусков программ и исправления ошибок;
- библиотеки периода трансляции и периода исполнения;
- средства управления компиляцией и построением программного проекта;
- монитор, интегрирующий в себе вышеперечисленные средства и организующий функционирование системы программирования в целом
Этот минимум, позволяющий достаточно эффективно вести процесс создания программ, был представлен еще в начале 70-х годов XX века. Однако настоящую популярность такой интегрированный набор инструментов приобрел в середине 1980-х годов благодаря компании Borland Inc. (http://www.borland.com/). Пакет Turbo Pascal впервые появился в 1983 году для операционной системы СР/М, а в начале 1984 года был перенесен в MS-DOS. Практически все начало истории персональных компьютеров IBM PC связано с системой Turbo Pascal - наиболее популярной средой разработок.
Программный инструмент - это программа, предназначенная для поддержки разработки программных продуктов. Например, отладчик, облегчающий программисту выполнение отладки продукта.
Утилита - программа, обеспечивающая некоторые общие функции (например, копирование файлов, подготовку текстов, организацию перекрестных ссылок и т. п.).
Библиотеки процедур - наборы процедур различного назначения, упрощающие разработку приложений. Например, библиотека функций ввода-вывода или математических функций.
Программы предоставления дополнительных услуг - программы, предлагающие необязательные, но полезные функции (например, калькулятор или надстройка над полезной утилитой, реализующая графический пользовательский интерфейс к ней).
О связи систем программирования и операционных систем Очень часто многие компоненты систем программирования вводятся производителями операционных систем в качестве вспомогательных модулей операционной системы.
История и эволюция
Некоторые важные даты
Вот некоторые вехи истории систем программирования.
- 1952 г. - Грейс Мюррей Хоппер (Grace Murray Hopper) разработала "А-О" - первый компилятор.
- 1957 г. - Джон Бэкус (John Backus) и его сотрудники установили в IBM первый компилятор языка FORTRAN.
- 1986 г. - Статья в Wall Street Journal сыграла большую роль в популяризации понятия CASE (Computer-Aided Software Engineering). На русский язык этот термин обычно переводится как "средства автоматизации разработки программ".
Основные этапы в формировании состава систем программирования
Можно выделить три основных этапа в формировании состава систем программирования.
- Для начала 70-х годов XX века было характерно наличие "монолитных" систем программирования, состоящих из одной-двух больших программ, выполняющих множество разнообразных функций, начиная с редактирования и трансляции исходного модуля и заканчивая некоторыми сервисными возможностями.
- По мере развития отдельных функций программы происходит их выделение в самостоятельные компоненты, такие как текстовый редактор, отладчик, загрузчик.
- Следующим шагом явилось распространение инструментальной поддержки на все технологические процессы жизненного цикла программ.
История развития системы программирования компании Borland Inc. на базе языка Pascal
За особые заслуги компании Borland Inc. в области систем программирования приведем историю развития такой системы на базе языка Pascal.
- 1983 г. - Создание Андерсом Хейлсбергом (Anders Hejlsberg) программы Turbo Pascal для операционной системы СР/М.
- 1984 г. - Перенос Turbo Pascal в MS-DOS.
- 1990 г. - Представление Turbo Pascal для Windows.
- 1992 г. - Последний выпуск Borland Pascal версии 7.0.
- 1995 г. - Появление Delphi - доведенной до логического совершенства и кульминационного пика интегрированной среды Turbo Pascal.
Классификация
Классификация по ориентации на поддержку процессов
Начнем с основной классификации систем программирования, которая положена в основу структуры данной главы.
- Инструментарий поддержки технологических процессов:
- инструментарий, поддерживающий определенный технологический процесс (процесс-ориентированный инструментарий);
- универсальный инструментарий, который можно использовать в нескольких технологических процессах (процесс-независимый инструментарий).
- Инструментальные системы разработки и сопровождения программных продуктов:
- инструментальные среды программирования;
- средства автоматизации разработки программ (CASE-средства);
- интегрированные среды и репозитории проекта.
- Инструментарий поддержки коллективной разработки.
Функциональная классификация
Еще одну классификацию систем программирования можно провести, отражая их функциональную ориентацию в технологическом процессе. Эта классификация относится к группе инструментария поддержки технологических процессов.
Рассмотрим четыре группы инструментов [Жоголев 1996].
- Редакторы, поддерживающие конструирование (формирование) многочисленных программных документов.
- Анализаторы, производящие:
- статическую обработку документов, осуществляя различные виды их контроля, выявление определенных свойств и накопление статистических данных;
- динамический анализ программ.
- Преобразователи, позволяющие:
- автоматически приводить документы к другой форме представления;
- синтезировать какой-либо документ из отдельных частей.
- Инструменты поддержки процесса выполнения программы, позволяющие исполнять:
- описания процессов или отдельных их частей, представленных в виде, отличном от машинного кода;
- машинный код с дополнительными возможностями его интерпретации.
Классификация по категориям
Классификация систем программирования по категориям [Калянов 1996] определяет уровень их интегрированности по выполняемым функциям и включает:
- вспомогательные программы (tools) - пакеты, решающие небольшую автономную задачу, принадлежащую проблеме более широкого масштаба;
- пакеты разработчика (toolkit) - совокупность интегрированных программных средств, обеспечивающих помощь для одного из классов программных задач;
- инструментальные средства (workbench) - интеграция программных средств, которые поддерживают системный анализ, проектирование и разработку программного обеспечения. При этом используется репозиторий, содержащий всю техническую и управляющую информацию о проекте.
Классификация по предоставляемому интерфейсу
Системы программирования предоставляют два ярко выраженных типа программного интерфейса.
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|