Entradas

Mostrando las entradas de junio, 2009

Sugerencias de mejoras - Sintáxis GeneXus

Imagen
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

Betatesting GeneXus con Night Builds.

Imagen
He participado en varios ciclos de betatesting de GeneXus. No recuerdo bien en que version fue la primera en que tuvimos acceso a las versiones beta de GeneXus, y es bueno ver la evolución y apertura que ha tenido. En la ultima etapa de la X y con toda la Evolution I, hemos tenido disponibles los Night Build (NB), que son la versión bastante cruda de GeneXus, que se genera en forma automática en la noche, con lo programado durante el día, para poder nosotros probar con la misma. Los productos que tenemos para testear ahora son mas y ademas son mas complejos. Por ejemplo ahora se deben testear GeneXus, GXFlow, GeneXus Server y el SDK de GeneXus. Cosas malas de los NB. Al ser una versión sin demasiado test, puede ser inestable y cosas que funcionaban ayer, dejaban de funcionar al otro dia, o funcionaban diferente. El bajar, instalar y generar todo con el nuevo NB, lleva tiempo. Dificulta un poco el reporte/reproduccion de problemas, pues hay que especificar precisamente en que NB estoy

Un programa es un objeto y su circunstancia.

Imagen
¿Que es un programa dentro de una KB GeneXus?. No le encuentro una respuesta fácil. Un objeto puede verse afectado por su entorno, por otros objetos a los que hace referencia. Por ejemplo, los dominios, la forma en que están definidos los atributos, las tablas en que están dichos atributos, los programas a que llama o por cuales es llamado, las imágenes que maneja, las propiedades del modelo y un gran montón de etcéteras, hace que el funcionamiento de un programa pueda variar muchisimo. El mismo código GeneXus, puede realizar operaciones bien diferentes, por ejemplo: for each Att1, Att2 Msg(Att1 + Att2) endfor Si Att1 y Att2, estan en una misma tabla, leerá solo una tabla, pero puede hacer un join bien complejo si Att1 y Att2 están en dos tablas diferentes que puedan relacionarse correctamente. Y preguntarse que es un programa para puede ser útil?. El tema, tiene varias puntas. Por ejemplo si queremos hacer un control de versiones, se debería poder reconstruir un objeto a su versión

GeneXus X Evolution I

Imagen
En estos días, están por liberar la versión Release Candidate de GeneXus X Evolution I. Hice una prueba para medir los tiempos de generación/especificacióin/compilación con la versión X (Upgrade 4 Preview 10). Los tiempos fueron: Con la X U4, Preview 10. ---> Command: RebuildAll - Elapsed time: 00:00:00.1708539 ---> Command: BuildCommandWrapper - Elapsed time: 02:04:19.7744776 Con la X ev 1. NB 23617 ---> Command: RebuildAll - Elapsed time: 00:00:00.1662705 ---> Command: BuildCommandWrapper - Elapsed time: 00:21:41.2792815 Resumiendo, lo que demoraba más de dos horas, paso a demorar poco más de 20 minutos. La diferencia es notoria y la posibilidad de generar y especificar en paralelo utilizando los múltiples cores de los procesadores actuales hace la gran diferencia. La compilación (en este caso en Java), también es mucho más rapida.

Nueva funcionalidad de Google Books

Ahora se puede incrustar codigo en blogs y sitios web, para poder pre-visualizar libros de Google Books. Hoy cuanto referencia un libro pongo links a Amazon para poder ver detalles y comprar el libro, pero con esta opcion se puede leer bastante del libro sin salir del sitio.

How technology changed us

Imagen
via

Aprendiendo a usar el mouse con la zurda

Imagen
Me lastimé el dedo gordo de la derecha y tengo para 15 días. Lo peor es el uso del mouse por lo que estoy intentando usarlo con la izquierda. Ya veremos como me va..

Estado=Empresa con capacidades diferentes

Imagen
Ante la ausencia de quienes realizan las tarea en forma habitual, el viernes me tocó colaborar con algunas tareas administrativas frente a un organismo del estado. Es un cliente al cual le facturamos todos los meses, un contrato de mantenimiento. Llamaron para pedir una nota de crédito, por un monto de $U 2.44 ( dos pesos uruguayos mas iva, o el equivalente a 0,1 U$S dolares americanos). Solo el ingreso de la nota de credito al sistema, su archivo, el traslado de la misma y el tiempo perdido por no cobrar, implican un gasto mucho mayor que dicho importe. Entiendo que dicha diferencia pueda existir y que sea necesario hacer un ajuste, pero como es un institución a la cual le cobramos todos los meses, creo que hubiese sido bastante mas práctico descontar ese (abultado) importe de la proxima factura, como seria lo normal en cualquier otra empresa.