O que é uma linguagem de programação?

Por Victoria Thibes
photo_camera isak55

Foto:isak55/Shutterstock

Computadores são estúpidos. Isso pode vir como uma surpresa, considerando que eles são capazes de fazer cálculos complexos em poucos segundos, de forma que nenhum humano conseguiria. Mas é verdade! Computadores são extremamente estúpidos e precisam de instruções exatas para tudo o que fazem. O que é óbvio para você, humano, certamente não é óbvio para uma máquina. E se você quer que a máquina faça algo pra você, bem, você precisa, de certa forma, "falar com ela".

Você já deve ter ouvido falar que computadores entendem apenas binário, ou seja, a linguagem de 0 e 1. Todas as instruções que são dadas para eles são traduzidas em sinais elétricos que significam, basicamente, ligado e desligado. Pense em uma pequena lâmpada. Quando ela está ligada, indica 0. Quando desligada, indica 1. Isso é binário. E há uma infinita quantidade de combinações que você pode fazer com isso.

É claro, nenhum - talvez algum - humano na face da terra iria programar um Skyrim ou mesmo um simples site da Web utilizando apenas 0 e 1. Isso seria extremamente cansativo e demorado. Pra isso que servem as linguagens de programação.

Pense em você e sua máquina. Você fala português, mas a sua máquina fala apenas binário. Entre você e a máquina está um intérprete, o compilador, mas ele só sabe binário e uma outra lingua - Java, por exemplo. Aprender a "falar" Java é muito mais fácil que aprender a "falar" binário. Isso porque Java possui muitas palavras em comum com o inglês,e você pode escrever instruções que você entende, como "imprima" ou "leia", ao invés de 001010001010101010. Assim, quando você quer se comunicar com a sua máquina e criar uma série de instruções para ela seguir, você escreve em Java para o compilador e ele traduz as instruções para a máquina, em binário. Isso é uma linguagem de programação.

Linguagens de programação podem ser catalogadas em dois tipos: de baixo nível e alto nível. Isso não quer dizer que uma é mais rica que a outra ou algo do tipo. Significa que uma está muito mais próxima da máquina do que a outra.

Vejamos Assembly, por exemplo. Assembly é uma linguagem de baixo nível e você pode usá-la para falar diretamente com o processador. Agora veja o seguinte algoritmo:

pushbx
movah,2
int21H
popbx
incbx

Se você tivesse que chutar, saberia dizer pra que ele serve? Bem, ele faz parte de uma função para mostrar caracteres em uma tela. As instruções são dadas uma a uma para o processador (esse algoritmo faz parte de um trabalho feito para um Intel 8086), e envolve mexer em registradores, endereços de memória, mover números aqui e empurrar ali. Com Assembly você mexe diretamente com a arquitetura interna do computador e a única forma de ir mais baixo que isso é programar em binário.

Agora, você sabe como pode escrever o algoritmo completo de imprimir uma mensagem em uma linguagem de alto nível?

printf("Mensagem que eu quero"); -> C
Console.WriteLine("Mensagem que eu quero"); -> C#
System.out.println("Mensagem que eu quero"); -> Java

Mostrar o algoritmo completo em três linguagens diferentes foi mais fácil que mostrar parte dele em Assembly. Isso é porque C, C# e Java são linguagens de nível muito mais alto, o que quer dizer que elas possuem níveis de abstração muito maiores, ou seja, já vêm com instruções predefinidas que, quando você coloca no compilador, significam todo aquele algoritmo do Assembly.

E se você esquecer aquele ";" no final da linha?

Simples: ele não roda. Quando você "fala" uma linguagem de programação, ao contrário do português, não pode comer letras ou deixar instruções subentendidas. É aí que entra a estupidez do computador. Ele não vai entender um sujeito oculto, ou a intenção do programador se este não dizer exatamente o que quer e da forma que quer.

Então, se você quer aprender a programar, tenha isso em mente: você não precisa ser bom em português, mas precisa saber muito bem as linguagens de programação que pretende usar. Boa sorte!

Inscreva-se em nosso canal do YouTube!

Análises, dicas, cobertura de eventos e muito mais. Todo dia tem vídeo novo para você.