Это грубое, неформальное различие, но идея в том, что существуют «языки программирования приложений», предназначенные для программистов, разрабатывающих сокращенные бизнес-приложения, и «языки системного программирования», предназначенные для программистов, которые программируют инструменты для других программистов (компиляторов).и т. д.) и низкоуровневое программное обеспечение, такое как ядра ОС, драйверы устройств и т. д.
Короче говоря, большинство языков (недавно изобретенных, во всяком случае) разработаны так, чтобы упростить разработку программного обеспечения, ориентированного на пользователя, дляработа с некомпьютерной областью - финансы, инжиниринг и т. д. К системным языкам программирования относятся такие, как C, FORTH, Go и т. д., которые предназначены или, по крайней мере, подходят для программирования в области информатики.
Они часто, но не всегда, имеют функцию компиляции в нативный код, системы свободных типов, которые допускают обширное «наложение» и неуправляемый доступ к памяти через указатели или эквивалентную конструкцию.