programação
Back

Linguagens de Baixo e Alto nível

Em resumo e de forma geral, linguagens de alto nível são as que mais se aproximam da linguagem humana, e ao contrário disso, temos as linguagens de baixo nível trabalhando o mais próximo possível da linguagem de máquina.

Alto nível

As linguagens de alto nível possuem um certo nível de abstração na qual facilita a "tradução" de algumas instruções para a máquina, um simples print('Hello World!') em Python por exemplo, é muito mais fácil de compreendermos do que se fôssemos escrever linhas e linhas em assembly para executar a mesma instrução (Assembly é uma das linguagens de programação de mais baixo nível que conhecemos atualmente).

Baixo nível

Linguagens de baixo nível por sua vez, estão o mais próximo possível da linguagem de máquina e contam com comandos muito menos intuitivos para nosso padrão de idioma, outra características das linguagens de nível tão baixo como o assembly, é que o conhecimento necessário para programar vai muito além do conhecimento da linguagem em si, precisando também um bom entendimento do hardware para o qual esteja trabalhando, visto que as instruções são mais específicas.

Objetivo de cada uma delas?

O principal objetivo das linguagens de alto nível é facilitar a maneira como programamos, tornando a curva de aprendizado, dessas linguagens, menor em relação as de baixo nível, a vantagem de utilizá-las é o baixo custo operacional, não demora para formar novos profissionais na área e, por isso, a maioria dos softwares opta por usar essas linguagens.

Já no baixo nível, como assembly por exemplo, podemos aproveitar melhor a arquitetura da máquina, com isso temos uma otimização muito maior em relação ao alto nível, devido ao fato de estarem o mais próximo possível do hardware que estamos trabalhando, esse tipo de linguagem é muito mais rápida para compilar e processar os dados tornando assim, ideal para aplicações que processam uma grande quantidade de dados em pouco tempo, além de precisar conhecer muito da linguagem em si, o programador ainda precisa conhecer muito bem o hardware para qual ele está trabalhando, pois as instruções estão diretamente ligadas ao processador específico.

Bom como no decorrer do post já houve um exemplo de "Hello World!" em python, segue abaixo um exemplo de como seria com o Assembly.

section .text align=0
global _start
mensagem db 'Hello world', 0x0a
len equ $ - mensagem
_start:
mov eax, 4 ;SYS_write
mov ebx, 1 ;Número do file descriptor (1=stdout)
mov ecx, mensagem ;Ponteiro para a string.
mov edx, len ;tamanho da mensagem
int 0x80
mov eax, 1
int 0x8