LowCode - Es mas importante poder entender programas, que escribir poco código.


 LowCode es una tendencia actual en el desarrollo de aplicaciones. 

No es una tendencia nueva, pero es una buena categoría para agrupar herramientas y lenguajes que comparten características comunes. 

Lo que me causa un poco de ruido, es que se ponga el foco en el código y en que el mismo sea poco, cuando creo que el foco debería ser diferente. 

En vez de hablar de código, deberíamos hablar de PROGRAMAS y los programas pueden ser muchas cosas mas que código. Cualquier cosas que pueda crearse y ejecutarse debería ser considerado como cosas que deberíamos programar en los próximos años.  Pensemos en diagramas, audio con instrucciones, instrucciones biológicas tipo ADN/ARN y la metodología CRISP. No seria raro que aparezcan nuevas formas de programar con las computadoras cuánticas y otros modelos. 

El codigo es solo una representación de los programas y es la mejor que tenemos en el momento, pero es bueno tener claro que no es la única y posiblemente en el futuro no sea la mas usada. 

Por otro lado, se enfatiza el que el código sea POCO, y esto no siempre es una opción. Si hay que hacer un sistema grande, la cantidad de código que va a necesitarse, va a ser grande. Puede ser que ese código se genere en forma automático o que ya este escrito en alguna biblioteca y se pueda reutilizar en su mayoria, pero en algun lugar tienen que estar escritas esas instrucciones. 

Considero que es mucho mas importante que el comportamiento del sistema sea fácil de entender, que la cantidad de código que se tenga. En general, tener menos código, facilita su entendimiento, pero no siempre es así. Hay lenguaje donde se escribe poco código, pero es muy difícil de entender, y otros que si bien se escribe mas, se entiende mas rapido. 

Pasamos mucho mas tiempo entendiendo que hace un programa o sistema, que escribiendo nuevo código, por lo que si las herramientas hacen mas fácil entender programas, toda la industria tendrá mejor productividad. 

Es mas importante ENTENDER que ESCRIBIR. Tenemos que pensar y exigir formas mas amigables de entender los programas y luego que estos programas se traduzcan a código ejecutable (que pueda ser poco o no) 

La tecnología avanza y permite hacer sistemas grandes y complejos cada vez mas rapido. Lamentablemente, la capacidad de entenderlos no avanza a esa velocidad, sino que va mas lento. Un ejemplo claro son los sistemas que incorporan inteligencia artificial, donde muchas veces quien lo desarrolló no termina de entender las decisiones que toma el sistema. 

Debemos hacer un esfuerzo, para hacer nuestros sistemas mas fáciles de entender. Esto debería ser una prioridad para todos los que nos dedicamos al desarrollo de aplicaciones, de quienes hacen herramientas para el desarrollo, de quienes escriben código, quienes hacen la arquitectura de la aplicación, quienes lo documentan, quienes prueban, etc.  Creo que hemos hecho avances importantes en hacer los sistemas un poco mas fáciles de usar (con diferentes niveles de éxito).  Si logramos sistemas que sean mas fáciles de entender, vamos a poder cambiar mas rapido, minimizar errores y brindar mas valor a nuestros usuarios.


Comentarios

  1. Me encanto la reflexion. Gracias por compartirla!

    ResponderBorrar
  2. Gracias Enrique 100% de acuerdo.

    Sumando un poquito a lo que escribes. Diria, que ser un buen compañero, es INTENTAR escribir codigo que mis compañeros puedan entender.

    Saludos,
    gab
    Rio Cuarto, Argentina.

    ResponderBorrar
  3. Cuando la solución es simple, es una solución brillante.
    Enrique deseo comunicarme contigo privadamente.
    Espero no incurrir en falta al publicar aquí mis datos para contacto.
    Horacio Sampo.
    sampohoracio@gmail.com
    h_sampo@hotmail.com
    3571578900
    Río Tercero - Córdova.
    Muchas Gracias.

    ResponderBorrar

Publicar un comentario

1) Lee el post
2) Poné tu opinión sobre el mismo.
Todos los comentarios serán leidos y la mayoría son publicados.

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.