Система программирования программные компоненты которой порождают программы на машинном языке
Система программирования — это система для разработки новых программ на конкретном языке программирования.
Специалисты с помощью сервисных возможностей систем программирования могут разрабатывать собственные компьютерные программы. При этом компьютерная программа состоит из совокупности указаний автоматизированной вычислительной системы, в результате выполнения которой получается требуемый результат.
Наиболее полное определение системы программирования и ее составляющих представлено в документе ГОСТ 19781-90. Согласно ему:
Осторожно! Если преподаватель обнаружит плагиат в работе, не избежать крупных проблем (вплоть до отчисления). Если нет возможности написать самому, закажите тут.
Система программирования — система, образуемая языком программирования, компиляторами или интерпретаторами программ, представленных на этом языке, соответствующей документацией, а также вспомогательными средствами для подготовки программ к форме, пригодной для выполнения.
Системы программирования позволяют программистам заниматься разработкой компьютерных программ. Данная задача значительно облегчается совершенствованием систем программирования, в которых постоянно расширяются пользовательские возможности, создается удобная среда для работы и оптимизируется процесс разработки программ.
Что входит в состав комплекса, основные компоненты
Система программирования обычно включает в себя следующие компоненты:
- Компилятор или интерпретатор.
- Интегрированная среда разработки.
- Средства создания и редактирования текстов программ.
- Библиотеки стандартных программ и функций.
- Отладочные программы, помогающие находить и устранять ошибки.
- Диалоговая среда.
- Многооконный режим работы.
- Мощные графические библиотеки.
- Утилиты для работы с библиотеками.
- Ассемблер.
- Справочная служба.
Компилятор — это особый вид транслятора, который переводит тексты с языка программирования высокого уровня (с того языка, которым пользуется программист при написании текста программы) на машинный язык (в машинный код, который понятен компьютеру).
Например, если пользователь пишет код на языке высокого уровня, таком как Java, и хочет его выполнить, то ему необходимо использовать специальный компилятор, разработанный для Java. Он занимается сканированием всей программы, транслированием ее в машинный код, который выполняется процессором компьютера, после чего выполняются необходимые задачи.
Интерпретатор — это исполняемый файл, который поэтапно читает программу, а затем обрабатывает, сразу выполняя ее инструкции. Он осуществляет программу поэтапно как часть собственного исполняемого файла.
Каждый раз, когда интерпретатор получает на выполнение код языка высокого уровня, то перед его конвертацией в машинный код, он преобразовывает этот код в промежуточный язык. Части кода последовательно интерпретируются и выполняются отдельно; при нахождении ошибок в составляющих кода процесс интерпретации останавливается.
Основные отличия компилятора от интерпретатора:
- Компилятор занимается трансляцией всей программы, когда интерпретатор транслирует и выполняет по частям.
- Интерпретатор в случае возникновения ошибки способен остановить процесс интерпретации, когда компилятор выдает отчет об ошибках только после трансляции.
- Компилятор по сравнению с интерпретатором требует больше времени для анализа и обработки языка высокого уровня.
Интегрированная среда разработки — это набор инструментов для разработки и отладки программ, имеющий общую интерактивную графическую оболочку, поддерживающую выполнение всех основных функций жизненного цикла разработки программы.
Функции жизненного цикла разработки программы:
- Набор кода и его редактирование.
- Компиляция или интерпретация.
- Автоматизация сборки.
- Отладка.
- Профилирование.
Основные компоненты интегрированной среды разработки:
- Текстовый редактор, позволяющий редактировать код программы.
- Система поддержки сборки, выполняющая компиляцию проектов из исходных кодов.
- Компоновщик, который заботится об упорядочивании объектов в адресном пространстве программы. Это может включать перемещение кода, предполагающего определенный базовый адрес, на другую базу.
- Отладчик, который представляет собой набор инструментальных средств, позволяющий отлаживать программы на уровне исходного текста.
Компоновщик — инструментальная программа, которая производит компоновку («линковку»): принимает на вход один или несколько объектных модулей и собирает из них исполняемый или библиотечный файл-модуль.
В системе программирования компоновщик необходим для связывания объектного и машинного кодов, а также подготовки объектной программы (файла) к работе в конкретной программной среде.
Библиотеки стандартных программ и функций состоят из совокупности подпрограмм, составленных на одном из языков программирования и удовлетворяющих определенным единым требованиям к структуре, организации их входов и выходов, описаниям подпрограмм.
Важным компонентом понятия системы программирования являются отладочные программы.
Отладка — этап разработки компьютерной программы, на котором обнаруживают, локализуют и устраняют ошибки.
Программный модуль отладки позволяет выполнить основные задачи, связанные с мониторингом процесса выполнения результирующей прикладной программы. Отладка позволяет последовательно и пошагово выполнять итоговые программы, просматривать значения объявленных переменных, устанавливать контрольные точки, трассировку для того, чтобы идентифицировать места и виды ошибок в разработке.
Справочная система, входящая в состав системы программирования, предназначена для предоставления пользователю справочной информации по конкретной системе программирования.
Машинно-ориентированные системы программирования
Определение Машинно–ориентированные системы — это системы, в которых язык программирования, наборы операторов и изобразительные средства существенно зависят от особенностей архитектуры компьютера.Классификация машинно-ориентированных систем:
- Машинные языки — совокупность машинных команд, отличающаяся количеством адресов в команде, назначением информации, задаваемой в адресах, набором операций, которые может выполнять машина. Каждый компьютер имеет свой машинный язык.
- Языки символического кодирования — они схожи с машинными языками и являются командными, однако представляют собой не последовательности двоичных и восьмеричных цифр, а символический код в виде идентификаторов, предназначенные для облегчения запоминания смыслового содержания операции.
- Автокод — языки, включающие в себя все возможности символического кодирования, посредством расширенного введения макрокоманд. Макрокоманда — программный алгоритм действий, записанный пользователем.
- Макрос — набор команд и инструкций, группируемых вместе в виде единой команды для автоматического выполнения задачи. Основное назначение макроса — сокращение последовательности символов, описывающих выполнение требуемых действий ЭВМ, для более сжатого вида.
Машинно-независимые системы программирования
Машинно-независимые системы программирования — системы, позволяющие описывать алгоритмы решения задач и информацию, подлежащую обработке. Системы часто используются в широких кругах пользователей и не требуют особых знаний организации функционирования ЭВМ.
Виды языков программирования в машинно-независимых системах:
- процедурно-ориентированные;
- проблемно-ориентированные языки;
- объектно-ориентированное программирование.
Процедурно-ориентированные являются основными языками описания алгоритмов, которые обеспечивают математические функции многих современных вычислительных машин.
Они включают в себя такие популярные языки как:
Проблемно-ориентированные языки — это формальные языки, предназначенные для описания данных (информации) и алгоритмов их обработки (программ) на вычислительной машине.
Основные проблемно-ориентированные языки:
- ЛИСП — семейство языков программирования, программы и данные в которых представляются системами линейных списков символов. Так как исходный код состоит из списков, программы на ЛИСПе позволяют его изменять как структуру данных и создавать макросистемы, позволяющие программистам формировать новый синтаксис или новые предметно-ориентированные языки, встроенные в ЛИСП. В настоящее время ЛИСП применяется в экспертных системах, системах аналитических вычислений и т.д.
- Prolog — язык логического программирования, который обеспечивает решение задач, выраженных в терминах объектов и отношений между ними. Для того чтобы инициировать вычисления, выполняется специальный запрос к базе знаний, на которые система логического программирования генерирует ответы «истина» и «ложь».
Объектно-ориентированное программирование основано на методологии представления программы в виде совокупности объектов, каждый из которых является экземпляром определенного класса, а классы образуют иерархию наследования.
Читайте также: