Языки программирования C, C++ и ассемблер считаются низкоуровневыми, потому что они неразрывно связаны с процессорами, для которых созданы. 1 Это машинно-ориентированные формальные знаковые системы. 1
У низкоуровневых языков нет встроенных функций. 1 Они общаются с конкретным процессором, поэтому код одного компьютера не может быть использован на другом. 2 У каждого производителя процессоров свой собственный набор инструкций. 2
Также низкоуровневыми называют языки, в которых по умолчанию не встроены дополнительные инструменты, облегчающие процесс создания ПО, например «сборщики мусора». 3
Ещё одна причина считать эти языки низкоуровневыми — тесная взаимосвязь между написанным кодом и используемым «железом». 3 Информация, которой манипулирует разработчик, хранится в регистрах процессора, из-за чего формируется тесная взаимосвязь между написанным кодом и используемым оборудованием. 3