
To w istocie jedyny kod rozkazów, który komputer rozumie, kod wbudowany w jego strukturę sprzętową, hardware. Składający się, jak wszystko w komputerze, z zer i jedynek, język maszynowy jest całkowicie nieporęczny. Jeśli, przykładowo, programista pragnie napisać rozkaz dodający w pamięci zawartość jednego słowa do drugiego, musi wyszukać w tablicy ośmiocyfrowy symbol tej operacji, jak również adresy tych dwóch słów. Wynikiem jest ciąg trzydziestu dwóch cyfr, które można łatwo pomylić podczas przepisywania programu. Program złożony z kilkunastu tuzinów takich rozkazów byłby koszmarem do napisania, sprawdzenia i korekty. Niemniej, w pierwszych latach komputerowych obliczeń inżynierowie pracowali bezpośrednio w języku maszynowym. Następnie, korzystając z prostych sposobów mnemotechnicznych, zaczęli rozwijać kody bardziej czytelne.