Na base dos computadores e de seus programas estão as linguagens de programação, as linhas de código de aparência estranha que provavelmente fazem sua cabeça doer só de olhar para elas. Mas o que são linguagens de programação e como funcionam?
Índice
Resumindo, uma linguagem de programação é a maneira pela qual um programador de computador “fala” com um dispositivo. Se você souber “falar” uma dessas linguagens – e existem centenas – você poderá criar um programa que possa executar tarefas. Eles podem variar desde muito simples, como um script que move um arquivo de um lugar para outro , até muito complexos, como renderizar um mundo 3D em um videogame.
As linguagens de programação são a razão pela qual podemos fazer coisas complexas com computadores. Em sua essência, os computadores ainda operam em binário – também chamado de linguagem de máquina – um sistema onde zeros e uns determinam o que o computador faz e como. Você pode pensar nas linguagens de programação como uma camada sobre esse núcleo, para que os humanos não precisem alternar os zeros para uns e vice-versa.
Isso é uma coisa muito boa: se ainda tivéssemos que usar binário para programar, demoraria muito para criar até mesmo um script simples. Programas avançados provavelmente nunca seriam criados, pois colocar todos os uns e zeros no palácio certo exigiria um exército de pessoas. As linguagens de programação, embora difíceis de aprender e usar, são, em sua essência, dispositivos que economizam trabalho.
Grosso modo, as linguagens de programação se enquadram em duas categorias: linguagens de baixo nível e linguagens de alto nível. Linguagens de baixo nível são chamadas assim porque estão “próximas” da máquina, podem falar diretamente com ela. Isso inclui linguagem de máquina e linguagens assembly, que são linguagens de programação apenas um pouco distantes do binário.
As linguagens de alto nível estão um passo acima das linguagens de baixo nível. Eles estão mais distantes da máquina, mas podem ser lidos por humanos. “Legível” neste caso significa que se você conhece a linguagem em questão você pode olhar algumas linhas de código e descobrir o que está acontecendo. Isso também funciona ao contrário: você pode digitar comandos que serão executados pela máquina.
Dito isto, deve-se notar que a programação não é tão direta assim. Ao digitar comandos em uma linguagem de alto nível, você não está dizendo ao dispositivo o que fazer. Em vez disso, você está conversando com um chamado intérprete, um programa que faz parte da linguagem que transforma um comando em binário. Você diz ao intérprete o que deseja e ele, por sua vez, informa ao computador o que você disse, mas em linguagem de máquina.
O intérprete preenche a lacuna entre você e a máquina, e cada linguagem tem um intérprete diferente. As linguagens assembly são um pouco estranhas, pois seus comandos também precisam ser interpretados, mas eles usam o que é chamado de assembler em vez de um intérprete, pois seus comandos estão mais relacionados à linguagem de máquina “pura” e, portanto, não precisam de tradução completa.
O intérprete é uma tecnologia meticulosa: precisa ser falado de uma certa maneira para que ele faça seu trabalho de dizer ao computador como mover zeros e uns. Em vez de dizer “faça a caixa azul ir para o canto superior direito”, temos que inserir uma linha de código que o interpretador entenda, que varia de acordo com a linguagem de programação. O intérprete então recebe essa entrada e diz ao computador o que fazer.
Como a linguagem natural é muito difícil de entender para computadores e intérpretes – algo que pode mudar com a revolução sem código – usamos linguagens de programação, linguagens que podem ser compreendidas tanto por intérpretes quanto por humanos. O intérprete então o retransmite para linguagem de máquina, criando uma pequena cadeia.
A escolha da palavra “linguagem” também não foi feita por acaso: assim como nas linguagens humanas, as linguagens de programação possuem regras internas que evitam que tudo saia dos trilhos.
Uma linguagem de programação terá uma sintaxe, um conjunto de regras relativas à ordem e ao uso das palavras, assim como em uma linguagem humana. Por exemplo, em inglês você pode dizer “Gary deu um livro a Fred”. Nesta frase você sabe exatamente quem deu o quê e para quem; mude as palavras e você obterá uma frase diferente: “Fred deu um livro a Gary.” Isso ainda faz sentido, mas se você disser “um livro que Gary Fred deu”, temos um problema em mãos.
As linguagens de programação não são diferentes: os bits certos precisam estar nos lugares certos para que uma frase – geralmente chamada de “linha” – faça sentido. Acontece que as linguagens de programação usam maneiras diferentes de se expressar.
Algumas coisas são iguais: muitas linguagens de programação usam verbos, por exemplo. Em Python , que geralmente é considerada uma das linguagens mais fáceis de aprender, você pode instruí-lo
print
uma linha de texto.
print("Olá, mundo")
Neste caso, as palavras “Olá, mundo” aparecerão na tela. Naturalmente, os comandos podem ser muito mais complicados do que isso; a maioria das línguas possui um grande conjunto de verbos que podem ser usados para realizar todos os tipos de ações.
É claro que nem tudo faz tanto sentido à primeira vista: a maior parte do código que você encontrará tem uma quantidade absurda de símbolos e sinais de pontuação que você não usaria na fala diária. No entanto, uma vez que você os entende, eles são menos estranhos do que você pensa.
Na linguagem humana, podemos usar palavras diferentes para denotar coisas diferentes. Em inglês, por exemplo, denotamos objetos com “it” e pessoas com “she” ou “he”. Se você mudar isso, uma frase desmoronará. As linguagens de programação não são muito diferentes: colchetes e parênteses apenas denotam diferentes classes de ação. Troque-os e a frase desmorona.
Naturalmente, essas coisas também podem mudar entre as linguagens: um parêntese em Python faz algo completamente diferente do que faz em Lisp, que é novamente diferente de C. Assim como nas linguagens humanas, o uso e o significado podem mudar, tornando algumas linguagens melhores em certas coisas. do que outros.
Então, qual idioma é o melhor para começar a aprender ? Há muitas – e nós queremos dizer muitas – discussões entre fãs de diferentes idiomas sobre o que cada idioma pode ou não fazer e qual é o melhor. Mas o resultado é que a melhor linguagem realmente depende do programador em questão. Assim como acontece com as línguas humanas, sua opinião é afetada por seus padrões de pensamento e pelo que naturalmente faz sentido para você.
Se você quiser ser um dos poucos que podem “conversar” com máquinas e fazê-las fazer o que você deseja, você pode dar uma olhada no Python, que tem a reputação de ser fácil de aprender. Se você quiser um desafio maior, pode dar uma olhada em C, que é a base para a maioria dos sistemas operacionais . Seja qual for a sua escolha, é muito divertido começar a pensar como um programador.
Muitos aplicativos de limpeza estão disponíveis para Windows ao longo dos anos, mas hoje em…
Seu PlayStation 4 está congelado? Seus jogos favoritos continuam travando? Reiniciar seu PS4 pode resolver…
A popularidade das mensagens de texto significou aprender uma forma totalmente nova de comunicação. Você…
A foto dos "Pilares da Criação" tirada pelo Telescópio Espacial Hubble é uma das fotos…
O Proton Drive saiu de seu estágio beta há algumas semanas, mas o aplicativo real…
Para ver suas fotos mais de perto ou para uma edição precisa , você pode…