Języki programowania wymyślono po to, by można było dzięki nim tworzyć różnorodne programy komputerowe.
Oczekuje się również, że tworzone aplikacje będą wykonywać swoje zadania w sposób jednoznaczny i zgodny z określoną na etapie projektowania specyfikacją wymagań – języki programowania muszą się więc opierać na ogólnie obowiązujących zasadach logiki i arytmetyki.
Komputer zbudowany jest w oparciu o obwody cyfrowe (binarne) i reaguje bezpośrednio na sygnały pochodzące z tych obwodów.
Ręczne manipulowanie obwodami jest trudne, choć w początkowym okresie rozwoju komputerów tak właśnie wyglądało ich programowanie.
Sekwencje sygnałów opracowane zostały w postaci rozkazów zrozumiałych dla procesora, tworząc tzw. kod maszynowy
Jest on obecnie wykorzystywany przez programistów raczej wyłącznie do zadań, w których szczególnie ważna jest szybkość działania programu. Nazywany jest językiem niskiego poziomu.