Языки программирования и трансляция
💻 Информатика · 10 класс
Языки программирования
Язык программирования — это формальный язык, на котором записывают алгоритмы для исполнения компьютером. Компьютер непосредственно понимает только машинный код — последовательность команд в двоичном виде, поэтому программы на удобных для человека языках нужно переводить в машинный код.
Уровни языков
Языки делят на низкоуровневые и высокоуровневые.
| Уровень | Особенности | Пример |
|---|---|---|
| машинный код | двоичные команды процессора | команды процессора |
| низкого уровня | близок к командам процессора | ассемблер |
| высокого уровня | близок к человеческому языку | Паскаль, Питон |
Чем выше уровень языка, тем понятнее программа человеку и тем меньше она зависит от конкретного процессора. Сравним запись простой команды на разных уровнях:
- высокий уровень:
S := A + B- низкий уровень:
ADD A, B- машинный код:
00000001 11000011
Трансляция
Трансляция — это перевод программы с языка программирования на машинный код. Программу-переводчик называют транслятором. Различают два вида трансляторов.
- Компилятор переводит всю программу целиком в отдельный исполняемый файл, который затем запускают.
- Интерпретатор переводит и выполняет программу команда за командой во время работы, не создавая отдельного файла.
| Свойство | Компилятор | Интерпретатор |
|---|---|---|
| Когда переводит | заранее, целиком | во время выполнения |
| Результат | готовый файл | нет отдельного файла |
| Скорость запуска | выше | ниже |
Этапы создания программы
Создание работающей программы проходит несколько шагов:
- постановка задачи и составление алгоритма;
- запись программы на языке программирования (исходный код);
- трансляция в машинный код;
- отладка — поиск и устранение ошибок;
- тестирование и запуск.
Виды ошибок
Синтаксические ошибки нарушают правила языка и обнаруживаются транслятором. Логические ошибки не нарушают правил, но приводят к неверному результату — их находят при тестировании.
| Вид ошибки | Когда обнаруживается |
|---|---|
| синтаксическая | при трансляции программы |
| логическая | при тестировании результата |
| ошибка выполнения | во время работы программы |
Парадигмы программирования
Языки высокого уровня различаются не только синтаксисом, но и подходом к описанию решения задачи. Такие подходы называют парадигмами программирования.
- Структурное программирование — программа строится из трёх базовых конструкций: следования, ветвления и цикла.
- Процедурное программирование — задача делится на подпрограммы (процедуры и функции).
- Объектное программирование — программа описывает объекты с их свойствами и действиями.
Зачем нужны разные языки
Не существует одного языка, идеального для всех задач. Одни языки удобны для обучения и быстрого написания небольших программ, другие — для создания требовательных к скорости приложений, третьи — для работы с веб-страницами. Выбор языка зависит от задачи, требований к скорости и опыта программиста.
Частые ошибки. Не путайте исходный код (текст на языке программирования) и машинный код (двоичные команды). Компилятор создаёт исполняемый файл заранее, а интерпретатор выполняет программу по ходу. Отсутствие синтаксических ошибок не гарантирует правильного результата.
Кратко о главном
- Языки программирования бывают низкого и высокого уровня.
- Трансляция переводит программу в понятный процессору машинный код.
- Компилятор переводит программу целиком, интерпретатор — по командам.
- Создание программы включает алгоритм, запись, трансляцию, отладку и тест.