"Não existe Lógica de Programação" e a dificuldades das mudanças

"Não existe Lógica de Programação" e a dificuldades das mudanças

Na faculdade aprendemos na prática e em resumo, que lógica de programação é aquele conjunto de if’s e else’s que precisamos para fazer uma determinada tarefa dentro de uma linguagem de programação. É comumente referida como uma ”receita de bolo” como os professores sempre gostam de exemplificar.

Mas a forma como a matéria ”lógica de programação” é passada está muito errada, na melhor das hipóteses equivocada. Aliado a esta forma errônea, que irei explicar logo abaixo o porquê, de ensinar o que é essa tal ”lógica de programação” vem também junto com os clássicos clichês como:

 “Se você aprende uma, aprende qualquer uma por que a lógica você já sabe, o que você vai pegar é só a sintaxe da linguagem.”

Esta afirmação está muito em contra mão com o que ocorre na realidade.

A área de TI é muito nova e por isso está caminhando e ainda montando suas estruturas. Não é como a medicina nem a engenharia que possuem milênios de existência. Ainda que tenhamos absorvido muito de áreas a muito tempo estudadas, a computação é uma área totalmente distinta que possui suas próprias particularidades. Sendo assim, existe a necessidade de que os profissionais de TI sejam abertos às mudanças e sejam curiosos e ousados o suficiente para não cederem a moda e sempre buscarem inovações.

Porém, mesmo com a velocidade absurda de inovação na área, muitos profissionais, professores e principalmente empresas escolhem parar no tempo e continuar a usar conceitos de lógica de programação que já foram comprovados que estão defasados, mesmo existindo metodologias melhores e muitas vezes até mais simples, proporcionando, por vezes, muito mais dor de cabeça com as consequências dessas escolhas, como vírus ou instabilidade, do que se existisse um planejamento estruturado e atualizado de acordo com as possibilidades e necessidades de cada empresa.

Um pouco de história e conceitos

"Não existe Lógica de Programação" e a dificuldades das mudanças

Primeiramente, para um melhor entendimento, precisamos definir o que é lógica e depois a aplicamos à programação. Posteriormente veremos outro significado no site significados.com.br:

“Lógica é um substantivo feminino com origem no termo grego logiké, relacionado com o logos, razão, palavra ou discurso, que significa a ciência do raciocínio. Em sentido figurado, a palavra lógica está relacionada com uma maneira específica de raciocinar”

Para Alexandre de Afrodísia a lógica é:

”Ciência de julgar corretamente, que possibilita alcançar raciocínios corretos e formalmente válidos.”

Aplicando à programação, a lógica é um fluxo de instruções para executar uma operação dentro de um determinado contexto.

Linguagens imperativas são linguagens que transmitem listas de instruções sequenciais para o programa.  Este é o modelo mais conhecido e popular, tendo como representantes várias linguagens famosas como:

  • Pascal;
  • Cobol;
  • PHP;
  • C/C++

É verdade que de certo modo se você dominar a linguagem C vai ser muito mais fácil aprender as outras linguagens de programação que seguem o modelo imperativo, pois varias dessas linguagens se basearam em C.

Os outros modelos de processamento, que provavelmente o seu professor nunca te disse, como o funcional, declarativo, dataflow, não são novos. Eles foram concebidos basicamente na mesma época que o modelo imperativo, porém são menos conhecidos que na opinião do autor se baseia na dificuldade de aceitar mudanças.

Faculdade e a evolução do ensino

"Não existe Lógica de Programação" e a dificuldades das mudanças

O surgimento das faculdades impulsionou e facilitou o ensino de uma maneira tão grande e absurda que não se pode desvincular a história da educação com a historia da faculdade. Um grande problema das faculdades nos dias de hoje se dá pela falta de debate e construção de ideias. Um local que foi concebido e construído baseando-se nas mais calorosas discussões e nas mais detalhistas análises. A cada dia que passa, está sendo moldado para apenas ser um local para a replicação do conhecimento, este que muitas vezes se prova falho ou ultrapassado para a realidade atual.

O grande problema da matéria ”lógica de programação” é que nela você não constrói um conhecimento das mais variadas formas de raciocínio, e sim, apenas tem a base para a lógica imperativa. Portanto, o que você está aprendendo na faculdade não é lógica de programação geral, e sim, uma lógica específica de programação. E isso de maneira alguma faz com que você consiga se sair melhor em outros tipos de lógica.

Podemos afirmar que não existe a garantia que você vá conseguir aprender ‘qualquer linguagem’ estando acostumado com o paradigma imperativo e talvez até fique mais difícil por conta do vicio no raciocínio que a sua mente já vai estar acostumada a fazer.

Sendo assim, a faculdade que em suas bases foi criada para o exercício do livre pensamento, está na verdade te condicionando a um conhecimento incompleto e impreciso. No final das contas está repetindo equívocos que poderiam ser facilmente evitados se o corpo docente assumisse uma atitude mais pragmática e isenta. Sem paixões por tecnologia , abordagens ou métodos A ou B.

Qual é a solução?

"Não existe Lógica de Programação" e a dificuldades das mudanças

Há a necessidade de uma reavaliação evidente para que as faculdades parem de errar e causar erros sistêmicos. Então, uma ideia interessante é o de ensinar dois paradigmas opostos. Desta forma o aluno já se habitua a montar o seu raciocínio para um mesmo problema utilizando formas de lógica de programação diferentes. Ou, ainda, a total extinção da matéria. Pelos motivos citados acima, ao meu ver, mais atrapalha do que ajuda em uma formação profissional ampla e completa.

Quer saber mais sobre o assunto? Então, clique aqui para ler mais.