Пиши Дома Нужные Работы

Обратная связь

ЯЗЫКИ И СИСТЕМЫ ПРОГРАММИРОВАНИЯ

 

В данном разделе проводится обзор языков программирования высокого уровня. Кроме того, даются основные понятия и общая характеристика систем программирования.

 

Уровни языков программирования

 

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

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

Языки программирования, имитирующие естественные, обладающие укрупненными командами, ориентированные «на человека», называют языками высокого уровня. Особенности конкретных компьютерных архитектур в них не учитываются. Чем выше уровень языка, тем ближе структуры данных и конструкции, использующиеся в программе, к естественным для человека понятиям исходной задачи. Таким образом, языки программирования высокого уровня ориентированы на решение больших содержательных прикладных задач. Разрабатывать программы на языках высокого уровня с помощью понятных и мощных команд значительно проще, число ошибок, допускаемых в процессе программирования, намного меньше.



С помощью языка программирования создается не готовая к исполнению программа, а только её текст (его называют исходным кодом - source code), описывающий разработанный алгоритм. Исходные тексты программ легко переносимы на другие платформы, для которых разработаны трансляторы этого языка. Трансляторы (программы-переводчики исходного кода в машинный) бывают двух основных типов: компиляторы и интерпретаторы.

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

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

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

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

 

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

 

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

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

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

Трансляция с помощью компилятора исходного кода программы в объектный код (говорят: генерируется объектный код или object code). Нередко при этом выполняется оптимизация с помощью набора методов, позволяющих повысить быстродействие программы.

• Создание исполняемого кода. Сгенерированный объектный код обрабатывается специальной программой — сборщиком (компоновщиком) или редактором связей, который производит связывание модулей объектного кода и стандартных функций из библиотек (например, файлов *.LIB, *.DLL) в машинный код для конкретной платформы (загрузочного модуля, готового к исполнению, например, файла *.ЕХЕ).

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

В системах визуального программирования все необходимые графические элементы оформления и управления создаются путём перетаскивания и редактирования готовых визуальных компонентов. Соответствующий этим элементам вспомогательный исходный код формируется в RAD-средах (Rapid Application Development - средах быстрого проектирования) автоматически, что позволяет сосредоточиться только на логике решаемой задачи.

 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.