Eu nunca entendi o que significa programação de sistema. A definição usual dada é "... fazer algo próximo aos recursos do sistema operacional ou estender o sistema operacional ...".
O uso da API do Windows diretamente, em vez de algumas bibliotecas, para dizer que a E / S de arquivo torna a programação do sistema? Estava escrevendo a programação do sistema Android OS? Se eu escrever algo que exponha o kernel do Linux através de um console como um aplicativo no Android, estou fazendo a programação do sistema? Se estou escrevendo um software para controlar uma máquina de lavar, estou escrevendo a programação do sistema?
Eu sou iniciante em programação e isso está me confundindo sem fim. Por favor, explique o contraste com "programação de aplicativos".