Языки программирования
Сначала всегда разрабатывается алгоритм действий, а потом он записывается на одном из таких языков. В итоге получается текст программы – полное законченное и детальное описание алгоритма на языке программирования. Затем этот текст программы специальными служебными приложениями, которые называются трансляторами, либо переводится в машинный код, либо исполняется.
Языки программирования являются искусственными языками, в них синтаксис и семантика строго определены. Поэтому языки программирования, в отличие от естественных языков, не допускают многозначных и произвольных толкований.
Синтаксис – это набор правил, которые определяют основные внутренние структуры и последовательности символов, допустимых в языке программирования.
Семантика – это значения языковых единиц (слов, словосочетаний, предложений).
Составление программ для ЭВМ первого поколения велось исключительно на машинном языке, который представляет собой свод правил кодирования действий ЭВМ с помощью чисел. Для всех цифровых ЭВМ «понятна» только двоичная система счисления (СС), которая для сокращения записи часто заменяется восьмеричной или шестнадцатеричной СС. Восьмеричная и шестнадцатеричная СС используются лишь для облегчения работы программистов. Для технической реализации ЭВМ нужна только двоичная СС.
Более высоким уровнем, по сравнению с машинными языками, являются машинно-ориентированные языки символического кодирования. Основной принцип создания языков символического кодирования состоит в замене машинных кодов на их буквенные обозначения, а также в автоматизации процесса распределения памяти и диагностики ошибок. Такой машинно-ориентированный язык получил название языка Ассемблера.
ЭВМ «понимает» только машинный язык, только команды, операнды и адреса, записанные с помощью двоичных чисел. Поэтому для преобразования программы, написанной на языке Ассемблера, в машинные коды необходим «переводчик».
Перевод программы, написанной на языке Ассемблера, на машинный язык осуществляется с помощью транслятора (переводчика) – специальной программы, которая имеет созвучное с именем языка название: ассемблер.
Недостатком машинно-ориентированных языков является невозможность выполнения программы, составленной для процессора одного типа, на ЭВМ, которая построена на процессоре другого типа. Другими словами, вид программы зависит от типа машины.
На следующем уровне развития языков находятся процедурно-ориентированные языки. В отличие от машинно-ориентированных языков, синтаксис и семантика этих языков не зависят от состава имеющихся команд конкретной ЭВМ (конкретного процессора). Привязку составленной программы к конкретному типу ЭВМ осуществляет транслятор (программа-переводчик).
После ввода в ОЗУ исходной программы, составленной на языке программирования высокого уровня, осуществляется ее трансляция. В результате создается программа на машинном языке, т.е. программа, состоящая из команд того процессора (той машины), с помощью которого будет решаться задача.
Процесс перевода программы и процесс ее исполнения могут происходить двумя способами.
Первый способ, называемый компиляцией, заключается в том, что процесс выполнения программы ЭВМ осуществляется после того, как процесс перевода полностью завершен. Для компиляции характерно то, что осуществляющая ее программа-транслятор во время выполнения программы уже не нужна и потому не находится в ОЗУ, тем самым достигается экономное использование ОЗУ.
Второй способ – интерпретация – предполагает, что отдельные операторы (или другие части исходной программы) сразу после трансляции выполняются, после чего та же процедура совершается над другими операторами и т.д. При интерпретации во время выполнения рабочей программы транслятор находится в ОЗУ, т.е. занимает дополнительный объем оперативной памяти. Кроме того, процесс решения задачи замедляется, так как между отдельными этапами выполнения рабочей программы управление передается транслятору.
Интерпретатор можно сравнить с переводчиком, который выполняет устный синхронный перевод с одного естественного языка на другой (например, перевод кинофильма с английского языка на русский язык). Интерпретатор переводит и сразу выполняет программу последовательно, строчку за строчкой.
Компилятор можно сравнить с переводчиком, который делает письменные перевод статьи или книги. Компилятор перед выполнением программы вначале полностью переводит весь текст программы на машинный язык.
Интерпретатор работает медленнее, чем компилятор, занимает больше места в оперативной памяти. Однако при отладке новых программ удобнее работать с интерпретатором, так как он позволяет после исправления ошибки продолжить выполнение программы с места остановки. При работе с компилятором после устранения ошибки необходимо повторно компилировать программу и запускать ее с самого начала, а не с места расположения обнаруженной ошибки.
Существуют комбинированные способы трансляции и выполнения программ. Например, язык Java позволяет сначала компилировать программу в некоторый промежуточный код (байт-код), а затем выполнять его с помощью интерпретатора (виртуальной Java-машины).
Yandex.RTB R-A-252273-3
- Содержание
- Информация и информатика
- Понятие информации
- Свойства информации
- Измерение информации
- Информатика как наука
- Основные направления информатики
- Системы счисления
- Непозиционные системы счисления
- Позиционные системы счисления
- Перевод чисел из одной системы счисления в другую.
- Двоичная арифметика.
- Логические основы вычислительной техники Формы мышления
- Алгебра высказываний.
- Логическое умножение (конъюнкция)
- Логическое сложение (дизъюнкция)
- Логическое отрицание (инверсия)
- Технические и программные средства реализации информационных процессов.
- Краткая история развития вычислительной техники
- Основные типы компьютеров. Конфигурации персональных компьютеров (пк)
- Устройства хранения информации
- Устройства обработки информации и управляющие устройства
- Устройства ввода и вывода
- Модели решения функциональных и вычислительных задач
- Основные понятия
- Классификация видов моделирования
- Программное обеспечение. Основные понятия программирования
- Основные понятия и определения
- Способы представления алгоритма
- Базовые структуры программирования
- Языки программирования
- Операционные системы. Классификация и краткий обзор
- Программное обеспечение деятельности офиса
- Защита информации
- Локальные и глобальные сети эвм
- Задания для контрольной работы