Система программирования ( programming system ) - 1) то же, что и инструментальная система, 2) система автоматического программирования, состоящую из языка программирования, компилятора или интерпретатора программ, которые написаны на этом языке, соответствующей документации, а также вспомогательных средств для подготовки программ к выполнения; Инструментальная система (development environment) - комплекс программных или программных и технических средств, используемый специалистами по программированию как инструмент для разработки программного обеспечения (программ, программных комплексов и систем и др.).
Язык программирования - формальный язык представления программ для системы программирования.
Языки программирования низкого уровня
Языки программирования низкого уровня ориентированы на конкретный тип процессора и учитывают его особенности.
- Преимущества
с помощью языков низкого уровня создаются эффективные и компактные программы, поскольку разработчик получает доступ ко всем возможностям процессора.
- Недостатки
Программист, работающий с языками низкого уровня, должна быть высокой квалификации, хорошо понимать устройство компьютера.
Полученная программа не может быть перенесена на компьютер с другим типом процессора.
Языки низкого уровня, как правило, используют для написания небольших системных приложений, драйверов устройств, модулей стыков с нестандартным оборудованием, когда важнейшими требованиями являются компактность, быстродействие и возможность прямого доступа к аппаратным ресурсам.
Ассемблер
Языки программирования высокого уровня можно сказать является понятнее человеку, чем компьютеру. Особенности конкретных компьютерных архитектур в них не учитываются, поэтому созданы программы легко переносятся с компьютера на компьютер, где установлен транслятор этого языка. Разрабатывать программы на таких языках гораздо проще и ошибок допускается меньше.
- Фортран
- Кобол
- Алгол
- Pascal
- Java
- C
- C + +
- C #
- Objective C
- SmallTalk
- J + +
- Delphi
Пять поколений языков программирования
- 1 поколение
начало 1950-х годов - языки первых компьютеров. Первый язык ассемблера, созданный по принципу "одна инструкция - одна строка".
- 2 поколения
конец 1950-х - начало 1960-х г.г. Разработан символьный ассемблер, в котором появилось понятие переменной. Это первая полноценная язык.
- 3 поколения
1960-е гг - языка программирования высокого уровня. Их характеристики:
- относительная простота;
- независимость от конкретного компьютера;
- возможность использования мощных синтаксических конструкций.
Простота языков позволяет писать небольшие программы и людям, которые не являются профессиональными программистами.
- 4 поколения
начало 1970-х гг до сегодняшнего времени. Создаются языка, предназначенные для реализации крупных проектов. Проблемно-ориентированные языки, оперирующие конкретными понятиями узкой области. Как правило, в такие языки встраивают мощные операторы, позволяющие одной строкой описывать функции, для описания которых языках младших поколений потребовалось бы сотни-тысячи строк исходного кода.
- 5 поколения
с середины 1990-х гг - до настоящего времени. Это системы автоматизированного проектирования программного обеспечения (САПР ПО). Создание приложений, редакторов, САПР для людей, которые не знакомы с программированием: Word, Excel, PcAD, OrCAD, PSPICE, MathCad, ACAD и т. д.
Компилятор ( англ. Compiler от англ. to compile собирать в целое) - компьютерная программа (или набор к. программ), что превращает (компилирует) программный код, написанный на определенном языке программирования (язык источника, англ. source language), на семантически эквивалентный код на другом языке программирования (речь цели, англ. target language). Что, как правило, является необходимым для выполнения программы на машине, например: на компьютере.
Коротко компилятор можно определить, как программа или техническое средство, выполняющее компиляцию.
Исторически компилятором называлась программа связывавшая подпрограммы, чем и обусловлено происхождение слова. Сегодня эту задачу выполняет консолидатор или Линкер (англ. Linker).
Для того чтобы быть выполненной программа не всегда должна быть переведена К., существует также другой принцип: интерпретатор (англ. Interpreter).
Компилятор - это программа, читающая программу записанную исходном языке и записывает целевой языке. Этот процесс называют компиляцией (трансляцией, переводом).Он состоит из двух частей
Анализ (parsing) - разбиение исходной программы на составные части и создание промежуточного представления
Синтез - построение целевой программы из промежуточного представления
Начальная язык определяется ее синтаксисом - описанием того, с которых конструкций состоит язык, и семантикой - набором правил, определяющих суть этих конструкций.