Sugerencias de mejoras - Sintáxis GeneXus

GeneXus no es un lenguaje de programación en sentido estricto, sino un conjunto de lenguajes diferentes.

Hay una parte declarativa, otra procedimental (*), otro para diseño de formularios y otras mas como propiedades que afectan la forma en que se comporta el modelo.

Gastón escribio hace unos dias que estaban viendo algunos cambios a la sintaxis de GeneXus y pedia algunas sugerencias.

La que me gustaria cambiar mas es la parte de escribir la parte de procedimientos. Algunas no son solo de sintaxis, sino que agregan funcionalidades y algunas no son triviales.

between
En los lugares donde se pueden poner condiciones estaria bueno poder escribir

Fecha between &FechaInicial and &FechaFinal

Esto para mi dejaria el codigo mas compacto, mas legible y ademas todos los manejadores de base de datos soportados por GeneXus, tienen dicho operador.

El tener una sintáxis para el manejo de rangos, puede ayudar al manejo de rangos de fechas y vigencias, que es algo que debería encararse en el futuro cercano para agregar manejo temporal a las aplicaciones genexus.

distinct Att1, Att2

Hoy si bien el for each permite escribir el distinct, no hay forma de especificar la lista de campos por los que se quiere definir el distinct y como agrega los campos que estan en la condicion, muchas veces no sirve para lo que se esta queriendo resolver.

for each
distinct Att1, Att2
endfor

try/catch/finally
Ejecutar el bloque del try, capturando errores y excepciones en el bloque del catch y usando el bloque de finally para liberar los recursos que pudieran haber quedados bloqueados.

try
{ bloque 1}
catch
{ bloque 2}
finally
{ bloque 3}


assert
Tener metodos assert de forma de facilitar la programacion de casos de prueba con Genexus.

do rutina(parametros)
Poder tener subrutinas con parametros.

MOVE CORRESPONDING.
Poder copiar el contenido de un SDT a otro, aunque no tengan la misma estructura. Se copian los campos que tienen los mismos nombres y tipos. Hacer algo similar para poder salvar el contenido de un SDT registros de una base de datos.

Se que la parte de procedimientos no es la que tiene la prioridad ahora, pero creo que se podrian agregar algunas mejoras.

Comentarios

  1. Yo he publicado también algunas sugerencias de mejoras para la sintaxis de GeneXus...

    La lista se puede ver acá.

    Tengo alguna sugerencia más, que ya iré escribiendo en el blog...

    ResponderBorrar
  2. Están muy buenas las sugerencias de los 2, respecto a los SDT me gustó una sugerencia que vi hace un tiempo largo en el foro, era sobre poder tratar al SDT como una tabla y poder hacer cosas del estilo:

    For &item in &sdt
    Order &item.val1
    Where &item.val2 = 1
    // Codigo
    When None
    // Más código
    EndFor

    ResponderBorrar
  3. yo me conformo con que saquen el "punto y coma" de las reglas ...

    cada vez que me da el error me retrotrae a la facultad y mis primeras lineas de codigo en C

    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.