Файл: Системы программирования ( Основные требования к системам программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 84

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

Системы программирования занимают важное место в программном обеспечении современных ЭВМ. Основное их назначение – освободить программиста от необходимости работать на языке машинных команд. Язык программирования, с которым работает система программирования, называется ее входным языком. Системы программирования именуются по названию своего входного языка. Например, Бейсик – система, Паскаль – система, система пролог. Иногда в название систем включаются префиксы, обозначающие, например, фирменное происхождение системы. Очень популярны системы с приставкой «Турбо»: Турбо – Паскаль, Турбо – Си и другие. Это системы программирования, разработанные фирмой Borland.

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

Языки программирования претерпели большие изменения с тех пор, как в сороковых годах началось их использование. Они все еще продолжают изменяться и теперь даже быстрее, чем когда-либо ранее.


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

Если раньше языки программирования использовались лишь для создания программ для автоматизации вычислительных процессов, то на сегодняшний день они используются для решения более разнообразных задач.

Изучение истории языков программирования, их разнообразия и особенностей позволяет программисту сделать правильный выбор при выборе языка для решения определенной задачи.

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

Цель моей работы: рассмотреть современные системы программирования.

Для достижения поставленной цели были поставлены следующие задачи:

  1. систематизировать основные этапы развития языков программирования и систем программирования;
  2. выделить основные виды систем программирования;
  3. рассмотреть основные компоненты системы программирования;
  4. выявить требования к системам программирования;
  5. выполнить обзор современных систем программирования.

При написании работы были проанализированы различные источники научно-технической литературы и статьи Интернет.

Глава 1. Системы программирования как неотъемлемая часть ЭВМ

1.1 Определение системы программирования

Неотъемлемая часть современных ЭВМ – системы программного обеспечения, являющиеся логическим продолжением логических средств ЭВМ, расширяющим возможности аппаратуры и сферу их использования. Система программного обеспечения, являясь посредником между человеком и техническими устройствами машины, автоматизирует выполнение тех или иных функций в зависимости от профиля специалистов и режимов их взаимодействия с ЭВМ. Основное назначение программного обеспечения – повышение эффективности труда пользователя, а также увеличение пропускной способности ЭВМ посредством сокращения времени и затрат на подготовку и выполнение программ. Программное обеспечение ЭВМ можно подразделить на общее и специальное программное обеспечение.


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

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

Язык программирования – это набор правил, определяющих систему записей, составляющих программу, синтаксис и семантику используемых грамматических конструкций. Реализация языка – это системная программа, которая переводит (преобразует) записи на языке высокого уровня в последовательность машинных команд.

1.2 Виды систем программирования

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

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


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

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

Машинно-ориентированная СП характеризуется следующим набором из пяти групп параметров:

  • организация оперативной памяти, минимально-адресуемая единица, общий объем доступного адресного пространства, способы структуризации (слова, двойные слова и т.п.).
  • организация регистров – общее их число, доступность, назначение, формат
  • форматы данных – поддерживаемые типы данных, формы их представления в памяти
  • система команд – форматы, способы доступа к памяти, виды адресации, группы по выполняемым функциям
  • специальные средства (наличие средств защиты, системы прерываний, организация ввода вывода и т.п.).

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

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

Реализация же языка – это комплект программ, которым обеспечивается:

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

Помимо этого, в реализацию языка могут входить другие программы, удовлетворяющие требования, логически связанные с вышеперечисленными.


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

1) Файловая система для хранения текста программ – как правило, это общая часть программного обеспечения для различных систем на данном компьютере.

2) Редактор для ввода текста программы как последовательности символов и исправление её (текстовый редактор). При этом возможно, как использование редактора, специализированного для составления программ на данном языке, так и универсального, предназначенного для набора различных текстов.

3) Транслятор для преобразования текста программы к виду, в котором она может исполняться, и указания ошибок, если преобразование не удаётся. Транслятором может быть не одна программа.

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

Применение интерпретатора может обеспечить выигрыш только в случае его разработки для ЯВУ. В этом случае может быть сэкономлена внутренняя память программ, а также облегчен процесс отладки программ (при применении языка программирования BASIC) или облегчен перенос программ с одного типа процессора на другой (при применении языка программирования JAVA).

При программировании на языке программирования ASSEMBLER применение интерпретатора приводит к проигрышу по всем параметрам, поэтому для языков программирования низкого уровня применяются только программы–компиляторы.

4) Библиотеки периода трансляции, которые используются в процессе преобразования программного текста, к примеру, для включения в него стандартизованных фрагментов (чтобы программисту не нужно было их повторять в своих программных текстах).

5) Библиотеки периода исполнения, содержащие программы стандартных действий абстрактного вычислителя (её еще называют библиотека поддержки языка). Они связывают язык в операционной средой.

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