Algunas cosas que me enojan de GeneXus.


Cuando programo con GeneXus hay algunas cosas que me hacen sacar canas verdes. *

1) Punto y coma al final de las reglas.
Muchos objetos que solo tienen una rule parm() y de cualquier forma me pide que ponga un ";" al final. Siempre, siempre, siempre me olvido de ponerlo y creo que a esta altura, podríamos lograr separar los renglones de otra forma.

Cuando me olvido de poner el ; me sale el mensaje

error: Missed ';' at the end of the rule. (Rules, Line: 8, Char: 1)

Si GeneXus sabe que falta un ; al final de la linea 8, no puede agregarlo en forma automática?

2) where Att = &Var when not &Var.IsEmpty()
Me gustaria poder escribir esto en menos letras, pues es muy comun.
Algo asi como

Att ~= &Var o WhereEqual(Att,&Var) que significa lo mismo que lo anterior.

3) Not &Attribute.IsEmpty()
Las dobles negaciones siempre me complican la logica. Me gustaria mas un &Att.NotEmpty()

4) &FechaInicial <= Fecha AND Fecha <= &FechaFinal
Me gustaría mucho mas escribir

Fecha BETWEEN &FechaInicial and &FechaFinal

como en SQL.

5) &Control.Visible = 1
No me gusta escribirlo asi, pero no encuentro otra mejor.

Se les ocurre alguna mas?


* Las canas verdes en mi abundante cabellera no son un problema demasiado grave.


Comentarios

  1. 1) amen, si lo logras te compro una bolsa de 5 kilos de mani

    ResponderEliminar
  2. Enrique,
    Ojala me sacaran canas verdes, así tendría algo que peinarme !!

    Hablando (escribiendo), en serio estoy totalmente de acuerdo, especialmente con los puntos 3 y 4.

    De todos modos, no son mis problemas mas graves con Gx.
    Lo que mas me molesta es la ventana de output (que esta bien), pero me gustaría algo mas practico y no tener que mirarla de punta a punta para ver si hay algo raro.

    ResponderEliminar
  3. Sim Henrique,
    Acho que teriamos algumas coisas pra melhorar no Gx. Segue algumas ideias:
    http://profdouglasoliveira.blogspot.com/2010/12/genexus-dos-sonhos.html
    ab
    Douglas

    ResponderEliminar
  4. El editor de web form es lo que mas molesta, me parece muy rudimentario.

    ResponderEliminar
  5. Ricardo: Con respecto a la ventana de Output, estaoy haciendo una extension para poder trabajar sin tener que mirar tanto el output, que a mi tambien me molesta y me resulta bastante primitivo.

    La idea es usar las categorias para clasificar los objetos en forma automatica en Objetos con warning, Objetos con Errores, Objetos Main con Errores de compilacion.

    Despues de especificar y compilar los objetos se pondran en dichas categorias cuando corresponda.

    Veremos si logro algo usable.

    Gracias por el comentario.

    ResponderEliminar
  6. Douglas:
    Muy buenas tus ideas y tenemos en comun algunas.

    Hay que seguir planteando estas mejoras, para que tengan mas prosibilidades de ser implementadas.

    Gracias por el comentario

    ResponderEliminar
  7. Al esditor de Tema si que le falta mucho!! pero bueno esperemos que algun díaaa

    ResponderEliminar
  8. Creo que en GeneXus Evolution 1 ya hay varias mejoras recuerdo cuando solo las reglas se pintaban y el source de los procedimientos erán blanco y negro.Eso me molestaba mucho.

    También un problema era las ventanas en GeneXus X que estaban en un esquina, también eso lo mejorarón.

    Es cierto siempre para que queden bonito un Webpanel hay que editarle el HTML por que con el editor de Webpanel.

    Bueno pero el IDE de la Evolution esta lindo, compararlo con el de la 7.O XD

    ResponderEliminar
  9. comparto todas, agrego

    variable.settrue() attribute.setfalse()

    ResponderEliminar
  10. Esas pequeñeses no deberian enojar, es una herramienta muy inestable, surgen errores que no sabes de donde salen y no te dan ni indicios. Nos llevamos un clavo gigante al comprarla

    ResponderEliminar
  11. Anónimo, lamento tu experiencia con GeneXus.
    Es cierto que tiene algunas inestabilidades, pero si logras convivir con ellas, se obtiene muy buena productividad.

    ResponderEliminar
  12. Mi problema ahorita es la lentitud con que se maneja la aplicacion con internet inalambrica.. mas en llenado de combos y en dar respuesta a los botones. en Genexus ev 1 con NET. Me urge..

    ResponderEliminar
    Respuestas
    1. Primero, revisaria el tuning en la base de datos.
      Siempre empiezo a revisar la base de datos, y las sentencias lentas, cuando una aplicacion estaba funcionando rapido y con el paso del tiempo, se pone lenta.

      Eliminar
  13. buen dia desde Mendoza Argentina, creo que Genexus es una gran herramienta, pero tambien puede ser el gran enemigo a la hora de poner en produccion aplicaciones de muy alto nivel y exigencia, en tiempo de diseño tiene comportamientos que pueden hacer fracasar la labor del programador a tal punto que este pueda perder el trabajo, la version X Ev2 tiene aun mas problemas que la Ev1, he visto que se ha tenido que llegar a reescibir una trn con otro nombre ya que Gx dejo, vaya a saber donde, guardado un error, que tal no existe mas y no hubo manera de sacarlo de "su memoria", fue muy grave ya que dicha trn era muy importante en un sistema y esto tuvo un costo altisimo de tiempos
    los reportes de error solo quien hizo Genexus los entiende, podemos pasar horas en descubrir de donde viene dicho error y hasta a veces jamas llegar a encontrar el verdadero origen y tener que tomar otras maneras de encarar una solucion
    el pattern original que viene con Gx no funciona, hace lo que el quiere, solo si compras el Work With Plus, te salvas, de lo contrario, olvidate, el pattern no actua segun vos lo configuras, terminas haciendo todo "a mano"

    ResponderEliminar
  14. Utilice Genexus 9.0 con .net. Nos dio muchos dolores de cabeza. Por lo que decidimos ir a Java. Debido a que la aplicación que mantenemos era grande no podíamos desecharla, así que decidimos continuar con la 9. Cuando salió la versión X, EVo1 y EVo2 Indagamos con aquellos que vivian de GENExus. Uno de los proveedores que decía mil cosas buenas de la versión 9.0 ahora maldice la EVo1, por lo que no sabemos si continuar con ella o no ya que se comenta que da muchos problemas, lo difícil lo hace fácil, lo fácil lo hace difícil y lo que ya estaba lo descompone.

    Alguien me puede comentar sobre la EVo2. PUede pasar los detalles del punto y coma, de los colores, del código reducido pero realmente si es inestable, eso si es grave y luego con el precio que cuesta.

    ResponderEliminar
    Respuestas
    1. L@lo:
      En aplicaciones grandes, aparecen problemas. Tuvimos problemas en la 9.0 y los pudimos resolver y tambien tuvimos problemas en al Ev1 y Ev2 los pudimos solucionar. En nuestro caso, los probblemas mas graves han sido:
      * sentencias lentas en la base de datos, los considero un error de programacion, se arregla cambiando la forma de acceder a los datos, o restringiendo mas los filtros, etc.
      * Problemas de bloqueos en la base de datos. Se arreglan revisando los bloqueos y evitandolos, cambiando for each que hace actualizaciones grandes, por for each solo con read y actualizacion por procedures.
      * Problemas de estetica. Algunas pantallas quedan feas y hay que ajustarlas para que se vean mas bonitas. En la Ev2, generamos HTML5, por lo que en los navegadores nuevos logramos una estetica mejor, aunque nada deslumbrante, porque no es nuestro fuerte.

      Tengo 3 migraciones de la 9.0 a la X (ev1 y ev2) y recomiendo la migración. Da trabajo, pero la ventajas del entorno de desarrollo son notorias y las aplicaciones generadas son mas seguras.

      Eliminar
    2. Gracias por tus comentarios Enrique.

      la migración de 9 a ev2 como la realizaste, exportando objetos o abriendo directamente la kb desde Genexus?. Saludos ojalá y me contaras tu experiencia de 9 a ev2.

      Saludos

      Eliminar
    3. Lalo, podes ver como se hicieron las migracion en http://ealmeida.blogspot.com/2012/04/migrando-genexus-x.html
      Tambien di una charla en el XXi Encuentor Genexus (http://ealmeida.blogspot.com/2012/10/migrando-grandes-kb.html)

      Eliminar
  15. Hay algo que en verdad me resulta muy molesto de genexus y es sus dataviews, cuando las tablas no tienen llave primaria, el comportamiento de genexus es muy lento.
















    ResponderEliminar
    Respuestas
    1. Mac:
      Sinceramente no creo que esto tenga nada que ver con Genexus, sino con los indices del Data View.
      Creandole los indices necesarios, la performance deberia ser buena.
      Deberias analizar la sentencia y optimizarla de forma que sea rapido cambiando los indices.

      Eliminar
  16. Me molesta mucho
    -No poder definir la arquitectura de mi aplicación.
    -No poder modificar el código que genera Genexus.
    -Cuando da una referencia a Objeto nulo, esto es de lo peor que me pueda pasar.
    -Cuando tengo que crear código HTML en un Web Panel a través de un textBlock.
    -Compilar y que no coja los cambios realizados.
    -Que los atributos dentro de una formula modifique la navegación de un for each.
    -Un BC no me carga las formulas que tienen atributos inferidos.
    -No poder enviar datos por el Posta un objeto interno.
    -Que los campos obligatorios no pongan un asterisco o algo que los identifique como obligatorios.
    Hay muchas cosas más, pero sobre todo tener que usarlo, respeto a quien le guste pero yo lo odio, llevo cerca de un año trabajando con Genexus y es de lo peorcito que he visto, he tenido experiencia con Drupal, Symfony, PHP puro para la Web y C++ con Qt, C#, Python para la desktop y la verdad que Genexus no lo veo para hacer cosas serias y que sirvan, tal vez sea ignorancia mía o falta de experiencia.

    ResponderEliminar
  17. Como me encantaria un attboolean.istrue y un attboolean.setTrue

    ResponderEliminar
  18. A esta altura, los mensajes de la regla error deberían salir automáticamente en un Pop-up.

    Saludos a todos!!

    ResponderEliminar

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

El Sordo

StackOverflow Documentation

Codigo simple