O que é linguagem de programação?
Um software é desenvolvido por um programador usando uma linguagem de programação. Quanto mais souber sobre ela, mais recursos seu código terá. Leia a nossa série Poliglota, com 24 capítulos (posts), para se tornar um especialista no assunto. Este é o segundo. O primeiro, que explica a série, está aqui.
1. Conceito de linguagem de programação
Linguagem de Programação é uma linguagem escrita e formal que especifica um conjunto de instruções e regras usadas para gerar programas (software). Um software pode ser desenvolvido para rodar em um computador, dispositivo móvel ou em qualquer equipamento que permita sua execução. Existem várias linguagens e elas servem para muitos propósitos. Alguns óbvios, como criar um software, outros menos, como controlar um carro ou uma torradeira.
Um app que roda no seu celular é um tipo de software criado com uma linguagem de programação. Um game, que roda em um PC ou em outros equipamentos, também. Uma TV smart, que possui a funcionalidade de se conectar na internet e permitir ao consumidor usar um navegador, usa linguagens de programação tanto no hardware quanto no software.
Uma torradeira não tem uma interface digital de comunicação, mas possui um micro-controlador com um software que gerencia o equipamento. Esse tipo de software, embarcado em circuitos eletrônicos, é chamado de firmware e também é escrito usando uma linguagem de programação. A internet das coisas (IoT) demanda muitas soluções que usam esse tipo de tecnologia.
* Caso já saiba algo sobre o assunto, veja este post para entender de onde começar.
2. Programador(a)
Programar, na prática, é escrever um texto que será transformado em um software. Esse texto deve ser escrito em uma linguagem de programação e é chamado de código, mas não é um código lido apenas por uma máquina, é um código que pode ser lido por um ser humano. Para quem sabe inglês é ainda mais legível, pois várias linguagens de programação usam palavras nesse idioma, como if, else, do, while, integer, etc. Quem escreve códigos em linguagens de programação é chamado de programador(a) ou desenvolvedor(a).
3. Exemplos de linguagens de programação
Possivelmente você já ouviu falar de várias. No começo deste post existe uma imagem com algumas delas. Javascript, C++, Ruby, PHP, Python, Java, C e C# são exemplos de linguagens de programação.
Existem alguns pontos iniciais importantes quanto a esse pequeno, porém popular, conjunto de linguagens. Javascript e Java são duas linguagens diferentes. Assim como C, C++ e C# (lê-se: c sharp) também são.
Algumas linguagens do mundo de TI não são linguagens de programação, como HTML e CSS. Elas são usadas para estruturação e estilização, respectivamente, de uma página web, .
Vamos ver os detalhes mais para frente, mas, por ora, é importante já saber alguns exemplos de linguagens de programação.
4. Código
Para usar uma linguagem de programação é preciso escrever códigos com ela. Você terá que aprender seus elementos e as regras de como combiná-los.
Apesar de propósitos e características distintas, existem semelhanças entre o aprendizado de um novo idioma e o de uma linguagem de programação. No idioma, primeiro você aprende o que são algumas palavras, depois constrói pequenas frases até que uma hora chega em parágrafos e textos completos. Na linguagem de programação, primeiro se entende quais são seus elementos (equivalente as palavras do idioma) escrevendo códigos simples, formados por uma única linha, depois códigos com mais de uma linha, blocos de código independentes que são chamados conforme o fluxo do programa e a interação do usuário e, por fim, desenvolve um software completo.
Quanto mais um programador souber sobre uma linguagem de programação, melhor ele conseguirá se expressar no mundo da programação e mais recursos ele terá para escrever soluções para problemas computacionais via código. Contudo, só saber a linguagem de programação não faz de você um programador. A linguagem é um instrumento para que a solução escrita possa ser transformada em um software, mas sem a solução (o que se deve escrever com o código) ela de nada adianta.
Imagine que você precisa escrever, em inglês (e sem usar o tradutor), um artigo sobre biogenética, algo que nunca estudou. Adiantará dominar inglês? Evidente que não. Da mesma forma, se você soubesse tudo sobre o assunto e não soubesse escrever em inglês, também não adiantaria. Portanto, à medida que aprende como funciona esse importante instrumento que é a linguagem de programação, preocupe-se também em aprender a tocá-lo que, no caso, é saber programar.
5. Algoritmo
Um bloco de código que contém uma sequência de instruções do que o software deve fazer é chamado de algoritmo, termo muito usado na computação.
Um algoritmo pode ser escrito em diferentes linguagens, inclusive em algumas conceituais que não funcionam de verdade, chamadas de pseudocódigo.
Imagine que você é um programador e está em uma equipe com mais 9 programadores. Considere que cada um programe em uma linguagem diferente, porém todos tem o mesmo chefe. Certo dia, o chefe manda um e-mail com o assunto: Algoritmo da semana para todos. No corpo do e-mail, ele escreveu o algoritmo em pseudocódigo e disse que todos precisam implementá-lo na sua respectiva linguagem. Ele escreveu em português mesmo, de propósito, ou seja, o código dele não será transformado em um software da forma como está. No entanto, o algoritmo está escrito conceitualmente para que ele possa ser traduzido para diferentes linguagens. Portanto, quando ler a palavra algoritmo, pode ser que ele esteja em uma linguagem de programação ou só escrito conceitualmente, em pseudo código. Neste último caso, continuará sendo um algoritmo.
6. Rodar o código
Uma pergunta muita interessante é: onde eu escrevo meu código? Posso escrever no bloco de notas? Quando acabar o código, mando para quem transformá-lo em um software?
Depois do código ser escrito, outro software transforma o código em um arquivo executável. Explicaremos sobre ele no quarto post da série, chamado Implementador de linguagens de programação. Por ora, saiba que durante essa transformação pode dar tudo certo e o software sair bonito do forno (na forma de arquivo) ou pode dar errado (equivalente a dar pau!). Se deu tudo certo, dizemos que o código escrito “rodou” ou que tal código “está rodando” ou, ainda, “rodei esse código com sucesso” para falar que a transformação ocorreu sem erros. O “rodar” logo receberá um termo técnico bonito, mas por enquanto é importante você entender o conceito de um algoritmo funcionar ou não quando escrito em determinada linguagem de programação.
Imagine uma prova de certificação para se tornar um programador Poliglota. A prova é composta de algoritmos em diferentes linguagens com perguntas simples como: “O algoritmo a seguir rodará com sucesso?” Caso não, indique o erro e sua linha. É como se você fosse o programa que gera novos programas e, só olhando o código, conseguisse avaliar qual roda e qual não roda. Nem precisa imaginar muito, porque já preparamos um exercício para você. Continue lendo e descubra o link escondido em um dos próximos 23 posts.
7. O que fazer agora
Nos níveis abaixo do nível superior de ensino, são poucas as instituições que incluem a disciplina de Informática (ou similares) em sua grade curricular. Agora vejam, se por um lado a área de TI é usada em diversas outras áreas, os alunos não deveriam aprender sobre TI desde sempre? Para muitas pessoas, a resposta é sim. Algumas organizações, como a Code.org, Programae.org, e empresas, como Facebook, Microsoft, Intel e outras, incentivam o ensino de fundamentos de programação para crianças. Se temos cada vez mais máquinas realizando funções, precisamos cada vez mais de pessoas que consigam falar com as máquinas, e isso é feito com uma linguagem de programação. Aprenda!
Gostou da explicação?
Se gostou e quer continuar aprendendo, o próximo passo é entender os Elementos de uma Linguagem de Programação.
Quer ver dicas sobre linguagens? Siga-nos em: http://instagram.com/universidadedatecnologia.
Ficou com alguma dúvida? Quer sugerir um tema para post dentro do assunto de Linguagens de Programação?
Escreva para mim: leandro@mentalguild.com.br
Obrigado pela atenção e até o próximo post!
Referências
[1] – Haverbeke, Marijn. Eloquent JavaScript, 2ª ed. No Starch Press, 2014. Disponível em: <http://eloquentjavascript.net/>. Acesso em: 12 mar. 2018.
[2] – Sebesta, Robert W. Concepts of Programming Languages, 11ª ed. Pearson, 2015.