Главная страница

Системы программирования. Системы программирования Системы программирования


Скачать 0.75 Mb.
НазваниеСистемы программирования Системы программирования
Дата20.10.2022
Размер0.75 Mb.
Формат файлаpptx
Имя файлаСистемы программирования.pptx
ТипДокументы
#744942

Системы программирования

Системы программирования

  • Системы программирования, или инструментальные системы, представляют собой программы, предназначенные для разработки ПО. Данные программы обеспечивают среду (технологию) разработки компьютерных программ на том или ином языке программирования. При этом под программой следует понимать совокупность указаний автоматизированной вычислительной системе, в результате выполнения которой получается требуемый результат
Fortran, один из старейших и по сей день используемых в решении задач математической ориентации язык. Basic, являющийся универсальным символическим кодом инструкций для начинающих пользователей, самый популярный среди пользователей. ALGOL, представляющий собой алгоритмический язык, сыгравший большую роль в теории, в настоящее время практически не используется. PL/1 - многоцелевой язык, который в настоящее время не используется. Си – широко используемый язык при создании систем программного обеспечения. Pascal – чрезвычайно популярный язык как среди новичков в программировании, так и среди профессионалов. На его основе созданы более мощные языки такие, как Ada, Delphi. COBOL – язык, ориентированный на общий бизнес, сейчас практически не используется. Delphi – очень популярный объективно-ориентированный язык визуального программирования. Java – платформенно независимый язык объективно-ориентированного программирования, эффективен при создании интерактивных web-страниц. Среди непроцедурных языков программирования наиболее известны: Lips; PROLOG.
  • Fortran, один из старейших и по сей день используемых в решении задач математической ориентации язык. Basic, являющийся универсальным символическим кодом инструкций для начинающих пользователей, самый популярный среди пользователей. ALGOL, представляющий собой алгоритмический язык, сыгравший большую роль в теории, в настоящее время практически не используется. PL/1 - многоцелевой язык, который в настоящее время не используется. Си – широко используемый язык при создании систем программного обеспечения. Pascal – чрезвычайно популярный язык как среди новичков в программировании, так и среди профессионалов. На его основе созданы более мощные языки такие, как Ada, Delphi. COBOL – язык, ориентированный на общий бизнес, сейчас практически не используется. Delphi – очень популярный объективно-ориентированный язык визуального программирования. Java – платформенно независимый язык объективно-ориентированного программирования, эффективен при создании интерактивных web-страниц. Среди непроцедурных языков программирования наиболее известны: Lips; PROLOG.

Машинно-ориентированная СП

содержит средства для программирования на языке машинных команд, автокоде или языке ассемблерного типа. Для ее использования требуется сравнительно немного дополнительного ПО, ее характеризует сильная платформенная зависимость и плохая «читабельность» со стороны пользователя. Однако в силу больших возможностей по управлению аппаратными средствами эта СП наиболее важна для решения задач системного программирования
  • - организация оперативной памяти, минимально-адресуемая единица, общий объем доступного адресного пространства, способы структуризации (слова, двойные слова и т.п.).
  • - организация регистров - общее их число, доступность, назначение, формат
  • - форматы данных - поддерживаемые типы данных, формы их представления в памяти
  • - система команд - форматы, способы доступа к памяти, виды адресации, группы по выполняемым функциям
  • - специальные средства (наличие средств защиты, системы прерываний, организация ввода вывода и т.п.)

 Проблемно-ориентированная СП

  • получила свое название в те времена, когда языковые средства программирования привязывались к конкретным классам решаемых прикладных задач («проблем») - для научно-технических инженерных задач - язык FORTRAN, для экономических - COBOL, для «начинающих» - BASIC. Поэтому проблемно-ориентированная СП использует какой-либо язык высокого уровня, ей требуется дополнительное сложное ПО (компиляторы, интерпретаторы), её «выходной продукт» слабо связан с платформой разработки и достаточно понятен человеку-пользователю

Процедурно-ориентированные СП

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

Основные компоненты системы программирования

  • Система программирования представляет собой совокупность реализации языка и окружающей её операционной среды - это базовые средства, доступные при работе на данном компьютере в данной системе.
  • Реализация же языка - это комплект программ, которым обеспечивается:
  • - поддержка операций с исходной программой: ввод, редактирование, сохранение текста; анализ синтаксических ошибок;
  • - подготовка синтаксически правильной программы к исполнению на конкретном вычислителе;
  • - поддержка на конкретном вычислителе всех возможных действий абстрактного вычислителя.
  • Помимо этого в реализацию языка могут входить другие программы, удовлетворяющие требования, логически связанные с вышеперечисленными

Система программирования обязательно должна включать следующие компоненты

  • 1) Файловая система для хранения текста программ - как правило, это общая часть программного обеспечения для различных систем на данном компьютере.
  • 2) Редактор для ввода текста программы как последовательности символов и исправление её (текстовый редактор). При этом возможно как использование редактора, специализированного для составления программ на данном языке, так и универсального, предназначенного для набора различных текстов.
  • 3) Транслятор для преобразования текста программы к виду, в котором она может исполняться, и указания ошибок, если преобразование не удаётся. Транслятором может быть не одна программа.
  • Существует два больших класса программ-трансляторов: компиляторы и интерпретаторы. При использовании компиляторов весь исходный текст программы преобразуется в машинные коды, и именно эти коды записываются в память микропроцессора. При использовании интерпретатора в память микропроцессора записывается исходный текст программы, а трансляция производится при считывании из памяти программ очередного оператора. Быстродействие интерпретаторов намного ниже по сравнению с компиляторами, так как при использовании оператора в цикле он транслируется многократно.
  • Применение интерпретатора может обеспечить выигрыш только в случае его разработки для ЯВУ. В этом случае может быть сэкономлена внутренняя память программ, а также облегчен процесс отладки программ (при применении языка программирования BASIC) или облегчен перенос программ с одного типа процессора на другой (при применении языка программирования JAVA).
  • При программировании на языке программирования ASSEMBLER применение интерпретатора приводит к проигрышу по всем параметрам, поэтому для языков программирования низкого уровня применяются только программы-компиляторы.
  • 4) Библиотеки периода трансляции, которые используются в процессе преобразования программного текста, к примеру, для включения в него стандартизованных фрагментов (чтобы программисту не нужно было их повторять в своих программных текстах).
  • 5) Библиотеки периода исполнения, содержащие программы стандартных действий абстрактного вычислителя (её еще называют библиотека поддержки языка). Они связывают язык в операционной средой.
  • 6) Отладчик - программа, отслеживающая ход вычислений программ на данном языке. С его помощью можно последовательно выполнять отдельные операторы исходного текста по шагам, наблюдая при этом, как меняются значения различных переменных. Без отладчика разработать крупное приложение очень сложно.
  • Кроме перечисленных компонентов система программирования, как правило, включает в себя:
  • 7) Пользовательские библиотеки, которые содержат программы на данном языке (в текстовом или преобразованном виде), используемые в составляемых программах для задания специальных вычислений (они зависят от среды программирования).
  • 8) Редакторы внешних связей, собирающие программы из модулей.
  • 9) Загрузчики.
  • 10) Оптимизаторы, позволяющие автоматически улучшать программу, написанную на определённом языке.
  • 11) Профилировщики, которые определяют, какой процент времени выполняется та или иная часть программы. Это позволяет выявить наиболее интенсивно используемые фрагменты программы и оптимизировать их (например, переписав на языке Ассемблера)

Основные требования к системам программирования

  • 1) Требование согласованности интерфейсов и непротиворечивости результатов работы компонентов этих систем. Именно это согласование превращает наборы системных программ в единую систему, нацеленную на решение своей основной задачи - поддержку единого процесса подготовки программ.
  • 2) Полнота набора системных компонентов. Данное требование является важным, но вторичным. В мире существуют несколько систем программирования, которые обеспечивали бы поддержкой весь процесс проектирования, разработки и сопровождения программных продуктов. Однако имеется некоторый уже обязательный круг компонентов, лакуны в котором недопустимы. Невозможно представить себе систему программирования, в которой отсутствовали бы трансляторы. Уже давно обязательным компонентом считается редактор связей (компоновщик), позволяющий объединять раздельно созданные модули в единую программу. Наличие системных библиотек также является обязательным требованием к составу систем программирования. Среди современных систем программирования уже трудно найти системы без интерактивных отладчиков и справочных систем. В то же время, отсутствие компонентов, ответственных за первые этапы проектирования программ - от фиксации первичных требований к разрабатываемому программному продукту до разработки подробных спецификаций и структурированных описаний программ, в настоящее время еще не считается существенным недостатком систем программирования, и многие из них обходятся без таких компонентов, оставляя их системам проектирования другого рода. Можно ожидать, что в будущем, по мере внедрения автоматизированных технологий разработки программного обеспечения, системы, предназначенные для автоматизации различных стадий общего процесса проектирования и разработки, будут объединяться в единые комплексы.
  • 3) Требование удобства работы с системами программирования и отдельными их компонентами. Важными являются возможности по поддержке работы в различных режимах, а также по поддержке ведения в системе нескольких разных проектов разработки программного обеспечения. От систем программирования требуется поддерживать как режим отладки программ, так и режим получения наиболее эффективного варианта программ


написать администратору сайта