RPG de formato libreRPG de formato libre

El RPG de formato libre se presentó alrededor del 2001. No era una implementación completa ni parecía muy estructurada, de hecho, fue recién en 2012 que aparecieron las declaración en formato libre y no fue hasta 2015 que pudimos decir «por fin la libertad total ha llegado» y podíamos especificar cuántas columnas de ancho debía tener una determinada línea RPG.

Aún así, parece que no hay mucho entusiasmo en la comunidad por pasarse al formato libre. Y pese a la falta aparente de interés creo que hay sobradas razones para comenzar a codificar en Free format RPG.

Vamos a verlas.

La indentación hace al código más legible.

Sin tener una gramática estructurada, el hecho de poder escribir la lógica en formato libre nos permite indentar las líneas para hacer más visible la lógica escondida en el código.

Esto hace que los bloques con una lógica determinada se puedan ver aislados a simple vista, por ejemplo, bloques IF anidados, bloques SELECT/WHEN, etc.

A esta altura, de verdad, ¿es necesario explicar porqué es importante que el código sea más legible? Vale, lo hago: si lo leo fácil, aumentan las posibilidades de entenderlo fácilmente y, si lo entiendo, puedo hacer cambios con mayor rapidez, identificar los errores o evitar que se produzcan.

Obviamente la indentación no es obligatoria y puedo hacerla mal y, lo acepto, una indentación mal colocada produce errores en sí misma.

Pero solucionar problemas de indentación puede hacerse de forma automática, por ejemplo RDi ya provee la característica para formatear y reformatear con espacios en blanco pre cargados en las preferencias

El espacio puede usarse con mayor eficiencia

Es común que (en funciones incorporadas, por ejemplo) la escritura queda bastante larga ocupando múltiples líneas.

Esto produce un efecto de desbalance, quiero decir, un lado izquierdo muy vacío en comparación con un lado derecho con muchas declaraciones de varios renglones.

En formato libre, nuestra vista puede abarcar más lógica de un solo vistazo.

Este tipo de afirmaciones es más cierta cuando se definen variables con un nombre que no cabe en la columna D de 14 caracteres (por supuesto que se pueden usar los 3 puntos, pero es parte del efecto de desperdicio de espacio y desbalance al que hacía referencia)

Además, al utilizar declaraciones de formato libre no nos sentiremos limitados y tenderemos a crear nombres más largos y significativos para procedimientos y variables.

Quiero decir, pensaremos menos en cómo evitar los 3 puntos y no utilizaremos nombres criptográficos que nada nos decían del contenido.

Ampliación del lenguaje

Dado que el límite propio de un lenguaje orientado a columnas como el RPG ha desaparecido, ahora es posible que nuevas funciones del sistema estén disponibles sin la restricción.

Por ejemplo, aparecen 2 formas de reemplazar KLIST para especificar claves en CHAIN o STELL (solo en formato libre).

También hay una función incorporada %KDS que es mucho más flexible que KLIST.

También aparece el uso de la función %Fields para especificar un subset de campos para una operación UPDATE que, por supuesto, es más simple que utilizar O con el EXCEPT.

Declaraciones F más fáciles

Todos hemos usado el atajo de copiar una especificación F de otro lugar para evitar tener que averiguar qué columnas debíamos completar o con qué letras. Por supuesto que si no se hacía con cuidado, acarreaba depuraciones y verificaciones de no haber copiado una característica innecesaria o viceversa.

Actualmente se nos provee de herramientas que nos permiten definir especificaciones fácilmente.

Además, dado que las declaraciones de archivos y datos ahora pueden mezclarse (es decir, no es necesario definir primero todos los archivos), también se hace más fácil identificar las declaraciones de datos que se relacionan con las declaraciones de archivos porque pueden aparecer juntas en el código: la DS que se utiliza para READ o CHAIN, por ejemplo, o la definición de la INFDS para el archivo.

Atraer sangre nueva a RPG

El formato libre aparece como una puesta al día del RPG. Lo pone en la misma línea que otros lenguajes de programación más modernos que, no hace falta decirlo, son todos de formato libre.

Y esto no deja de ser un punto a favor para atraer nuevos programadores a la comunidad RPG.

Una vez que los nuevos programadores conocen al RPG lo reconocen como un lenguaje potente y flexible y muchos lo llegan a preferir frente a otras opciones de lenguaje más populares para las aplicaciones empresariales.

Pero vamos por pasos. Uno a la vez. Primero debemos atraerlos para que lo aprendan. Además, se comprueba una y otra vez que, una vez que se convencen de las ventajas de un lenguaje como RPG, ya no tienen ningún problema en, incluso, trabajar con el antiguo código de formato fijo.

Pero damos por descartado que si la primera aproximación hubiera sido al RPG de toda la vida, la mayoría nunca se hubiera tomado el trabajo de aprenderlo.

Si como desarrolladores en RPG pensamos que la sangre nueva es contraproducente y amenaza mi coto de caza, también se puede pensar que la existencia de nuevos programadores mermará la fiebre de migrar hacia otros entornos por miedo a la falta, justamente, de nuevos desarrolladores.

En otras palabras, no atraer a sangre fresca al RPG es, probablemente, una mayor amenaza para tu trabajo.

Claro que siempre hay objeciones

Obviamente que no creo que esta breve lista de razones para pasarse a la codificación en formato libre sea exhaustiva ni suficiente.

Y siempre aparecen objeciones de peso que actúan nivelando la balanza.

SEU deja de funcionar, suele ser la más común. Es cierto, pero ¿Cúal es el motivo por el que todavía no está trabajando con RDi? Las ventajas de hacerlo fueron más que enumeradas en todos estos años. Además SEU, simplemente, acabará muriendo más tarde o más temprano.

Frente a la objeción de que hay mucho código por convertir… está claro que no propongo que conviertas el código existente. Ni siquiera propongo que inviertas tiempo en evaluar costos de dicha conversión.

Aún con herramientas como RDi, donde tienes la opción de convertir la lógica a formato libre sin tocar especificaciones H, F, D o P, no recomiendo que inviertas esfuerzos en esa tarea.

También puedes probar otras herramientas como el RPG Toolbox de Linoma Software o el Transformer RPG de Arcad Software, dentro del espectro de herramientas o plugins de pago.

Para finalizar, no puedo dejar de nombrar el conjunto de herramientas de código abierto que requieren un trabajo manual extra, pero que, siendo gratis, siempre son una opción a considerar.

Y un último mantra: prueba el «Free form RPG», seguro que no te arrepentirás.

Conclusión

El lenguaje RPG de formato libre ofrece varias ventajas en comparación con el lenguaje RPG tradicional.

  1. Mayor facilidad de lectura: El lenguaje RPG de formato libre utiliza una sintaxis más sencilla y legible que el lenguaje RPG tradicional. Esto hace que sea más fácil para los programadores leer y entender el código, lo que a su vez puede reducir el tiempo y el costo de mantenimiento de las aplicaciones.
  2. Flexibilidad: El lenguaje RPG de formato libre ofrece una mayor flexibilidad en la forma en que se estructura el código. Esto permite a los programadores escribir código de una manera que se adapte mejor a sus necesidades, lo que puede mejorar la eficiencia y la calidad del código.
  3. Facilidad de integración: El lenguaje RPG de formato libre es más fácil de integrar con otros lenguajes de programación, lo que permite a los programadores utilizar diferentes herramientas y tecnologías para crear aplicaciones empresariales más avanzadas.
  4. Mejora de la productividad: Al reducir la complejidad del código y mejorar la legibilidad, el lenguaje RPG de formato libre puede ayudar a los programadores a trabajar de manera más eficiente y productiva.
  5. Fácil aprendizaje: El lenguaje RPG de formato libre es más fácil de aprender que el lenguaje RPG tradicional, lo que permite a los nuevos programadores adquirir rápidamente las habilidades necesarias para desarrollar aplicaciones empresariales.

En otras palabras: puede contribuir a un proceso de desarrollo más eficiente y a la creación de aplicaciones empresariales más avanzadas y de mayor calidad.

F.A.Q.

¿Cuáles son las ventajas de utilizar el lenguaje RPG de formato libre en lugar del lenguaje RPG tradicional?

El lenguaje RPG de formato libre ofrece una sintaxis más sencilla y legible, mayor flexibilidad, fácil integración con otros lenguajes de programación, mejora la productividad y es más fácil de aprender.

¿Qué diferencias existen entre el lenguaje RPG de formato libre y el lenguaje RPG tradicional?

El lenguaje RPG de formato libre tiene una sintaxis más sencilla y legible, permite una mayor flexibilidad en la estructuración del código, es más fácil de integrar con otros lenguajes de programación y es más fácil de aprender.

¿Es fácil de aprender el lenguaje RPG de formato libre?

Sí, el lenguaje RPG de formato libre es más fácil de aprender que el lenguaje RPG tradicional debido a su sintaxis más sencilla y legible.

¿Puede el lenguaje RPG de formato libre mejorar la productividad de los programadores?

Sí, al reducir la complejidad del código y mejorar la legibilidad, el lenguaje RPG de formato libre puede mejorar la productividad de los programadores.

¿Cómo puede el lenguaje RPG de formato libre contribuir a la creación de aplicaciones empresariales más avanzadas?

El lenguaje RPG de formato libre permite una mayor flexibilidad en la estructuración del código y es más fácil de integrar con otros lenguajes de programación, lo que puede ayudar a los programadores a crear aplicaciones empresariales más avanzadas y de mayor calidad.

Foto de Escuela creado por pressfoto – www.freepik.es

Foto de Hombre creado por rawpixel.com – www.freepik.es

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *