A lenda da Torre de Babel retrata o facto de os seres humanos terem perdido a capacidade de falar uma língua comum e terem começado a usar dialectos diferentes, tornando a comunicação entre eles muito mais difícil. Esta vingança divina nunca afectou os computadores, que também desenvolveram dezenas de formas de escrever programas. No entanto, qualquer que seja a linguagem de codificação escolhida, se não contiver erros, a maioria das máquinas é capaz de a ler, quer esteja escrita em Python, Java, C++ ou outras linguagens.
De facto, as escolhas dependerão do que o programador pretende e do seu grau de conforto com o tipo de código. O programador tende também a adaptar uma "sintaxe" ou um método de programação em função do que procura. Um dos métodos cada vez mais populares é a programação orientada para os objectos (OOP).
Simplificar o código
Existem diferentes abordagens à programação. A chamada abordagem processual envolve a decomposição de um problema em subproblemas até que os procedimentos sejam identificados e codificados para os resolver. Esta estratégia está repleta de grandes falhas, uma vez que basta uma pequena alteração para tornar tudo o resto instável. A abordagem funcional não está muito difundida; inspira-se nas funções matemáticas. É mais útil para manipular e analisar grandes quantidades de dados (conhecidos como megadados).
A OOP é um método desenvolvido nos anos 60 e 70 que parece mais simples no seu funcionamento. Tem o seu próprio vocabulário, mas é acessível mesmo aos programadores principiantes porque pode ser ensinado em pseudo-código. O princípio é criar classes de elementos com propriedades e métodos (funcionalidades) que serão geridos por construtores. Os componentes de uma classe podem partilhar caraterísticas semelhantes, o que se designa por herança. Quando um método tem o mesmo nome mas diferentes implementações, chama-se polimorfismo.
Cada objeto encapsula o seu estado interno no código. Por exemplo, um carro na programação orientada por objectos teria na sua cápsula o seu nível de combustível, se o motor está ligado, etc. Isto permite-lhe reagir às manipulações do utilizador. Isto permite-lhes reagir às acções do utilizador de uma aplicação sem terem necessariamente de programar tudo. Vejamos novamente a analogia do carro no contexto de uma aplicação móvel de jogos. Tendo já encapsulado o estado, se o utilizador tentar ligar um carro sem gasolina, este simplesmente não funcionará.
Uma linguagem perfeita para um mundo de inteligência artificial?
Na verdade, é essa a beleza da programação orientada para objectos: a abstração. A ideia é simplificar os conceitos de alto nível, escondendo os pormenores fastidiosos no código, tornando-o mais legível. Isto foi facilitado, entre outras coisas, pelo uso frequente (embora não exclusivo) da linguagem Pascal, criada no final dos anos 60 pelo cientista informático suíço Niklaus Wirth , que faleceu em janeiro de 2024. Esta linguagem foi expressamente concebida para ensinar código a estudantes principiantes em programação. Não foi concebida para a POO propriamente dita, mas as versões mais modernas têm em conta a herança e as classes.
Como resultado, a sua simplicidade de abordagem torna-a um excelente ponto de entrada para o ensino de código , uma vez dominadas as bases. E com o advento da inteligência artificial, a programação orientada para objectos está a revelar-se uma vantagem quando se trata de criar novos algoritmos. Ao adotar esta abordagem, os criadores de IA poderão compreender mais facilmente o funcionamento dos seus algoritmos, oferecendo uma maior margem para modificar ou melhorar o código.
Imagem: Pexels from Pixabay
Referências:
Ahmad, Arslan. "Guia para principiantes em programação orientada para objectos (OOP)". Design Gurus. Última atualização: 23 de abril de 2023. https://www.designgurus.io/blog/object-oriented-programming-oop.
Kandamplayil, Rahil. "Para que serve a linguagem de programação Pascal?" YUHIRO Global. última atualização: 9 de maio de 2024. https://www.yuhiro-global.com/fr/a-quoi-sert-le-langage-de-programmation-pascal/.
Krajnc, Antoine. "Programação orientada a objectos: definição, linguagens, casos de utilização". Jedha Bootcamp. última atualização em 11 de setembro de 2024. https://www.jedha.co/formation-python/programmation-orientee-objet.
"Programação orientada a objetos: conceitos avançados". Formações Python En Français. Acessado em 15 de setembro de 2024. https://www.docstring.fr/formations/loriente-objet-concepts-avances/.
"Niklaus Wirth, criador da linguagem de programação Pascal e vencedor do Prémio Turing, o equivalente ao Prémio Nobel da Informática, já não existe". Developpez.com. Última atualização: 4 de janeiro de 2024. https://pascal.developpez.com/actu/352613/Niklaus-Wirth-createur-du-langage-de-programmation-Pascal-et-laureat-du-prix-Turing-l-equivalent-du-Prix-Nobel-pour-l-informatique-n-est-plus-Un-pionnier-de-l-informatique-nous-a-quitte/.
"Programação orientada a objetos (OOP)." Bob The Developer. Acessado em 15 de setembro de 2024. https://www.bob-le-developpeur.com/notions/programmation-orientee-objet-poo.
"Programação Orientada a Objetos". MDN Web Docs. Acessado em 15 de setembro de 2024. https://developer.mozilla.org/fr/docs/Learn/JavaScript/Objects/Object-oriented_programming.
"O que é a programação orientada para objectos (OOP)?" Guia Digital IONOS. Última atualização em 6 de outubro de 2023. https://www.ionos.fr/digitalguide/sites-internet/developpement-web/oop-programmation-orientee-objet/.
Siddiqui, Moiz A. "O futuro da OOP em IA e aprendizado de máquina". Medium. Última atualização : 18 de maio de 2024. https://medium.com/@moizas/the-future-of-oop-in-ai-and-machine-learning-85c655cddd4a.
Veja mais artigos deste autor