Язык высокого уровня в программировании
Язы́к высо́кого у́ровня, язык программирования с сильной абстракцией используемых понятий от машинного уровня и специфики аппаратуры. Чем дальше абстракции языка от машинных понятий, тем выше уровень языка. Языки высокого уровня не привязаны к конкретной архитектуре и оперируют машинно-независимыми понятиями. Например, языки высокого уровня используют переменные, массивы, циклы, строки, сложные структуры данных, управляемую память, тогда как ассемблер (язык низкого уровня) использует регистры, адреса, машинные команды.
Примером современных языков высокого уровня являются Java, C++, C#, Rust, Python, JavaScript, Ruby и др. Язык С, считавшийся при создании языком высокого уровня, теперь скорее рассматривается как близкий к низкоуровневым (язык «среднего уровня») из-за лёгкой работы с машинными понятиями. Помимо удобства выбранных абстракций, успех языка высокого уровня определяется тем, могут ли автоматические инструменты трансляции (компиляторы, компоновщики, отладчики и пр.) эффективно преодолеть расстояние до аппаратуры, сгенерировав быстрый машинный код.