Esse é o primeiro de uma série de artigos que tratarão sobre conceitos fundamentais na programação. Serão artigos teóricos, mas tentaremos apresentar situações práticas sempre que possível.
A importância da teoria para a prática.
Hoje em dia, graças à difusão das técnicas de marketing digital, observo muitas propagandas de cursos de desenvolvimento na web. Elas têm diversas abordagens, umas amenas, outras mais incisivas. Entre as mais incisivas, existem aquelas que prometem resultados em períodos curtíssimos. Tais promessas estão sempre abraçadas a um slogan famoso: “Vamos por a mão na massa, sem enrolação!”.
Eu acredito piamente que a prática leva à perfeição. No entanto, apesar de essa máxima ser verdadeira, ela é questionável. A prática, sem a teoria, tende a afetar o processo de aprendizagem, deixando lacunas no conhecimento. Por exemplo, é possível, via prática, aprender a tocar várias músicas em um instrumento sem conhecer teoria musical envolvida. Porém as lacunas existirão e o seu conhecimento estará intrinsecamente atrelado à repetição dos movimentos e à memória. Somente à partir do estudo da teoria musical é que poderá ser adquirida a liberdade necessária para a completa compreensão da prática e criação.
Durante minha experiência na TI, na universidade e no trabalho, me vi em diversas situações que me mostraram que a prática sem a teoria pode ser extremamente confusa e difícil. Em muitos casos, dedicar-se para aprender alguns conceitos teóricos te fará ganhar tempo e evitar muita dor de cabeça na hora de por a mão na massa.
O conceito de algoritmo.
Algoritmo é um conjunto de instruções bem definidas, finitas e que geram um resultado. O nosso dia a dia está repleto de algoritmos. Observe a construção de um exemplo de algoritmo cujo resultado é encomendar uma pizza:
- Escolher a pizzaria;
- Fazer a ligação;
- Solicitar o cardápio;
- Informar o tamanho da pizza;
- Informar o sabor da pizza;
- Informar a forma de pagamento;
- Informar o endereço.
Então, conseguimos enxergar que os passos são bem definidos, finitos e produzem um resultado. Essa é a forma com que conversamos com os computadores. Nós passamos as listas de instruções que serão executadas pela máquina. Para entender melhor, vamos ver mais um exemplo. Agora, de um algoritmo para somar dois números:
- Defina o primeiro número;
- Defina o segundo número;
- Efetue a soma.
Mas onde a lógica entra nisso tudo?
O conceito de lógica.
Lógica é a maneira de pensar e argumentar um raciocínio. Para que um argumento seja consoante com a lógica ele deve estar em harmonia com o contexto no qual está inserido e todos os seus termos devem ser harmoniosos e equilibrados entre si. Na computação, utilizamos bastante uma das vertentes do conceito de lógica: a lógica de programação. É a forma como construímos e organizamos os algoritmos.
Imagine agora se no algoritmo para pedir pizza fosse informado a forma de pagamento antes de fazer a ligação. O pedido seria bem sucedido? Certamente que não.
Portanto, a lógica de programação é a ferramenta utilizada para ordenar os passos a serem seguidos, pois se houver alguma falha nessa ordenação ou organização, a comunicação entre o programador e a máquina será comprometida. Trazendo resultados não esperados ou nenhum resultado.
Conclusão.
Algoritmos e lógica de programação são ferramentas fundamentais para o desenvolvimento de software. Um conceito essencial que deve ser entendido por todos os desenvolvedores. Portanto, se faz necessário ter o domínio dessas ferramentas para nos tornarmos bons profissionais. Lembrem-se, dominem as teorias para não sofrer no domínio das práticas.
Bons estudos!