Evolução dos Paradigmas de Programação
O conceito de paradigma de programação pode ser descrito de várias formas. Podemos defini-lo como um grupo de características em comum entre linguagens, assim como um padrão de técnicas de resolução de problemas. O fato é que podemos classificar as diversas linguagens de programação em paradigmas de programação, podendo enxergar facilmente semelhanças entre elas e ter uma melhor asertividade ao escolher uma linguagem para a resolução de algum problema específico.
Imperativo
Os paradigmas de programação evoluíram junto com as linguagens. A cada nova linguagem que surgia, novas técnicas apareciam, novos métodos de implementação se tornavam realidade. Em um dos primeiros paradigmas, a programação imperativa, o algoritmo é caracterizado por ser uma sequência de instruções a serem executadas. Cada instrução é uma ordem dada ao sistema.
A partir da programação imperativa, surgiram paradigmas como a programação estruturada ou procedimental. Nesta, os comandos são organizados em blocos, chamados de funções ou procedimentos, que são acionados sob demanda. As funções podem receber parâmetros que modificam o seu comportamento, oferecendo uma possibilidade de reaproveitamento de código. COBOL e FORTRAN são exemplos de linguagens imperativas.
Orientado a objeto
Com o aumento do nível de complexidade das aplicações e o aumento da dificuldade de implementação usando os paradigmas existentes, surgiram as linguagens orientadas a objeto. Ainda hoje uma das técnicas mais usadas, ela se baseia no conceito de classe para representar logicamente as entidades do programa. As ações que podem ser operadas sobre as entidades ficam diretamente ligadas à sua classe. Java, C++ e C# são exemplos de linguagens orientadas a objetos e que representam a popularidade dentre os diversos paradigmas existentes.
Funcional
Programação funcional é uma das abordagens mais recentes. Sua principal característica é a implementação de funções, de forma que o programa nasça a partir da interação entre elas. Nessa abordagem, funções são tratadas como estruturas de baixo nível, podendo ser usadas até mesmo como parâmetros. Esse paradigma tem dado um poder a mais às linguagens mais recentes, como Python e JavaScript. Não coincidentemente, essas duas linguagens são das mais usadas atualmente, sendo a última apontada como a linguagem de maior tendência para o futuro.
Multiparadigma
Com o tempo, as linguagens começaram a absorver conceitos umas das outras, a fim de melhorar a sua experiência. As equipes de desenvolvimento começaram a experimentar características exclusivas de paradigmas distintos, surgindo o conceito de linguagens multiparadigma. Com JavaScript, por exemplo, você consegue implementar seguindo paradigmas estruturado, orientado a objeto, funcional, entre outros. Esse é mais um dos motivos pelo sucesso recente da linguagem.