O que é uma linguagem de alto e baixo nível?

O que é uma linguagem de alto e baixo nível?

By lingy | Lingy | 5 Jan 2022


Me siga na Odysee


O conceito de linguagens de programação de alto e de baixo nível aparecem geralmente em livros de teoria de programação ou blogs relacionados a TI. Mas o que é uma linguagem de programação de alto e de baixo nível?

O que é uma linguagem de programação?

Uma linguagem de programação é um conjunto de métodos utilizados para passar instruções para o computador. Essas instruções passam antes por um compilador ou um interpretador que transforma o código fonte em código binário. Mas se toda a linguagem de programação faz a mesma coisa, por que existem tantas linguagens diferentes?

Para responder essa pergunta, temos que entender que, em programação, existem diversas maneiras de se fazer a mesma coisa. Para entregar uma caixa para uma pessoa, por exemplo, você pode entregar diretamente a caixa a ela, você pode enviar pelos correios, pode deixar na mesa dela, entre outros. Cada uma dessas formas tem vantagens e desvantagens, mas todas elas atenderam ao seu objetivo.

O mesmo ocorre com linguagens de programação, onde existem diversas linguagens para diversas necessidades. Geralmente se dividem as linguagens em linguagens de alto nível e linguagens de baixo nível.

Qual é a diferença entre linguagens de alto e de baixo nível?

O tal "nível" da linguagem não se trata de linguagens melhores ou piores, mas de linguagens mais fáceis ou mais difíceis para seres humanos compreenderem.

Linguagens de alto e baixo nível em comparação

Linguagens de alto nível são linguagens que se assemelham à linguagem humana, sendo muito mais legíveis para seres humanos. Alguns exemplos são Python, Ruby, Perl, PHP e Java.

Linguagens de baixo nível são tipicamente linguagens que se assemelham mais à linguagem de máquina, como Assembly e C.

Uma forma de ver isso com mais clareza é compararmos dois códigos do famoso "Hello World". Primeiro em Python:

print('Hello World')

E agora em Assembly:

lea si, string
call printf
hlt
string db "Hello World", 0
printf PROC
   mov AL, [SI]
   cmp AL, 0
   je pfend
   mov AH, 0Eh
   int 10h
   inc SI
   jmp printf
   pfend:
   ret
printf ENDP

Vamos concordar que o código em Assembly parece mais grego que qualquer outra coisa, certo? E é exatamente por isso que linguagens de alto nível existem: facilitam a vida do programador. Linguagens de baixo nível são, tipicamente, mais rápidas que linguagens de alto nível, justamente pelo programador poder se atentar mais a detalhes específicos da arquitetura do sistema operacional.

Qual é melhor: alto ou baixo nível?

Não existe resposta para isso, as linguagens de nível mais alto são mais fáceis de se programar, enquanto as de mais baixo nível apresentam uma série de vantagens em relação ao desempenho. Tudo depende de seus objetivos como desenvolvedor.

Se você quer aprender sobre linguagens de baixo nível, uma boa dica é estudar C e Assembly. Saber lidar com tais linguagens é um ponto extra no seu currículo, principalmente para vagas mais avançadas.

Se você prefere a praticidade de linguagens com uma sintaxe mais comum e com um bom desempenho apesar de ser de mais alto nível, provavelmente vai preferir algo como C++ e Rust.

Também temos linguagens de mais alto nível, como Java e C#, ambas compiladas para um bytecode e executadas por uma máquina virtual, e PHP, Python, Ruby, JavaScript e Perl, que são linguagens interpretadas e de mais alto nível que as linguagens anteriormente citadas.

Mas e aí? Já sabia de tudo isso? Conta pra mim nos comentários ;)

How do you rate this article?

1



Lingy
Lingy

My personal blog about technology

Publish0x

Send a $0.01 microtip in crypto to the author, and earn yourself as you read!

20% to author / 80% to me.
We pay the tips from our rewards pool.

Page not displaying correctly?