Язык программирования — это набор правил для описания алгоритмов решения задачи с помощью ЭВМ.Для облегчения процесса программирования в двоичных кодах и предназначены языки программирования, используя которые человеку проще описать алгоритм решения задачи. Переход от языковых конструкций к машинным командам осуществляет специальная программа — транслятор языка.Языком программирования принято называть формально определенный язык для записи программы (т. е. содержащий средства описания данных и алгоритмов).
В настоящее время существует большое число языков программирования, которое не перестает расти, хотя надо заметить, что данный процесс замедлился.
Языки программирования делятся на два класса: процедурные и непроцедурные.
Процедурные (императивные) языки – это языки операторного типа. Описание алгоритма на этом языке имеет вид последовательности операторов. Характерным для процедурного языка является наличие оператора присваивания (БЕЙСИК, ПАСКАЛЬ, СИ).
Непроцедурные языки разделяются на три группы языков программирования: функциональные, логические, и объектно-ориентированные.
Функциональные языки основаны на теории рекурсивных функций. Программа, написанная на функциональном языке, состоит из непорядочного набора уравнений, определяющих функции и значения, которые задаются как функции от других значений (ЛИСП, РЕФАЛ).
Логические языки основаны на использовании символической логики. Наиболее широко используемый язык – ПРОЛОГ.
Объектно-ориентированные языки – это языки, в которых понятия процедуры и данных, используемых в обычных системах программирования, заменены понятиями «объект» и «событие». В отличие от процедуры, которая описывает, как должна выполняться обработка, сообщение только определяет, что желает выполнить отправитель и что должно произойти. Наиболее развитым языком программирования считается СМОЛТОК, к этому классу языков относятся также Java, C++, Delphi, Visual Basic.
Под языком понимают любую систему знаков (Знак – это объект, специально выделенный для передачи информации: буква, жест, положение переключателя и т.п.).
И здесь возникает следующая проблема - язык ЭВМ (машинный язык) весьма далек от понятий, которыми оперирует человек: регистр, переслать, перейти по адресу и т. д., и все это записывается в машинных кодах. Поэтому, чтобы компьютер мог понять написанную программу, она должна быть переведена на язык, понятный самому компьютеру. Этот процесс перевода называется трансляцией.
Существует два различных подхода к трансляции – интерпретация и компиляция:
Языки программирования интерпретирующего типа при исполнении программы за один проход переводят в машинные коды одну строку программы. При большом размере программы процесс исполнения готовой программы занимает довольно много времени. В то же время при разработке программ режим интерпретации очень удобен, так как любое внесенное изменение сразу же переводится в машинные коды и исполняется.
Языки компилирующего типа сначала переводят весь текст программы в машинные коды, а уже затем полученный файл может быть запущен на выполнение. Откомпилированная программа выполняется гораздо быстрее (в 5-10 раз), но наличие ошибок на этапе компиляции требует довольно много времени на их исправление.