31 octubre 2008

Décadas de ideas innovadoras (Parte I)

Los 90’s:

En la historia de la computación, y especialmente en la de los lenguajes de programación, encontrarán cómo, a partir de los años 90, son pocos los lenguajes de programación que lograron ser populares o destacarse a la fecha. La mayoría de los que se volvieron populares, se encuentran relacionados más con la simplicidad, generalidad y portabilidad que con la relación de abstracción, patrones, manejo del conocimiento o especializaciones en sectores como: manejo de Lógica de Negocio, Base de datos, Inteligencia Artificial, o lo relacionado a lenguajes Case o Lenguajes Funcionales.

Son pocos los lenguajes “exóticos” que lograron sobrevivir, y los que lo lograron, en su mayoría fue gracias al apoyo de Universidades o centros de Investigación en los sectores de Aeronautica, Astronomía, Medicina, Genética y Química (entre otros).

Sin embargo de la década de los 90’s comenzaron a surgir investigaciones en varias ramas que derivaron en lo que hoy se conoce como "Lenguajes Específico de Dominio”, “Modelado Específico de Dominio" y “Arquitectura Dirigida por Modelos” (Domain Specific Language - DSL, Domain Specific Modelling – DSM , Model Driven Architecture - DMA).

Si bien las ideas asociadas a los lenguajes de cuarta y quinta generación comenzaron en la década de los 80 y 90, la utilización de Metamodelos, Patrones, y Lenguajes de Dominio, no se han hecho de uso "popular" a nivel mundial.

En la región (Latinoamérica) existe una excepción, GeneXus, un lenguaje (y un entorno de programación) que desde la década del 90 viene revolucionado la forma de programar aplicaciones de negocio.

- GeneXus (1989) - Una herramienta con soluciones reales.

Les dejo algunas reseñas de la presentación realizada por Artech sobre GeneXus en 1995, en el marco del Premio Nacional de Ingeniería (AIU - Asociación de Ingenieros del Uruguay).

"En toda investigación, y mucho más en una de largo alcance como esta, es imprescindible "no reinventar la rueda", no perder tiempo y esfuerzo tratando de resolver problemas que otros ya han resuelto. En la informática, además, suele ser un gran error tratar de desarrollar software que se pueda comprar. En consecuencia se tomó la decisión de trabajar con PCs, los cuales y el software necesario eran accesibles a las posibilidades de un proyecto que comenzó con muy pocos recursos económicos. En consecuencia, se partió del "estado del arte", de los resultados publicados por otros investigadores, y de las mejores herramientas que estaban en el mercado. Es casi imposible obtener el éxito de otra manera. Con estos supuestos se inició en 1985 la investigación formal."
...
"Con estos resultados a la vista se hicieron contactos con varias de las mayores empresas de software del mundo. Nadie tenía nada parecido, nadie había resuelto el problema del diseño de grandes bases de datos.

Entonces parecía existir una importante oportunidad de licenciar esta tecnología a algunas de esas empresas.

El intento comercial terminó en el fracaso total por una serie de razones: la tecnología era mucho más avanzada de la que esperaban los interlocutores, que no tenían su mente preparada para ella (no la consideraban necesaria ni posible).

El problema de credibilidad del país era (es) muy serio. Era muy difícil que una empresa de alta tecnología, en un país desarrollado, pudiera entender que en el Uruguay pudiera desarrollarse una tecnología tan avanzada."
...
"se seguía investigando, se descubrió en 1986 algo muy interesante: se había sistematizado el conocimiento capturado de las visiones de los usuarios, de forma de permitir el diseño automático de la base de datos óptima, lo que cumplía los objetivos originales, sin embargo, refinando el proceso de sistematización, se podía obtener una Base de Conocimiento tal que permitiera, además de lo anterior, generar los programas necesarios para recrear visiones"
....
"GENEXUS es una herramienta diferente que, sin embargo, lucha en buena parte del mundo por un segmento de un mercado extremadamente competitivo: el de herramientas para mejorar la productividad en el desarrollo y mantenimiento de aplicaciones."
...
"El éxito de este proyecto se basa en una gran dosis de investigación permanente. El éxito comercial se basa en la superioridad tecnológica, la cual es muy difícil mantener en un mercado tan competitivo como este.

Pensamos que se está sólo en el comienzo, que probablemente se ha utilizado en GENEXUS tan sólo un 20% de la tecnología que se ha desarrollado.

Una duda existencial que hemos tenido desde el principio es: entendiendo que el camino que hemos seguido es bastante obvio, ¿por qué no hemos sido alcanzados por competidores con muchos más recursos?. Quizás el problema (y la singular oportunidad) que se enfrenta es que se está utilizando una tecnología bastante más adelantada que la de los competidores y que, por ello, no está de moda."

El texto completo se encuentra en el siguiente Link:
http://www.aiu.org.uy/gxpsites/agxppdwn?2,1,4,O,S,0,79%3BS%3B1%3B21,

Les dejo algunas referencias para los que quieran conocer un poco más al respecto sobre estos temas.

Sobre GeneXus:
http://en.wikipedia.org/wiki/GeneXus
http://www.genexus.com/
http://wiki.gxtechnical.com/commwiki/servlet/hwiki?La+historia+de+GeneXus


Sobre Lenguajes Específico de Dominio, Modelado Específico de Dominio y Arquitectura Dirigida por Modelos:
http://en.wikipedia.org/wiki/Domain_Specific_Language
http://en.wikipedia.org/wiki/Domain-specific_modelling
http://en.wikipedia.org/wiki/Model-driven_architecture

2 comentarios:

Anónimo dijo...

Hombre, que tenes un blog y no nos dijiste nada :-)

Mira, creo que los lenguajes a que te referias son de Astronomia y no Astrologia, no? ;-)

Saludos a las 3h de la manhana.

Luis Fabiano

David Giordano dijo...

Jaja, gracias Luis por la corrección, quien sabe en que estaba pensando.

Saludos.