Linguagem, lógica, algoritmo e programação???
15
1

Linguagem, lógica, algoritmo e programação???

Por simples curiosidade ou se você caiu de paraquedas nesse mundo vasto da T.I (tecnologia da informação), colher informações soltas não vai ajudar muito, são tantos segmentos que não é difícil se perder.

Carlos Augusto
5 min
15
1
<i>Tradução: Definitivamente perdido.</i>
Tradução: Definitivamente perdido.

Por simples curiosidade ou se você caiu de paraquedas nesse mundo vasto da Tecnologia da Informação (T.I) colher informações soltas não vai ajudar muito, pois são tantos segmentos que não é difícil se perder (e se frustrar também!).  Partindo desse pressuposto, considero que você, caro leitor, está flutuando e não consegue dar o primeiro passo, portanto, vamos começar com alguns conceitos básicos, acredito que ajudarão a sanar algumas dúvidas.

Baseado na minha experiência, abordarei alguns tópicos que considero importantes no início do percurso na T.I, cujo estes são: Linguagens de programação, lógica de programação, algoritmos e pseudolinguagens. De início, esclareço que o termo “idioma” será usado para se referir à língua de um país, e o termo “linguagem” para se referir às Linguagens de Programação.


Linguagem de Programação

De forma resoluta, uma linguagem de programação é a ponte de comunicação entre você e a máquina (desde grandes mainframes, computadores de mesa até os smartphones). Estas linguagens possuem sintaxes e estruturas próprias, assim como os idiomas. Para exemplificar, uma pessoa aprende inglês para falar com os norte-americanos, e aprende japonês para falar com os japoneses. De maneira análoga, é importante aprender uma linguagem de programação para “conversar”, ou seja, trocar informações com a máquina

É notória a quantidade de idiomas que existem no mundo, sabendo-se que eles foram criados para melhorar a comunicação entre os seres humanos. Com a mudança natural de uma cultura, o idioma sofre alterações para sanar conflitos e melhorar a comunicação. Do mesmo molde, as linguagens de programação foram criadas para facilitar a interação entre o humano e a máquina, e com o avanço tecnológico, linguagens mais poderosas vem surgindo para solucionar novos problemas.

 A forma com que as máquinas manipulam as informações, se dá através do sistema de numeração binário. Este sistema é composto por combinações sequenciais de 0 e 1. Considerando as capacidades de um ser humano, seria extremamente complexo adotar esse sistema para comunicação, restringindo-se o seu uso apenas ao processamento de informações nas máquinas. Dito isto, é inviável conversar com a máquina por zeros e uns. Nesse contexto, surgem as linguagens de programação, algumas mais parecidas com a linguagem humana e outras mais próximas à linguagem de máquina. E é por isso, que pode-se distinguir as linguagens em: Baixo nível e alto nível.

Linguagens de baixo nível estão mais próximas da linguagem de máquina e por tanto são complexas, porém, muito eficientes. As linguagens de alto nível se aproximam mais da linguagem humana, dando dinamismo e liberdade na hora de programar. No entanto haverá como consequência, a perda de desempenho. Imagine uma conversa entre duas pessoas que falam idiomas diferentes. Se nenhum dos dois sabem o idioma do outro, seria necessário um intérprete para mediar, compilar e traduzir a informação. Então, entre máquinas e linguagens de programação ainda existe esse mecanismo de conversão que teria o trabalho de modificar um código escrito numa linguagem de programação para zeros e uns. Como leitura complementar deste tema, ver: compiladores e interpretadores.

De qualquer forma, os segmentos da área de T.I possuem problemas específicos e por isso, algumas linguagens funcionarão melhor do que outras em determinadas circunstâncias.

Lógica de Programação

Todos códigos, devem seguir padrões para que a máquina consiga interpretar, mas o interessante é que apesar dos padrões a serem seguidos, cada tecnologia (vulgo linguagem de programação) possui suas especificações. E é esta variedade tecnológica que possibilita a solução de casos singulares. Mesmo que uma tecnologia não possa resolver um cenário "x", existe ou será criada outro recurso computável para solucionar a problemática.  Salvo a flexibilidade que esta diversidade traz, existe uma lógica "universal" aplicável em todas as linguagens de programação. E por isso, é de extrema importância aprender lógica de programação antes de partir para uma linguagem. 

Se uma pessoa aprende futebol jogando bola, e aprende matemática fazendo cálculos, como pode-se aprender a lógica de programação sem uma linguagem de programação ?

Não é impossível, você pode começar com uma linguagem de programação se preferir, mas há mais barreiras quando negligencia-se etapas primordiais. Para a felicidade dos estudantes em T.I, existem as pseudolinguagens (ou Pseudocódigosdiferentemente das linguagens propriamente ditas, o seu valor é voltado para o exercício da lógica em programação. Em outras palavras, você começará programando em português como meio para facilitar o aprendizado da lógica. Deixarei o link de uma ótima pseudolinguagem: o Portugol.

RUN!!!
RUN!!!

Falar em lógica  é entender como estas linguagens de programação devem ser organizadas para criar uma estrutura adequada e entendível pela máquina. Parece complexo, mas utilizamos essa dinâmica em tudo. Imagine o caos que seria num trânsito com centenas de veículos onde nenhum motorista obedece às regras e aos padrões de movimentos.

Isso nos leva ao terceiro conceito. Até aqui falamos sobre linguagem e lógica de programação mas uma linguagem bem fundamentada e que possui lógica não é o suficiente. Segue o exemplo:

  • Quando tiver um em mãos, eu preciso comprar. Aqui em casa não tem, por isso, irei comê-lo. Eu quero um doce. 

Observe que acima temos uma frase desconexa. Está no idioma português, porém a ordem das ações não fazem sentido, falta lógica.

  • Eu quero comer um doce, mas aqui em casa não tem. Eu preciso comprar, e quando tiver um em mãos, irei comê-lo.

Quando se organiza as ações, o objetivo fica claro para humanos, pois agora se tem a lógica. Para o computador, ele não conseguiria fechar as lacunas entre uma ação e outra, isso porque quem faz essa ligação é o nosso raciocínio e a expressão dele está na lógica aplicada ao algoritmo. ALGORITMO !?!

Algoritmos

Observe como os doces estão organizados vertical e horizontalmente, separados por duplas de cores iguais. Não é difícil ler, entender e reproduzir este padrão.
Observe como os doces estão organizados vertical e horizontalmente, separados por duplas de cores iguais. Não é difícil ler, entender e reproduzir este padrão.
  • Eu quero comer um doce
  • Aqui em casa tem?
  • Sim? Se for o caso, preciso buscar o doce
  • Não? Se for o caso, preciso comprar um
  • Se preciso comprar, irei ao mercado mais próximo
  • Quando estiver com o doce em mãos, poderei comer
  • Enquanto não, procurarei por um

Algoritmo é uma sequência de ações bem definidas onde um passo leva ao outro ou não, dependendo das condições. No exemplo acima, a condição era ter o doce em casa ou não, e tê-lo em mãos ou não. O algoritmo obedece um padrão (sintaxe) e é expresso assertivamente através da lógica.

Pra acabar de vez com a dúvida (ou piorar ela rs), veja a conceituação:

  • Linguagem de Programação é o "idioma" que você usará para conversar com a máquina;
  • Algoritmo é a estrutura montada (o código-fonte ou  o passo a passo);
  • Lógica de Programação é a forma que você usa "as palavras" para apresentar as ações claramente;
  • Pseudolinguagem é a abstração de uma linguagem de programação para o exercício da lógica, normalmente está no idioma nativo do estudante;

Links Complementares:

Texto revisado por: 

  • Clara Matos (Lattes em anexo)
  • Arthur Miranda arthurmira171@gmail.com