A linguagem de programação é uma linguagem artificial, a qual é utilizada para definir uma seqüência de instruções que devem ser processadas por um computador. Os processadores processam exclusivamente sinais eletrônicos binários. Dar uma instrução a um processador significa enviar seqüências de números “um” e “zero” espaçados no tempo de uma forma determinada. Essa seqüência de sinais é denominada código de máquina ou números binários. O sistema binário tem tamanha importância para a tecnologia principalmente pelo fato da forma compacta e confiável pela qual os dados podem ser representados em dispositivos eletrônicos.
As linguagens de baixo nível permitem criar programas compactos, rápidos e específicos para cada processador, fazendo um uso muito eficiente do hardware, que é a parte física do computador. Quando se leva o programa a outra máquina, ele deve ser reescrito seguindo o conjunto de instruções disponíveis para aquele novo processador. Geralmente pode se dizer que os computadores são máquinas que realizam diversas tarefas ao mesmo tempo. Existe uma relação complexa entre as linguagens de alto nível e o código de máquina.
As linguagens de alto nível são, normalmente, fáceis de entender, pois estão formadas por elementos de linguagens naturais, tal como o inglês. Elas fazem com que os comandos binários sejam mais amigáveis e intuitivos, o que geralmente é feito através do uso de palavras conhecidas ou de recursos visuais. Algumas linguagens de alto nível, não geram módulo de objeto. Elas são interpretadas no momento da execução do programa, traduzindo cada instrução individualmente antes de executá-la.
A tradução de um código fonte em linguagem de montagem para um código de máquina não executável é feita por meio de um “montador”. Os módulos de objetos gerados a partir dos montadores são transformados em um programa executável através de um utilitário chamado “ligador”, o qual é responsável pelo carregamento do código na memória principal, a memória RAM (memória volátil) e pelo tratamento das referências de endereçamento.