Liga de Campeones Abap
Para el formador de Abap Alexander Maetzing, "la orientación a objetos, especialmente en Abap, no es la única doctrina beatificante".
Para la solución de tareas sencillas, por ejemplo la selección, el procesamiento y la salida de datos, la formación de clases y el desarrollo de métodos estarían completamente sobredimensionados.
Incluso en el desarrollo de aplicaciones para dispositivos móviles, la programación Abap procedimental sigue desempeñando un papel importante. No en la programación front-end propiamente dicha, sino en la preparación y recuperación de datos en el back-end.
En general, sin embargo, las aplicaciones móviles y la programación orientada a objetos, o POO para abreviar, son inseparables, ya que no existen alternativas procedimentales conocidas para el desarrollo front-end. Con SAPUI5, SAP ha creado un diseño de interfaz que es tan funcional como visualmente atractivo y no tiene por qué esconderse detrás de los lenguajes y conceptos de interfaz establecidos.
La interacción de SAPUI5 y las funciones de backend de Abap crea las llamadas "aplicaciones Fiori". El doctor en física ve las grandes ventajas de la programación orientada a objetos en la consideración conjunta de datos y funciones (encapsulación), en la herencia y el polimorfismo.
"Estos tres grandes conceptos permiten abandonar caminos conocidos y procesar los datos de una forma nueva".
Los términos tomados de la genética describen la posibilidad de heredar la programación, derivando nuevas clases a partir de clases existentes y creando así descendientes que son una extensión de la clase padre.
En el proceso, los padres de la clase y sus hijos permanecen permanentemente conectados, como en la vida real. Se crea así una familia de clases cuyos métodos de comunicación tienen todos un "carácter" similar.
Estos métodos y funciones se denominan polimórficos y son, por tanto, "variantes genéticas de una población".
Conocer ambas enseñanzas
La decisión sobre si el polimorfismo, la herencia y la encapsulación de datos son los conceptos adecuados para diseñar un proyecto o para asignar de forma óptima un requisito debe decidirse caso por caso. En este contexto, desempeña un papel importante si ya se dispone de programación y de qué tipo.
"Para poder decidir si los objetos Abap o la programación Abap procedimental es el camino correcto a seguir, definitivamente necesitas conocer ambos lenguajes y ambas filosofías"
dice Maetzing. Esto plantea una pregunta:
"¿Dónde y cómo aprendo a programar en Abap Objects?".
Para el experto en Abap, la respuesta es obvia.
"Soy fan de la buena formación en el aula".
Especialmente en esta materia tan compleja y abstracta, es una ventaja inestimable poder responder a las preguntas individualmente, introducir distintos enfoques explicativos y hacer dibujos comprensibles. Las preguntas deben responderse cuando surjan para no dejar atrás al alumno.
Tampoco hay que subestimar el efecto de aprendizaje de las preguntas de otros participantes en la formación. Pero eso no es todo, explica el veterano formador de Abap. Para profundizar a largo plazo en los fundamentos aprendidos, la formación debe ir seguida de un proyecto en el que se programe utilizando enfoques orientados a objetos.
"La orientación a objetos sólo se aprende realmente en la práctica".
Sólo en este punto debería el recién llegado a Abap Objects recurrir a otros entornos de aprendizaje, como libros, comunidades o incluso Google, en busca de apoyo, aconseja el experto.
Estar abierto a la idea de OOP
En sus años como formador y consultor, Maetzing ya ha inspirado a innumerables desarrolladores de Abap con la orientación a objetos. Uno de ellos es Marc Bertelmann, G.I.B, que ya realizó un taller de Abap de varias semanas, incluida una sección especial de Abap Objects de cinco días, con Maetzing hace dos años.
"Al final del taller ya dominas la sintaxis y eres capaz de formar clases y objetos, pero el verdadero arte de la programación orientada a objetos reside en observar y analizar el problema en sí, reconocer patrones en el perfil de requisitos y abstraer la realidad."
Bertelmann también ve claras ventajas en la formación personal y desaconseja la lectura obstinada como introducción. OOP significa claramente un cambio de mentalidad, hay que abrirse a la idea. Maetzing sabe captar temáticamente a los participantes, inspirarlos y entusiasmarlos.
"La programación orientada a objetos es tan compleja como fascinante. Si establecemos una comparación con el fútbol, probablemente estaríamos en la Champions League en lo que respecta a la orientación a objetos."