As diferenças entre linguagens de programação de alto e baixo nível

As linguagens de programação dos computadores de alto e baixo nível são projetadas para permitir a comunicação entre um humano e um computador em diferentes níveis de abstração. Uma linguagem de nível muito baixo requer que um ser humano forneça instruções diretamente ao hardware do computador, usando o idioma e a estrutura desse hardware; No caso de linguagens de alto nível, os seres humanos trabalham com ferramentas lógicas complexas e abstratas para escrever instruções que um determinado programa deve traduzir para o computador entender. Geralmente é mais fácil para os humanos usar essas ferramentas.

Linguagens de programação

Uma linguagem de programação é qualquer linguagem com a qual os humanos possam instruir computadores. Um programa é uma lista de instruções preparadas para serem entregues em um computador e executadas. Essencialmente, as instruções armazenam, movem e alteram valores na memória do computador. Esses valores podem ser interpretados por vários dispositivos, como monitores, alto-falantes, teclados, touch pads ou mouses, que fornecem formas de comunicação com o usuário.

Código da máquina

Uma linguagem de baixo nível é semelhante aos conceitos básicos de hardware de computador. O idioma de nível mais baixo é o código da máquina, que o hardware entende diretamente e não requer interpretação ou tradução. O código da máquina é composto inteiramente de cadeias de números binários: os famosos zeros e uns. Embora ele possa fazer tudo o que qualquer outro idioma pode alcançar (na verdade, o restante dos idiomas deve ser traduzido em código de máquina pelo intérprete), ele não foi projetado para atender às necessidades do programador e requer um conhecimento profundo do processador e dispositivos de computador, além disso, é quase impossível para um ser humano lê-lo.

A linguagem assembly

A próxima linguagem de programação de nível “mais alto” é a linguagem assembly, que é um código de máquina cujos códigos de instruções foram substituídos por comandos mais intuitivos. Por exemplo, o comando para colocar o valor 97 em um registro de memória é chamado AL (no código de máquina seria “10110000 01100001”) e, na linguagem assembly, seria “MOV AL, 97”, que ainda é um comando enigmático, mas é Muito mais fácil de ler. Embora ainda seja ineficiente para escrevê-lo e exija que o programador lide diretamente com o hardware do computador, é uma linguagem de nível superior ao código da máquina, porque é mais abstrato, ou seja, está mais próximo do programador.

Os idiomas de alto nível

Programadores modernos raramente escrevem em linguagem assembly. Em vez disso, eles usam uma das muitas linguagens de alto nível, como C, Java ou Python, cujos programas chamados compiladores ou intérpretes podem traduzir para código de máquina. Essas linguagens impedem o programador de se envolver com o mundo físico do hardware e o levam à abstração lógica: em vez de mover valores hexadecimais pelos registros de memória, o programador trabalha com variáveis ​​cujo conteúdo pode ser modificado, com loops que eles podem ser repetidos até que uma condição seja atendida, com instruções lógicas como IF, AND, THEN, OR e ELSE, entre outras ferramentas. Essas linguagens são projetadas para o programador, atendendo às maneiras pelas quais a potência máxima pode ser alcançada com o mínimo de dificuldade.

Comparações

Os idiomas de alto nível não recebem esse nome porque são “melhores” que os idiomas de baixo nível. Às vezes, a capacidade de se comunicar diretamente com o processador do computador na linguagem assembly ou mesmo no código da máquina pode resolver os problemas que as camadas de abstração de uma linguagem de alto nível podem impedir. Uma linguagem de nível muito alto pode lidar apenas com um determinado sistema operacional, como o Microsoft Visual Basic, ou com um programa específico, como as “macros” de um processador de texto. Esses programas são muito úteis para quem deseja manipular o Windows ou o Word sem precisar saber como ele funciona, mas esse idioma não seria útil para quem tenta escrever seu próprio programa e precisa de um idioma de nível inferior. Portanto,

 

Você pode estar interessado:

Deixe um comentário