La leyenda de la Torre de Babel describe el hecho de que los humanos perdieron la capacidad de hablar una lengua común y empezaron a utilizar dialectos diferentes, lo que dificultó mucho la comunicación entre ellos. Esta venganza divina nunca afectó a los ordenadores, que también desarrollaron decenas de formas de escribir programas. Sin embargo, sea cual sea el lenguaje de codificación elegido, si no contiene errores, la mayoría de las máquinas son capaces de leerlo, ya esté escrito en Python, Java, C++ u otros lenguajes.
De hecho, la elección dependerá de lo que quiera el programador y de lo cómodo que se sienta con el tipo de código. También tenderá a adaptar una "sintaxis" o método de programación en función de lo que busque. Uno de los métodos cada vez más populares es la programación orientada a objetos (POO).
Simplificar el código
Existen distintos enfoques de la programación. El llamado enfoque procedimental consiste en descomponer un problema en subproblemas hasta identificar y codificar procedimientos para resolverlos. Esta estrategia está plagada de grandes defectos, ya que basta un pequeño cambio para que todo lo demás se vuelva inestable. El enfoque funcional no está muy extendido; se inspira en las funciones matemáticas. Es muy útil para manipular y analizar grandes cantidades de datos (megadatos).
La programación orientada a objetos es un método desarrollado en los años 60 y 70 que parece más sencillo en su funcionamiento. Tiene su propio vocabulario, pero es accesible incluso a los programadores noveles porque puede enseñarse en pseudocódigo. El principio es crear clases de elementos con propiedades y métodos (funcionalidades) que serán gestionados por constructores. Los componentes de una clase pueden compartir características similares; es lo que se conoce como herencia. Cuando un método tiene el mismo nombre pero diferentes implementaciones, se habla de polimorfismo.
Cada objeto encapsula su estado interno en el código. Por ejemplo, un coche en programación orientada a objetos tendría en su cápsula su nivel de combustible, si el motor está encendido, etc. Esto le permite reaccionar a las manipulaciones del usuario. Esto le permite reaccionar a las acciones del usuario de una aplicación sin tener necesariamente que programarlo todo. Retomemos la analogía del coche en el contexto de una aplicación móvil de juegos. Una vez encapsulado el estado, si el usuario intenta arrancar un coche sin gasolina, sencillamente no funcionará.
¿Un lenguaje perfecto para un mundo de inteligencia artificial?
De hecho, esa es la belleza de la programación orientada a objetos: la abstracción. La idea es simplificar los conceptos de alto nivel ocultando los detalles tediosos en el código, haciéndolo más legible. Esto se vio facilitado, entre otras cosas, por el uso frecuente (aunque no exclusivo) del lenguaje Pascal, creado a finales de los años 60 por el informático suizo Niklaus Wirth , fallecido en enero de 2024. Este lenguaje se diseñó expresamente para enseñar código a los estudiantes que se iniciaban en la programación. No fue diseñado para la programación orientada a objetos como tal, pero las versiones más modernas tienen en cuenta la herencia y las clases.
Como resultado, su sencillez de planteamiento lo convierte en un excelente punto de entrada para enseñar código una vez que se dominan los fundamentos. Y con la llegada de la inteligencia artificial, la programación orientada a objetos está demostrando ser una ventaja a la hora de crear nuevos algoritmos. Adoptando este enfoque, los creadores de IA podrán entender más fácilmente cómo funcionan sus algoritmos, lo que ofrece un mayor margen para modificar o mejorar el código.
Imagen: Pexels de Pixabay
Referencias:
Ahmad, Arslan. "Guía para principiantes de la programación orientada a objetos (POO)". Design Gurus. Última actualización: 23 de abril de 2023. https://www.designgurus.io/blog/object-oriented-programming-oop.
Kandamplayil, Rahil. "¿Para qué sirve el lenguaje de programación Pascal?". YUHIRO Global. Última actualización: 9 de mayo de 2024. https://www.yuhiro-global.com/fr/a-quoi-sert-le-langage-de-programmation-pascal/.
Krajnc, Antoine. "Programación orientada a objetos: definición, lenguajes, casos de uso". Jedha Bootcamp. última actualización : 11 de septiembre de 2024. https://www.jedha.co/formation-python/programmation-orientee-objet.
"Programación Orientada a Objetos: Conceptos Avanzados". Formations Python En Français. Consultado el 15 de septiembre de 2024. https://www.docstring.fr/formations/loriente-objet-concepts-avances/.
"Niklaus Wirth, creador del lenguaje de programación Pascal y ganador del premio Turing, el equivalente al Nobel de informática, ya no está". Developpez.com. última actualización : 4 de enero 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/.
"Programación orientada a objetos (POO)". Bob The Developer. Consultado el 15 de septiembre de 2024. https://www.bob-le-developpeur.com/notions/programmation-orientee-objet-poo.
"Programación Orientada a Objetos". MDN Web Docs. Consultado el 15 de septiembre de 2024. https://developer.mozilla.org/fr/docs/Learn/JavaScript/Objects/Object-oriented_programming.
"¿Qué es la programación orientada a objetos (POO)?". Guía Digital IONOS. Última actualización : 6 de octubre de 2023. https://www.ionos.fr/digitalguide/sites-internet/developpement-web/oop-programmation-orientee-objet/.
Siddiqui, Moiz A. "El futuro de la programación orientada a objetos en la inteligencia artificial y el aprendizaje automático". Medium. Última actualización: 18 de mayo de 2024. https://medium.com/@moizas/the-future-of-oop-in-ai-and-machine-learning-85c655cddd4a.
Ver más artículos de este autor