Linguagem de baixo e alto nivel
Por se tratar de uma classificação subjetiva, isto é, sem limites bem definidos, não é possível afirmar que "determinada linguagem pode ser mais humana que outra". Apesar disso, por questão de praticabilidade e objetividade, a classificação geralmente se limita em "linguagem de alto nível" e "linguagem de baixo nível".
Linguagem de programação de baixo nível trata-se de uma linguagem de programação que compreende as características da arquitetura do computador. Assim, utiliza somente instruções do processador, para isso é necessário conhecer os registradores da máquina. Nesse sentido, as linguagens de baixo nível estão diretamente relacionadas com a arquitetura do computador. Um exemplo é a linguagem Assembly (não Assembler) que trabalha diretamente com os registradores do processador, manipulando dados.
As linguagens de baixo nível são divididas em duas categorias: primeira geração e segunda geração.
Primeira geração: A linguagem de primeira geração, ou 1GL, é o código de máquina. É a única linguagem que um microprocessador pode entender nativamente. O código de máquina não pode ser escrito ou lido por um editor de texto, e portanto é raramente usado por uma pessoa diretamente.
Segunda geração: A linguagem de segunda geração, ou 2GL, é a linguagem Assembly. É considerada de segunda geração pois embora não seja uma linguagem nativa do microprocessador, um programador que use a linguagem Assembly ainda deve compreender as