Programación “No-Code” o “Low-Code”
En los últimos tiempos se está hablando mucho de la programación “non-code” o “low-code”, además, y lo que es realmente importante, se está invirtiendo mucho dinero por parte de las grandes tecnológicas como Microsoft o Google en su desarrollo. Algunas consultoras predicen que en 2025 el 70% de las nuevas aplicaciones desarrolladas por las empresas utilizarán tecnología “low-code” o ”non code”.
La programación “tradicional”, en muchos de los lenguajes existentes, es una tarea ardua y monótona en la que hay que enseñar a una máquina “boba” lo que se pretende hacer desde el nivel básico. Ante esto, a los desarrolladores solo les queda o “pickear” código o usar código ya escrito por otros desarrolladores y adaptarlo a sus necesidades. El conocimiento de un lenguaje de programación es similar al aprendizaje de un idioma, y por tanto la programación es algo altamente especializado y complejo, especialmente en algún lenguaje concreto.
No puedo negar que el primer contacto con la programación “No-Code” o “Low-Code” lo tuve a través de la herramienta Scratch desarrollada por el MIT para el aprendizaje de la programación por parte de los niños…mis hijos. Scratch se basa en un conjunto de piezas, claramente jerarquizadas mediante forma y color, que por sí solas realizan automáticamente tareas “estándar” de la programación, de manera que lo único que tienes que hacer es darle los datos para gestionar. Y uniendo estas piezas logras ejecutar una tarea, un programa, sin escribir ni una línea de código. Este es el fundamento de la programación (non/low-code), con unas pequeñas nociones de lógica y mediante una interface gráfica cualquier persona puede crear un programa sin necesidad de saber programar. De esta forma, esa tarea diaria que lleva un montón de tiempo y que no aporta ningún valor añadido puede automatizarse por quien mejor la conoce, permitiendo centrar la atención en lo que realmente importa.
Y, aunque a lo mejor no nos hemos percatado, este tipo de programación ya forma parte de nuestro día a día… Dynamo en Revit con sus nodos y conectores es un claro ejemplo. De pronto, una persona sin conocimientos informáticos y tras una no muy intensa formación, es capaz de personalizar un programa hasta límites insospechados, creando un programa, no a medida de un sector o una empresa, sino a medida de la persona que trabaja con él adaptándolo a su manera de trabajar. Dynamo, explicándolo de una manera básica, nos permite usar etiquetas gráficas (nodos) que realizan cada uno una función determinada, y que mediante unos cables (conectores) organizamos el flujo de información. Los nodos son personalizables y existen amplias bibliotecas gratuitas en la web. Además, da la posibilidad de crear tus propios nodos mediante programación clásica usando Python, por ejemplo. Para quienes trabajamos con modelos BIM, en los que se combinan todos los intervinientes de una obra, es la herramienta casi perfecta para filtrar, gestionar y extraer la información que necesitamos de ese modelo.
En Inasus, la utilización de estas tecnologías nos ha permitido hacer frente a proyectos de gran envergadura tanto en tamaño como en complejidad. Mediante Dynamo hemos logrado filtrar y extraer información de los modelos BIM para su utilización en los programas de diseño 3D de cara a su fabricación. Sin estas herramientas sencillamente serían proyectos inabarcables.
Además, la combinación de la programación NoCode//LowCode con la IA en generación predictiva de código en función a las intenciones del programador es algo realmente prometedor a corto plazo…pero eso toca otro día.
Fran Ceinos, Coordinador 3-D de Inasus.