Язык программирования высокого уровня

eXeL@B DVD

Материал из Справочник исследователя программ

Перейти к: навигация, поиск

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

Что такое вообще высокий или низкий уровень?

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

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

Язык программирования высокого уровня, отдаляясь от работы с аппаратурой, получает более широкие возможности по кроссплатформенности, то есть, программа легче будет переносится, например между Windows и Unix системами.

Языки высокого уровня

Примеры: C, C++, Pascal, Delphi, Visual Basic, Java, Python, PHP, Ruby, Perl

Кроме того, языки делятся еще на интерпретируемые и компилируемые:

  • Компилируемые: C, C++, Паскаль, Delphi
  • Интерпретируемые: Visual Basic, Java, Python, PHP, Ruby, Perl

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

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