Primera prueba de GeneXus Next

 


La primera prueba de GeneXus Next me gustó mucho, para ser una primerísima versión. Tiene mucho potencial que deberá verse en futuras versiones. 

Cómo otras herramientas orientadas a interfaz por un chat, nos presenta un prompt donde podemos escribir unas  pocas palabras. La idea ahí es describir que es el sistema que quiero realizar, y de ahí infiere cuales serán las principales entidades que va a tener el backend para dicho sistema. 

Lo probe en español y en inglés y no noté diferencias sustanciales, aunque lo que genera siempre está en ingles. 

Por ejemplo, si escribo en el prompt:

"Manejo de Seguridad, con usuarios, roles y permisos. Autenticar y Autorizar los diferentes Objetos de la aplicación"

Me plantea las siguientes entidades:

Based on your business description, the following 4 entities were identified:

  1. Object: Resources that users can access
  2. Permission: Actions that users can perform
  3. Role: Permissions assigned to each user
  4. User: People who use the application

y luego de unos 5 minutos


Genera las tablas en una base de datos, le carga datos de prueba  , y publica una API para acceso a dichas tablas (altas bajas y modificaciones). 


También genera programas con el Pattern WW+ sobre todas las tablas que necesita, donde se pueden hacer altas / bajas / modificaciones y consultas sobre las tablas definidas y queda una aplicación para probar en un ambiente en la nube. 



Haber podido generar todo esto, solo con una descripción de lo que quiero es maravilloso.  

Automatiza una cantidad de tareas (diseñar las entidades, crear la base de datos, cargar datos de prueba, aplicar patrones, generar la API, hacer el deploy al ambiente de test y varias mas) bajando muchísimo la fricción que existe para hacer prototipos para mostrar aplicaciones.  Si además pienso que no se ingreso ni una linea de codigo para todo esto, es mejor aun. 

Aun no es útil mas que para mostrar su potencial, pero el ritmo de avance en los temas es impresionante y no dudo que en poco tiempo tengamos algo que pueda usarse. 

El desafío de traducir desde el ambiente de los usuarios, donde nada necesita gran precisión al ambiente de los sistemas,donde se necesita que todo este precisamente definido este tipo de herramientas pueden ser de mucha ayuda.  El trabajo de los programadores será el de validar si lo que los usuarios están tratando de explicar, es un modelo útil de la realidad. 

Por ejemplo, en el ejemplo de la seguridad, si bien las entidades son correctas, la relación entre las mismas no son las que a mi me hubiese gustado:

  • Cada Object, tiene un solo User. 
  • Cadar Permission tien un solo Role
  • No hay relación entre User y Role.
En próximas iteraciones de GeneXus Next se van a poder modificar estas cosas (estructura de las entidades, relaciones entre entidades, etc). Además el resultado de esto va a poder ser modificado con Genexus directamente por un programador. 

Como todo sistema que aprende, va a poder dar soluciones tan buena como con los datos que fue entrenado, por lo que es importante que sea alimentado con un buen repositorio de dominios y entidades que estén bien definidas, de forma que pueda replicar buenos ejemplos. 

La inteligencia artificial tiene mucho que aportar para mejorar la productividad de los programadores GeneXus. 

Comentarios

  1. Nos estamos cavando nuestra propia tumba jaja

    ResponderBorrar
    Respuestas
    1. Creo que vamos a ser mas competitivos y mas productivos.
      Si la demanda de sistemas, sigue en aumento como hasta ahora, no nos van a sacar el trabajo por unos cuantos años. Tal vez baje un poco los altos sueldos que hoy estamos cobrando.

      Borrar
  2. "Cada Object, tiene un solo User.
    Cadar Permission tien un solo Role
    No hay relación entre User y Role."

    Y le llaman inteligencia artificial?
    Entiendo... es artificial la inteligencia, no es real.... ahora si........

    ResponderBorrar
    Respuestas
    1. Es un modelo de datos válido, aunque incorrecto para lo que yo quiero modelar.
      Aun no se tiene una forma de decirle que relaciones se quiere entre las distintas entidades, pero creo que esta cantado para la primera iteración de este producto.
      Aun si dejara el modelo incorrecto como lo hace en esta primera prueba, ya ahorraria bastante trabajo con respecto a lo que tenemos hoy, por lo que yo le veo valor.
      No dudo que en próximas versiones vamos a poder modelar mejor, a traves de aproximaciones sucesivas.

      Borrar
  3. Gracias Enrique por compartir tus experiencias con Next. Ya que se está en un "conversacional", y si le dices que lo que te generó es incorrecto y esperabas otra cosa en la relación de esas entidades. ¿Podrá darse cuenta y darte una mejor sugerencia?

    ResponderBorrar
  4. Si, eso ya lo hace hoy. Te da una solución diferente, aunque muchas veces igual de incorrecta.
    Tambien podes ayudarlo, redactando "mejor" lo que queres modelar y nombrando en forma explicita las entidades, con lo cual va mejorando cuales son las entidades que vos queres.

    ResponderBorrar
    Respuestas
    1. Exacto, yo supongo que a medida que más lo usas, más experto en "prompt" uno se vuelve, esto mismo sucede con otras herramientas similares.
      Si está bueno eso, de alguna forma de ir documentando los "prompt" o la forma de expresar lo que se desea que de mejores resultados, tratando de dejar menos espacio a ambigüedades o errores. Supongo que cuanto uno más declara lo que quiere y lo que no quiere, se tendrá en consideración en el resultado.

      Borrar
    2. Hay varios temas entreverados.
      Por un lado, la herramienta tiene que se entrenada con buenos modelos de datos (por ahora dominios, entidades, etc) Tienen que ser muchos y de buena calidad. Dicen que vamos a poder darle nuestros propios modelos de datos para enriquecer el modelo.

      No se bien, cuanto puede aprender de otros integrantes de la comunidad que esten trabajando, porque no creo que hoy tenga feedback automático. Tampoco creo que aprenda de lo que yo le estoy diciendo, simplemente permite ajustar el prompt para mejorar la salida, pero no tiene aprendizaje en esa etapa, como bien decis vos en tu comentario.

      Se vienen tiempos divertidos.

      Borrar
  5. Gracia enrique, dos consultas: Sabes cuando será lanzado oficialmente y será una licencia independiente o será free?

    ResponderBorrar
    Respuestas
    1. No se responder ninguna de esas 2 preguntas.
      Si fuera a apostar, diria que van a liberar "algo" co AI en el evento Genexus de este año y que no tendra licencia independiente, pero son solo especulaciones (o deseos) mias.

      Borrar

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

Aplicación monolítica o distribuida?

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

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