texto:   A-   A+
eliax

Mis impresiones de GeneXus en XXGX, uno de los secretos mejores guardados en Software
eliax id: 8113 josé elías en oct 1, 2010 a las 12:04 AM ( 00:04 horas)
GeneXus de ArtecheliaxRecientemente tuve una experiencia muy bonita que quiero compartir con ustedes, y que de paso será de extremo interés no solo para todo desarrollador de software, sino que para toda mediana y grande empresa que quiera tomar control de sus sistemas de una manera radicalmente diferente a los métodos tradicionales...

Hace unas semanas me invitaron a dar una charla sobre La Singularidad y su futuro impacto en los Negocios en el XX Encuentro GeneXus (XXGX), en Montevideo, Uruguay, y fui sencillamente como orador y no como empresario, programador, bloguero o mercadólogo.

Simplemente fui a dar mi charla, la cual (muy atípico a mi) finalicé de preparar apenas horas antes del evento debido a mi agenda en esos días, y con la cual no me sentí muy a gusto (¡demasiado texto en pantalla!), pero al público pareció gustarle bastante, pues posterior a la charla me detenían en todos los pasillos del hotel para darme impresiones y hacerme preguntas.

Sin embargo, he aquí lo interesante: Fui al evento desconociendo al 100% el motivo de este, e incluso desconociendo la herramienta sobre la cual giraba el evento y de la cual les hablaré en un momento.

La experiencia fue como cuando uno va al cine a ver una película de la cual uno o no sabe absolutamente nada, o no tiene expectativas, pero que para el final se convierte en una de tus películas favoritas de toda la vida, y todo eso gracias a una herramienta llamada GeneXus de la empresa uruguaya Artech...

Sucede que en ese pequeño, encantador, educado y amistoso país, se ha creado (desde hace 20 años, cabe la pena decir), lo que en mi opinión es una de las herramientas más revolucionarias, visionarias y utilitarias en el sector empresarial que haya jamás visto (y créame cuando les digo que he visto muchas cosas asombrosas en mi vida).

Pero he aquí lo más extraordinario en mi caso: Nunca en mi vida había escuchado siquiera el nombre "GeneXus". Quizás porque el fuerte de la empresa parece ser la región local de SurAmérica, o quizás por provenir de un país latinoamericano y no de un Google o Microsoft. Sea como sea, cuando vi y entendí lo que era GeneXus, fue como cuando vi por primera vez el primer navegador web (Mosaic) en una terminal AIX de IBM en un laboratorio de Boston University en los EEUU: Se me erizaron los pelos y tuve una Epifanía.

La Epifanía en ese entonces (1993) fue "Esta será la futura plataforma para el software" (instalé mi primer servidor web y escribí mi primera página web ese mismo día, y desde entonces no he mirado hacia atrás), y la Epifanía esta vez fue "Este es el futuro del software empresarial multi-plataforma".

GeneXusPero, ¿Qué es GeneXus? En una oración, es una herramienta para automatizar todo aquello que es automatizable en una empresa, incluyendo la generación del mismo software sobre la cual esta opera.

La versión resumida es que es una herramienta que genera programas nativos para una gran variedad de plataformas, iniciando todas con lo que llaman un "KB" (Knowledge Base, o Base de Conocimiento), que no es más que las definiciones de los procesos de negocios, codificados de una manera particular en una base de datos de GeneXus, que permite de esta manera especificar de manera genérica y abstracta las reglas de tu negocio, de modo que después es posible tomar esas definiciones de alto nivel, y decirle a GeneXus que genere automáticamente una aplicación nativa para cualquier plataforma soportada.

Es decir, después que tienes ese modelo creado, se hace trivial (en cuestión de minutos) decirle a GeneXus que genere (por ejemplo) una aplicación para la arquitectura .Net y Oracle, o la arquitectura Java (J2EE) con MySQL, o cualquier combinación de plataformas.

Entre las plataformas soportadas están por ejemplo .NET, .NET Mobile, Java, Ruby, e incluso Cobol, RPG para el AS/400 y Visual FoxPro, así como diversas bases de datos como Oracle, Microsoft SQL Server, MySQL, DB2, etc, así como varias plataformas móviles de las cuales les hablaré en unos momentos.

Es importante destacar que lo que GeneXus hace no es crear una capa de código intermedio como lo hace por ejemplo Java o .Net con sus Máquinas Virtuales intermedia, o incluso crear librerías de emulación como lo hace WINE en Linux, sino que GeneXus literalmente produce codigo 100% nativo y optimizado para cada plataforma, lo que permite crear los programas más eficientes posibles en base a Patrones de Diseño (Design Patterns).

Otro de los grandes beneficios que le veo a GeneXus (y quizás a lo que muchas empresas le pongan el mayor peso) es el hecho de que con GeneXus se hace casi trivial el mantener las aplicaciones, así como hacer que estas evolucionen para satisfacer nuevos retos en las empresas.

Por ejemplo, los creadores de GeneXus inventaron un concepto propietario de Bases de Datos con Tablas Extendidas, que les permite hacer cambios a la aplicación sin afectar la estructura de datos mismos directamente. La idea es que existe un nivel de tablas virtuales entre la aplicación y las tablas físicas, que permite que las tablas físicas se mantengan siempre ordenadas y optimizadas, mientras que las tablas virtuales cambian para satisfacer las necesidades cambiantes de la aplicación (algo que me encuentro sencillamente genial).

¿Qué significa eso? Que posterior a una aplicación haber sido desarrollada, se hace trivial el agregar/remover/modificar campos, agregar pantallas, cambiar el orden de procesos, etc, todo sin perturban directamente la arquitectura intrínseca de los datos almacenados, algo que en otros tipos de ambientes de desarrollo significa dedicar tiempo considerable en planear como modificar las bases de datos a mano, como migrar y transformar datos, y como modificar todo el código de la aplicación para acomodar los nuevos cambios, así como dedicar tiempo considerable probando que todo funcione bien.

Con GeneXus ese proceso que puede tardar meses en grandes proyectos, ahora puede tardar literalmente minutos o quizás horas, y se hace de manera mayoritariamente automatizada.

Antes de continuar debo también compartir con ustedes algo que me impresionó tanto como el producto: La comunidad en torno a la plataforma, desde los usuarios finales hasta los técnicos y gerentes de la empresa.

A los apasionados gerentes de esta empresa se les nota que han puesto toda su alma y corazón en este proyecto, haciendo de este el proyecto de sus vidas sin lugar a dudas.

Los creadores (e inventores y co-fundadores) de esta plataforma fueron dos talentosos uruguayos de nombre Breogán Gonda y Nicolás Jodal (quienes han sido galardonados con los más altos honores de ingeniería en esa nación, entre otros reconocimientos), quienes hace más de 20 años atrás vieron la oportunidad de desarrollar una herramienta como GeneXus y decidieron apostar sus carreras a ello.

Asistí al evento (aun este llamándose XXGX) desconociendo que este era el 20vo aniversario de tal plataforma, y un momento muy emotivo fue cuando los co-fundadores subieron al escenario al primer puñado reducido de clientes que hace 20 años atrás creyeron y apostaron su credibilidad para implementar lo que sería la semilla de GeneXus. Fue un momento muy emotivo en donde lágrimas se notaron en todos lados (desde los mismos fundadores y clientes, hasta este humilde servidor que les escribe).

En otras palabras, salí del evento habiendo experimentado la sensación de ver no solo una plataforma revolucionaria, sino que además habiendo conocido a un grupo de extraordinarios seres humanos.

Volviendo a GeneXus noten que el hecho de que yo personalmente no conocía la plataforma, no significa que esta no sea bastante bien conocida en los círculos en donde es mercadeada, pues para que tengan una idea, la herramienta goza de una comunidad de desarrolladores que ronda en los 75,000 usuarios en unas 5,000 empresas en una treintena de países (así como oficinas en Uruguay, Brasil, México, EEUU y Japón), lo que sin duda es algo a envidiar por cualquier empresa sin importar su procedencia. Otro dato interesante es que al evento XXGX asistieron unos 3,500 representantes de cerca de 40 paíes, incluyendo de lugares tan lejanos como Japón y China.

Y hablando de procedencia, algo que me llegó al alma es que al ver esta herramienta sentí un gran orgullo en mi corazón. Pues aquí estaba, frente a una herramienta que no tiene absolutamente nada que envidiarle a lo mejor de empresas como Google, Apple, Oracle, IBM, SAP o Microsoft, y sin embargo desarrollada en uno de los países más pequeños del hemisferio.

Como siempre he dicho, me apena como muchos subestiman el talento desbordante que existe en nuestras naciones latinoamericanas, y GeneXus es un ejemplo vivo de esto.

Es importante agregar que GeneXus ha sido un producto que ha evolucionado continuamente en sus dos décadas de existencia. Inicialmente no poseía la capacidad de generar el 100% del código necesario, sino que generaba apenas alrededor del 70%, lo que hacía un poco inconveniente tener que generar el restante 30% con otras herramientas, particularmente con miras a migraciones futuras a otras plataformas.

Sin embargo, hoy día la herramienta es capaz de generar el 100% de la mayoría de las aplicaciones corporativas que se puedan imaginar, sin importar la magnitud del proyecto (existen por ejemplo sistemas complejos de ERP desarrollados íntegramente con GeneXus, como es el K2B).

Y en cuando al futuro de la herramienta, en el evento XXGX se anunciaron nuevos "generadores" de código que permitirán que uno genere aplicaciones nativas para la más reciente ola de plataformas móviles como el iOS (iPhone, iPod Touch y iPad), Android OS, BlackBerry OS, y próximamente el Windows Phone 7. Las versiones Betas de estos productos estarás disponibles en estas próximas semanas, y en el evento demostraron aplicaciones nativas realizadas con estas herramientas en un iPad, un celular Android y un BlackBerry.

Lo interesante de esta propuesta móvil es que las aplicaciones generadas se crean tomando en consideración todo el ecosistemas en torno a ellas, por lo que por ejemplo, si generas una aplicación para el iPhone, GeneXus se encarga de tomar en consideración todas las restricciones técnicas de Apple para que tu aplicación no sea rechazada en el App Store.

Otra cosa interesante es que tales aplicaciones móviles puedan además interacturar con otras aplicaciones generadas por GeneXus en servidores remotos, manejando la herramienta todo el proceso de comunicación también de manera transparente.

En mi opinión, hoy día no hay mejor manera de crear aplicaciones empresariales para dispositivos móviles que esta propuesta de GeneXus, pues dada la gran proliferación de plataformas móviles, se hace muy caro y complejo tener que aprender cada una de las distintas plataformas por separado. Con GeneXus, ahora simplemente creas tu KB, presionas un botón, y esta te generará la aplicación para todas las plataformas móviles que desees.

Es importar volver hacer hincapié en que las aplicaciones generadas en estos dispositivos móviles no son "genéricas", sino que cada una de ellas utiliza de forma nativa los recursos técnicos y componentes visuales de cada una, por lo que no terminas con una aplicación "foranea y genérica", sino que con una que se nota es una aplicación nativa generada para cada plataforma en particular. Tu aplicación de iPhone aparentará haber sido creada por Apple, y tu aplicación de Android aparentará haber sido creada por Google.

Quiero cerrar este largo artículo dando las gracias a Gustavo Carriquiry, (Gerente de Operaciones de Artech) quien tuvo la iniciativa de invitarme al evento, y a Gisela Bertelli (Business Development Manager de Artech) por el contacto y toda la increíble gestión logística, y diciendo que este tipo de herramientas son las que creo más futuro tendrán al largo plazo en la industria, ya que abstraen el bajo nivel de implementación técnica y nos permiten concentrar en las ideas y los objetivos primarios que queremos lograr con nuestras aplicaciones.

Incluso hice una curiosa observación en mi charla sobre La Singularidad, en que el nombre GeneXus si lo descomponemos se convierte en inglés en "Gene", "X" y "Us", que suena a algo como "El Gen X en Nosotros", por lo que quien sabe, quizás en un futuro no lejano una parte de nuestro propio software como Humanos 2.0 tendrá un componente GeneXus... :)

Página oficial de GeneXus (aquí pueden descargar una versión trial para pruebas)

Recursos técnicos sobre GeneXus

Los dejo ahora con este corto video de poco más de 1 minuto del XXGX y que me gustó bastante (enlace YouTube)...


Nota: Como dicen en inglés, lo siguiente es un Disclaimer: Dado que asistí al evento XXGX me siento en la obligación de aclarar, por si acaso, que no tengo absolutamente ninguna relación con la empresa Artech o su plataforma GeneXus ni de manera directa o indirecta, y estas impresiones son exclusivamente de mi autoría.

Actualización: 1 año después, GeneXus ahora genera aplicaciones para dispositivos móviles. Más detalles en este enlace.

autor: josé elías

Comentarios

  • Saludos

    Creo que estan aqui en el pais, o por lo menos estuvieron. Hace ya varios años fui a una entrevista para trabajar con ellos desarrollando software. Eso fue en la Zona Franca de San Isidro.

    Asi que imagino que aun andaran por estos lados.

    • Hace tiempo que se usa aquí en RD. Tengo un amigo que vive del desarrollo de aplicaciones basado en Genexus. De hecho, ya lo he probado.

  • Esto definitivamente es el futuro.

  • Yo también lo conozco desde hace muchos años, unos 15 mas o menos. Incluso un amigo se apuntó como proveedor para México, pero no pudo estar así mucho tiempo.

    Es bueno, pero la principal desventaja es que no puedes desarrollar un sistema para una base de datos ya existente. Es decir que el diseño de base de datos es estrictamente siguiendo la nomenclatura de tablas y campos que propone genexus. Ya en la práctica se ve difícil hacer procesos complejos que se pueden presentar en un sistema grande en algún momento. Por lo menos yo que he trabajado en aseguradoras y afianzadoras no le veo manera de hacer todo lo que se hace en un sistema de estos con todo el rebuscamiento necesario.

    Posiblemente sea que nunca encontré documentación suficiente para hacer procesos complejos más allá de los actualizadores de datos y listados con cortes, etc.

    Eso sí, yo creo que lo cierran mucho, si fuera más abierto o con demos instalables ya estaría más expandido.

  • Jose, este tipo de herramientas existen a montones y son ya "prehistoria" del software. Me parece bien que te sientas agradecido con ellos, pero por hacerles publicidad, no cuentes cuentos. Cuando se llegue al nivel del Hal de Odisea 2001 (sin su maldad), entonces dinos que estamos en el futuro... :-)

    • Como cuales otras herramientas? estoy interesado en saber.

      • Por si te sirve, yo hace mucho tiempo usé "codecharge" pero no me creaba las bases de datos automáticamente. Además fue para una aplicación sencillísima de gestión de esas mismas bases de datos via web. El código generado era php y mysql (también generaba código automáticamente en otros lenguajes).

        • Comparar a CodeCharge con GeneXus es como tomar un celular Nokia de hace 8 años y decir que es lo mismo que un iPhone 4. Ahí dejo el tema.

          • Puede que tu respuesta sea cierta, pero con Genexus se pueden crear aplicaciones webs en php? porque en la misma web de los creadores de genexus, ni lo nombran a php: http://www.genexus.com/productos/genexus?es
            y no es que no estamos hablando de un lenguaje que no lo usa nadie... puedes ampliar como llega genexus a php y si realmente sirve para ese lenguaje? o seguimos haciendo aplicaciones en php con codecharge?

    • No existe en el mundo una herramienta similar a Genexus, no con la misma amplitud, no hay ninguno que pueda generar para todos los lenguajes mas modernos (Java, C#, Cobol, RPG, Visual Basic, Visual Foxpro, etc), para todas las platformas (iSeries, windows, linux, windows mobile, Android, iOS), para todas las bases de datos (Oracle, MySQL, PostGreSQL, SQL Server, Informmix, DB2, etc), intefaces web y win.

      En el caso de que existiera otra herramienta igual estaria muy agradecido si me dicen cual?

      • Es que siempre encontraremos diferencias suficientes como para decir "no hay otra igual". Hay que abstraer a cierto nivel. Para mí Genexus es un "generador de aplicaciones". Y de éstos sí existen, aunque con diferentes funcionalidades. Son para un muy reducido tipo especial de aplicaciones, del tipo transaccional. Aburridas si las hay.

        Opino como el que dijo que es la prehistoria, porque han surgido en momentos en que se pensaba que así serían los ambientes de desarrollo futuros, y aun así tenemos productos como Visual Studio donde tenemos que escribir todavía a mano mucho código.

  • Eliax:

    Me imagino que con este comentario ahora vendrá la truya de gente a decir que éres un fanboy de GeneXus. Suerte que lo aclaraste en la ultima nota del artículo.

  • El producto puede parecer interesante. Pero yo tengo una técnica muy sencilla para verificar la profesionalidad y seriedad de una empresa. Tengo instalada en firefox la extensión Server Spy. Me agrega a la barra de estado una sección que da información sobre el servidor.

    Basta con visitar la página de gnexus para darme cuenta de cómo funciona esa empresa, y no me inspira ninguna confianza.

    • ¿Podrías explicar un poco más? ¿Qué es lo que has visto sospechoso?

      • Lo que Server Spy dice sobre genexus.com es "Microsot-IIS/7.0"

        • Exacto. Instala server spy en firefox y con sólo visitar la spáginas de las empresas podrás deducir cosas sobre su funcionamiento.

          Por ejemplo, si usan Debian, sabrás que los que toman decisiones sobre este tipo de cosas son puramente técnicos y muy partidarios delsoftware libre.

          En este caso, usan windows. La versión también nos dice cosas. Si tienen un windows y de versión vieja, significa que está funcionando y nadie quiere tocarlo. También estan las empresas que no están relacionadas con la informática y que no tienen gente con conocimientos muy avanzados. Para ellos el "siguiente/siguiente/terminar" es lo prioritario y es lógico que pongan un windows. Incluso si se de vez en cuando tienen que formatear e instalar todo, es más sencillo que aprender a usar otra cosa. Y tenemos también las empresas que aunque tengan personal bien capacitado, no son ellos los que toman las decisiones. Proponen instalar un Linux, un BSD, o lo que sea, y "los de arriba" les dicen "no porque no tiene soporte", o el típico "necesitamos el apoyo de una empresa seria como Microsoft, no el de un montón de hippies que en su tiempo libre escriben programas y los regalan". También están los que dicen "es que nuestra empresa tiene una 'alianza estratégica' con Microsoft".

          Y finalmente, queda un grupo que cada vez son menos: excelentes informáticos que se han centrado tanto en la programación para windows que les parece una pérdida de tiempo ponerle atención a un sistema tan poco utilizado como Linux, y por lo tanto no se toman el tiempo necesario para aprender a instalar y configurar un servidor. A demás están tan centrados en las ventanitas y las configuraciones gráficas que eso de usar un editor de textos para cambiar una configuración les parece algo tan fuera de lugar que les produce un gran rechazo.

          Sea por el motivo que sea, yo no confiaría mucho en un producto informático hecho por una empresa que tiene un servidor web bajo windows. Sobre todo si la versión es nueva.

          • El hecho que no usen Linux no significa que la empresa sea poco confiable.
            Tampoco significa nada mas, solamente que tienen un web server en Windows.
            A menos claro que creamos que Bill Gates es el anticristo descrito en la biblia y que microsoft es la bestia de 7 cabezas o algo por el estilo...

  • offtopic:

    jose acabo de ver The Big Bang Theory, ?The Cruciferous Vegetable Amplification? S04E02.

    Sheldon esta preocupado porque morira antes de llegar la singularidad y no podra trasferir su consiencia a un robot.

    creo que sentirar un deja-vu si lo ves...

    • aprovechando el offtopic, quisiera pregutarle sr eliax, sobre cual cree uds que sea un promedio de edad que deberan tener las personas en estos momentos para que tengan alguna esperanza de llegar a la singularidad vivos? mas especificamente al momento en que transferir las mentes a algun otro contenedor sea factible?
      debo tener esperanzas??? o solo los ninios estan casi asegurados? ojalaaaaaaaaaaaaa que yo este incluidoooooooooo XD..!

      • Yo tengo 18 y me siento asegurado jajaja

      • Esto es muy especulativo, pero yo diría que personas entre los 40 y 60 años aun tienen posibilidades de estar presentes para suficientes avances tecnológicos como para poder vivir para siempre.

        Sin embargo, yo no pienso tanto en eso sino que me concentro por el momento en simplemente hacer de mi vida una que valga la pena ser vivida...

        • gracias por la respuesta, de hecho yo tambien tengo grandes deseos de hacer de mi vida util para este mundo, aunque aun no tengo oportunidades aun,seguro que si las habra, y espero yo tambien mi vida valga la pena ser vivida...gracias por el consejo

        • Puede que sea un cálculo un poco optimista.

          No te olvides de que la ciencia y la tecnología avanzan muy rápido pero las empresas frenan la aplicación de los descubrimientos mientras todavía sigan siendo rentables. Hay tecnologías que han llegado a ser obsoletas antes de estar al alcance del público.

          Por ejemplo, hace muchos años que se pueden poner muchos núcleos en un sólo chip. Siempre ha habido espacio físico de sobra.

          • anv,

            Te olvidas de que existe algo llamado competencia. Las empresas ciertamente les gusta la comodidad de sentarse a disfrutar de los beneficios de tecnologías ya establecidas, pero si se sientan por mucho tiempo la competencia los barre.

            Hoy día más que nunca, debido al ritmo de los cambios, ninguna empresa se puede sentar en sus laureles y es imperativo moverse de investigación a mercado lo antes posible. Te refiero al mercado de los celulares inteligentes como un gran ejemplo.

            En cuanto a tu comentario de que siempre ha habido espacio de sobre en los chips para agregar más núcleos, eso es falso (te lo dice un ingeniero en hardware y microprocesadores con práctica en el medio de la acción en Boston, EEUU).

            El espacio en un chip es el recurso más preciado de todos los recursos, porque eso determina el precio al cual se pueden vender los chips (que también es función de las impuresas en el proceso de fabricación).

            Una cosa es tener la capacidad de crear multi-núcleos, otra es poder hacerlo de forma barata.

            La razón por la cual los procesadores multi-núcleos están proliferando hoy día es por (1) es más fácil que escalar con GigaHertz, y (2) debido a los procesos de miniaturización cuesta igual hoy día poner 2 o incluso 6 u 8 núcleos en la misma área cuadrada que ocupaba un chip de antaño, lo que lo hace comercialmente factible.

            En otras palabras, la razón por la cual no teníamos procesadores multi-núcleos de forma masiva en años pasados no era porque las empresas estaban conspirando contra los consumidores, sino que por realidades económicas del mercado.

  • Amigo Eliax,

    Offtopic: puede ser que apareces en el video que agregast e al ultimo de este articulo? en una foto al ultimo... me parecio verte, es asi?

  • Entiendo que muchos no entiendan, es por eso que GeneXus siempre ha estado adelantado a todos.
    Son "pocas" las personas que realmente se toman el tiempo de ver en donde está la magia, muchos se quedan con una visión equivocada, basados en sus malas experiencias de cosas similares, pero ojo, quien conoce mucho sobre todos los aspectos relacionados al desarrollo del software empresarial, entenderá realmente qué valor tiene GeneXus a largo plazo.

    Genexus no es la panacea del software en general, pero si lo es para el empresarial.

    Sobre el tema de si es posible o no hacer cosas complejas, puedo decirles en carne propia que he visto aplicaciones realmente impresionantes de misión crítica desarrolladas con GeneXus, aplicaciones que han sido migradas de plataformas durante los últimos 20 años sin perder el conocimiento, si hablamos que existen aplicaciones con miles de tablas (llegando a la decena de miles) o con decena de miles de programas Genexus, o un equivalente a millones de lineas de código generado (hay apps con más de 9 millones de líneas java o c#), en donde mantinene el mismo producto... lean bien, el mismo producto, el mismo conocimiento para java, c# y dbms como SQLServer, AS400, Oracle, MySQL o cualquier otra plataforma, en donde migrar productos tan grandes a nuevos generadores sea cuestión de meses sin requerir hacer refactoring de la aplicación... en donde tocar un impacto en el modelo de datos y que automaticamente se actualice las tablas en cada dbms o se regeneren los programas necesarios, en donde uno puede conocer y mantener una aplicación muy grande con un bajo impacto en mantenimiento, ese es el valor de GeneXus, que inclusive los usuarios y clientes de las empresas que lo usan lo conocen y reconocen, saben que lo que hoy tienen, podrá estar preparado para el futuro, podrán integrarse, pasar a la nube, seguir usando su conocimiento en los smart device, o estar preparados para lo que sea el mañana, el conocimiento perdurable, es GeneXus.

  • Eliax: Cuanto te pagaron los de Genexus para hablar bien de su plataforma??!!

    • Quizás lo mismo que te pagó la competencia para hacerle esa pregunta a eliax. - me sorprende el grado de inmadurez de algunas personas.

      • Hace 5 años que trabajo con Genexus y esta muy lejos de ser la herramienta ideal..

        • Ese comentario lo sacaste de una platilla de excusas de vagos?. Osea, yo nunca he usado Genexus, pero el formato de tu comentario me lo se de memoria "Hace [tiempo de uso] que trabajo con [nombre de programa] y esta muy lejos de ser la [objetivo deseado]" y siempre usado por el mismo tipo de persona; gente que aparenta limitaciones cerebrales, pero lo que quieren es que le paguen mas en sus trabajos y no hacer nada.


          Por cierto, con el simple hecho de crear codigo automatizado en diferentes plataformas y lenguajes, para mi es mas que excelente herramienta.

          • No caigas en el juego mi estimado amigo que en los hechos es donde cada quien sabe de lo que es capaz. Es la cratividad del desarrollador no de la maquina o herramienta.

          • yo tambien trabajo con genexus y es una cagada (motivos sobran, muchos ya están mencionados), ¿eso tambien estaba en un plantilla de posibles respuestas?

        • Que desagradecido el hombre no?... esta noble herramienta te ha dado de comer desde hace 5 años y no la valoras!...

  • - Genexus tiene dos cosas originales, su manera de modelar el negocio (con dichas 'tablas extendidas') y su capacidad de generar todo el código de la aplicación en multiples plataformas. La forma de modelar el negocio no es estándar y a la mayoría de los programadores les cuesta entenderlo. No es 'orientado a objetos' por ej. Ademas, dicha forma de modelar tiene algunas ventajas como las que mencionas y otras desventajas, como que un cambio en la definicion de esas tablas extendidas puede impactar en muchos lados de la aplicacion, y es dificil evaluar si el impacto es el deseado o no, o que es dificil entender porque Genexus accede a las tablas que accede en algunos escenarios. Por otro lado, la generacion de codigo en multiples plataformas es el punto donde tiene mas valor real, y la razón por la que varios clientes históricos tienen negocios exitosos, dado que pudieron ir migrando de plataforma ayudados por Genexus en vez de reescribir sus aplicaciones en cada nueva ola tecnologica. Por eso el mundo de smart devices es tan atractivo para Genexus, haciendo muchos generadores aportan mucho valor.

    - Genexus genera toda la aplicacion. Los generadores tienen muchos problemas de calidad. Cuando se libera un upgrade o una nueva version de un generador (cada 4 meses aprox), hay que generar toda la aplicacion nuevamente. Lo razonable sería poder confiar en que todo lo que antes funcionaba sigue funcionando bien, pero nunca es así, cada versión nueva de un generador arregla cosas y rompe cosas. Eso implica que hay que hacer una prueba completa y a fondo de la aplicación cada vez que se instala un generador nuevo. Por esta razon los clientes mas grandes de GeneXus no migran habitualmente de version del generador, están 'congelados' en una versión vieja de la que no se pueden mover por lo que no saben que puede pasar. En mi opinion este es el principal problema para usar genexus.

  • (sigo)

    - Las interfaces de usuario de las aplicaciones Genexus son en general pobres. Cuando se usaban pantallas verdes eso no se notaba. Para aplicaciones corporativas esto puede no ser tan grave porque los pobres usuarios corporativos usan lo que les den y en general la calidad de la interfaz de muchas aplicaciones corporativas es mala. Hoy los websites desarrollados con Genexus están lejos del estado del arte a nivel de experiencia de usuario, y diria que es imposible lograr cosas mejores. En general en el mundo de desarollo de software hace años se esta tendiendo a separar la forma de definir la interfaz de usuario del codigo de los programas, para que el diseñador tenga libertad de modificar la interfaz de usuario (la parte grafica y la parte de interacciones). Con Genexus los diseñadores solo pueden cambiar colores, imagenes, pero no el layout, las interacciones, las transiciones, etc.

    Genexus quiere resolver un problema muy dificil que muchos quisieron/quieren resolver. Su solución a ese problema es de las mejores del mundo. Pero en mi opinion el problema está lejos de ser solucionado de forma razonable.

    Vuelvo a mi ruby on rails

    • "Imposible" es una palabra que está por dejar de existir en general, y más hablando de tecnología... Si vieras aplicaciones web actuales generadas con Genexus, no dirías que las interfaces son pobres. Tal vez no creerías. Todo web 2.0
      Y si te dicen que esas aplicaciones se comenzaron hace más de 15 años y fueron migradas con poco esfuerzo, tampoco lo creerías.
      Hay que estar bien informado para hacer comentarios... Creo que en tu caso te quedaste atrás en el tiempo.

      • Muestrame alguna pagina hecha con GeneXus que tenga una UX bien hecha o que esté bien hecha desde el punto de vista de SEO.

        Por ej, GXPortal.com tiene buen diseño grafico y se supone que es la aplicacion top de artech para internet. Ve a http://www.gxportal.com/empresa/cont%C3%A1ctenos?es,,MNU;E;4;5;MNU; (que linda url), dice la palabra Mexico en ese formulario. Ahora pon Mexico en el cuadro de busqueda y da enter. Queda la pantalla en gris durante un rato, y luego aparece una pagina vacia diciendo 'no encontrado' (aunque la palabra mexico estaba). Y el 'mexico' se pasa a mayusculas. El sitio de GXPortal tiene un buen diseño grafico, y eso en genexus se puede lograr con mucho trabajo, pero se puede lograr, pero las interacciones, que es lo que se hace con genexus, son malas.

  • 1) Si alguien piensa que Jose fue pago para escribir esto, le recomiendo que deje de seguirlo. Se vuelve poco creible, no creen?
    2) Las aplicaciones Genexus pueden leer otras tablas externas sin problemas.
    3) Sería bueno que aquellos que opinan mal, se introduzcan mas en el tema con gente que sepa. Opiniones sobre algo que escucharon por ahí no son válidas.
    4) Genexus está desarrollado por seres humanos. Tiene sus problemas. Pero a nivel empresarial, y en la balanza final, les aseguro que es una excelente opción. Por algo será que hoy en día están apareciendo productos o conceptos similares a los que genexus viene pregonando desde hace más de 20 años.
    Mis Saludos para todos.

  • Yo soy un desarrollador .Net, me pareció muy interesante esta herramienta, me gustaría conocerla un poco más. Por lo pronto encontré la siguiente página en español:

    http://wiki.gxtechnical.com/commwiki/servlet/hwiki?
    Category%3ACurso+%22GeneXus+X%22,

  • Soy de Uruguay y conosco Genexus desde el 2004 pero la verdad nunca entendí exacatamente de que se trataba, es una buena explicación.

  • Hola Soy de Guatemala y bueno aqui hay muchas empresas que usan este desarollador de codigo pues como tu dices agiliza los proyectos que pueden tardar meses, en segundos, es una apuesta muy interesante para desarolladores pues ayuda a mantener un codigo estandar.

  • Estimado José, Disfruté de tu impactante conferencia en el XXGX y como integrante de la comunidad GX, quiero agradecer este artículo. Soy uno de los clientes protagonistas de ese momento muy emotivo, en que Gonda y Jodal nos entrgaron un reconocimiento como primer puñado de reducido de clientes que en diciembre de 1989 creyeron y apostaron su credibilidad esa primer semilla de GeneXus. Las lágrimas de todos nosotros fueron reales, pues eran la más genuina expresión de la historia de éxito que nos tocó acompañar. Y espero que algún día nos permita llegar a ese Gen X en beneficio de la humanidad.
    Un fuerte abrazo,

    Jorge

  • Muy buena nota Eliax, demostrando una vez mas tu transparencia porque es muy facil alavar productos de Apple, MS o Google, donde todo es mas facil porque presupuesto sobra y el esfuerzo se reparte entre miles de programadores, en cambio el esfuerzo y sacrificio empeñado en Artech para defender e invertir en su idea fue y sigue siendo enorme, y es logico que tenga defectos, o acaso los proyectos multimillonarios de las grandes companias no los tienen?.
    Por eso cada palabra generosa de tu informe vale, y seria bueno que los que critican pero no construyen lo entiendan, porque lo que estas premiando es LA IDEA detras de Genexus, mas alla de las fallas que tenga, porque todos sabemos que aun con presupuesto ilimitado, como dijo Don Faustino Sarmiento, "LAS IDEAS NO SE COMPRAN!!".
    Los latinos deberiamos imitarte alavando y defendiendo con orgullo a empresas como Artech, y no solo maravillarnos con los gigantes del norte.

  • Gente, ya existía software para generar sistemas a partir de una base de datos existente y bien normalizada. Su nombre es:"EazyCode" Y cabe aclarar que el sistema trabaja aplicando la logica de ntiers, por lo tanto genera las capas de datos, de negocio y la capa de presentación. Es una buena opción para minimizar el tiempo de desarrollo, ya que este sistema utiliza patrones estandar para llegar a crear una solución. Pero es importante tener en cuenta, que hay cosas que ningun sistema va a poder hacer como por ejemplo la imaginación que un ser humano usa para desarrollar el sistema. Por eso mismo a la programación se la reconoce como un arte, o sea, diseñar la arquitectura del sistema con imaginació y obviamente cumpliendo las necesidades del sistema.

  • En Uruguay, somos muchos los que nos sentimos orgullosos por el trabajo de estos muchachos. BTW: Creo haber oído que GeneXus en realidad viene de Nexus o Nexo (lo cual no deja de tener sentido). El Gene podría ser de "Gen", pero algo me dice que viene de "generar".

  • Considero GeneXus demasiado magico para ser verdad, no es solo una herramienta, es "la herramienta", creo es el conglomerado tangible de un cumulo de ideas superiores al pensamiento tradicional en la forma de desarrollar, veo a esta herramienta como el pionero en lo que será la informática del futuro, veo gran cantidad de profesionales brindando soluciones completas y no unicamente lineas de codigo, veo aplicaciones robustas en producción en muy corto tiempo, veo GeneXus no solo como una herramienta, lo veo como un diferenciador.

    Y tu desarrollas o programas!!! Gx es la gran diferencia!!.

    Saludos
    =)

  • Con respecto a la separacion del nombre estuviste acertado, pero en realidad "Gene X us" surgió de la idea "generate for us" o lo que es lo mismo "generar (código) por nosotros". Nos lo dijeron en una visita a la empresa con la clase.

  • Los comentarios malos,de tìpicos Uruguayos grises,esto lo leo dado que tengo un amigo que tenìa como capital un ciclomotor CIAO VIVE EN UN PUEBLO DEL INTERIOR Y DESARROLLO UN PROGRAMA JUNTO A GENEXUS,YO DE COMPUTADORAS O PROGRAMAS NO SE UN CORNO PERO BALANCES DE PUEBLO EL VIVE DE AVIÒN EN AVION,YA EN EL PUEBLO MUCHO NO SE VE,SE FUE PARA LA CAPITAL,AUTOS ,APARTAMENTOS Y OFICINAS DE LUJO ES LO QUE SE.....Y COMO SOY COMERCIANTE DE UNA FAMILIA ITALIANA CON NEGOCIOS ABIERTOS DESE EL 1893,EN 107 AÑOS TENDRÌAMOS QUE ESTAR MEJOR QUE MI AMIGO QUE HACE 12 AÑOS QUE TRABAJA,SABEN CUÀL ES LA DIFERENCIA,ES EXITOSO PORQUE EL PRODUCTO ES BUENO Y SE VENDE,CONSEJO IMITEN A MI AMIGO Y A GENEXUS MAL NO LE VA.

  • Gracias por compartir
    Me gusto
    voy a probar el demo
    Tambien existe otro plataforma que hace algo similar
    se desarrollan las applicaciones con el mismo framework y lenguage
    ...y puedes generar Java, .Net,.exe y ahora en la ultima version genera native linux
    usando el framework de QT(Nokia) ,puedes trabajar con toda la gamma de databases y tiene algunos accesos nativos y gratis como al MySql y Postgress
    Es demasiado lo que hace para escribir un resumen
    aqui va el link www.pcsoft.fr

  • Una pregunta por si alguno conoce, como es el licecnciamiento del genexus y como cuento cuesta en dolares, aunque sea un aproximado, no tiene que ser exacto, solo es para tener una idea de los costos para desarrollar con esta plataforma.

  • Cuanto cuesta, caro muy muy caro, los generadores se venden por separado.

  • que futuro ven para una plataforma que cree todo automático, uno dicen que van a desarrollar con esa plataforma, no van a desarrollar nada esa plataforma desarrolla sola automáticamente, mi pregunta es que futuro tiene un proyecto que le quitara el trabajo a los programadores, es como que el creador de la coca cola le regalara la formula de ella para todo el mundo que la hiciera en la casa, quien le compraría, y cuando valdría el software chirolitas, ya no basta la cantidad de desempleo que hay y ahora contribuyente mas

  • realmente impactante el contenido de la nota. este tipo de proyectos y su impacto, son las cosas que deberian atender los gobernantes de la region, en el caso de querer innovar, siendo importante la ventaja que nos esta llevando el resto del mundo en la materia.

  • Tuve el 'Placer' de trabajar 5 meses con la herramienta, fulltime, y digo trabajar por que es eso: Operar, no Desarrollar. Es un producto de software más, un verdadero insulto para los desarrolladores. Quienes nunca lo hayan usado sepan que si los contratan en una empresa para 'desarrollar' con genexus, se convertirán en operadores. Es una herramienta genial para el modelo de negocio (mediocre) de una empresa, y una pésima herramienta para los desarrolladores. Cada minuto que uses esas herramienta te estarás devaluando automáticamente como desarrollador. Los muchachos de Artech son unos muchachos muy listos. Sino pregunte si ellos crean (o generan) Genexus con Genexus. Es malo. Y el que lo considera "La herramienta del siglo" evidentemente no ha visto ni probado nada del mundo del desarrollo del software actual. Toda su grandeza ha de atribuírsela a .NET, C++ y C. Si es cierto que es un excelente generador de ABMs (CRUD) y de bases de datos relacionales 3N. Para todo lo demás es un insulto a los desarrolladores, genera aplicaciones de pésima calidad y performance, sin utilizar patrones de diseño modernos y codigo imposible de mantener... El lema de la Genexus debería ser: Write Once, Debug Forever!

  • Creo que tenes en tu artículo algunos errores de como funciona genexus. El mas groso que vi fue que decis que genexus genera codigo 100% nativo. Esto es un error. Genexus genera codigo en el lenguaje que hayas elegido. El codigo nativo es el que generará la compilación de un lenguaje compilado. Por ej. si generas en java o ruby nunca se generará codigo nativo sino dependerá de un interprete para ese lenguaje. Otra es que genexus sirva para administrar cualquier negocio es tambien un error. Genexus para lo unico que sirve es para automatizar de manera similar a una industris automotriz o parecido el desarrollo de software. Al software basicamente para software de gestion ya que esta muy enfocado a eso. Hoy por hoy hacer una aplicacion clusterizada accedida por miles de clientes desde distintos clientes (aparatos) es basicamente una odisea no grata. Creo que es una buena herramienta para las empresas de software de gestion que permite tener programadores de bajo nivel programando cosas. Los programadores estrella jamas utilizarian estas herramientas.Saludos.

    • Gonzalo,

      Por "código nativo" me refiero obviamente a código nativo a la plataforma que se elija (por ejemplo, Java, el cual obviamente todo el mundo sabe que se ejecuta en una máquina virtual).

      Y sobre el tipo de aplicaciones que se pueden crear con Genexus, ni siquiera la misma empresa vende a Genexus como una herramienta para crear cualquier tipo de aplicaciones (como video-juegos), sino que es una herramienta para crear aplicaciones de negocios tradicionales del tipo que conlleva innumerables formularios, imágenes, documentos, etc. Aunque ojo, con las últimas versiones ya es posible también generar consumidores móviles de estas aplicaciones.

Añadir Comentario

tu nombre
tu email
(opcional)
web personal
(opcional)
en respuesta a...
comentario de caracteres máximo
8 + 9 = requerido (control anti-SPAM)
¿De qué color es el cielo?: requerido (control anti-SPAM)
 

"Hola Elías, un abrazo desde Costa Rica y un muy sincero agradecidimento por haber aportado al mundo tu esfuerzo buscando información, explicandola al estilo eliaxístico, por aportar tu opinion sobre las cosas y dándole significado a las señales de los tiempos actuales y del pasado.

De verdad muchas gracias porque en mi caso muy personal has dado a mi vida cimientos de lógica y razón. Me has hecho revelarme ante las verdades impuestas y me enseñaste a cuestionar todo, incluso a mi mismo.

Gracias de verdad, mas hayá que un hobbie has hecho una gran labor social a la intelectualidad.
"

por "José Chaves Costa Rica" en may 24, 2015


en camino a la singularidad...

©2005-2024 josé c. elías
todos los derechos reservados
como compartir los artículos de eliax