Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
Aprendiendo a programar | 37 comentarios (37 temáticos, editoriales, 0 ocultos)
Sobre Gambas (4.50 / 2) (#15)
por jorginius ("jorginius" en Google Mail) a las Fri Jul 23rd, 2004 at 02:27:52 AM CET
(Información Usuario) http://www.rodriguezmoreno.com

Hace poco le eché un ojo a Gambas con motivo de un anuncio en Barrapunto, y la verdad es que me parece que tiene buena pinta.

Pues yo sólo conocía Gambas de oídas pero lo he instalado esta tarde, después de leer esta entrada en el diario, he trasteado un poco con él y es muy majete.

El lenguaje, a pesar de ser muy sencillote, incluye su declaració de eventos, su tipado estático, sus excepciones para manejar los errores, orientación a objetos "leve" (ojo con la herencia, que el comportamiento de los constructores es un tanto extraño) y un montón de azucar sintáctico en general.

El IDE cumple bastante bien: tienes un editor con realzado de sintaxis, corrector de estilo y despliegue de listas de métodos y propiedades a los IntelliSense, un depurador, una herramienta para la traducción de nuestro aplicación (todo en Gambas es UTF-8 internamente), un generador de formularios muy resultón que mantiene separado los forms del código y que incluye en el editor la declaración de los eventos de cada control con un solo click.

El despliegue de las aplicaciones de Gambas es bastante cómodo. El runtime es pequeño (no pasa de 300 KB) y el "compilador" genera binarios autocontenidos, uniendo código "objeto" y todos los recursos que necesite la aplicación (imágenes, archivos de texto, iconos, traducciones, etc) en un sólo archivo. Por si fuera poco, desde el propio IDE hay un asistente para crear directamente los paquetes RPM y DEB de nuestro proyecto, para cuatro distribuciones de Linux.

El API de los componentes "básicos" (gb, gb.qt*) más simple que el mecanismo de un chupete y el aspecto es bastante bueno: Qt pero podemos también usar los diálogos y algunos controles de KDE (como una vista HTML vía KHTML). Como curiosidad, lo único que queda raro son los menús que no usa los controles de Qt sino que Gambas los dibuja por su cuenta.

Fuera de esos componentes, las API andan un poco verdes:

La parte de conexión a base de datos patina porque hay que escribir las querys a mano, lo cual no es precisamente sencillo y no pega con la simplicidad del lenguaje. Tampoco se pueden leer bases de datos SQLITE dentro de los binarios autocontenidos que genera Gambas.

Las expresiones regulares brillan por su ausencia. En realidad haberlas haylas pero o muy limitadas, en el propio lenguaje usando LIKE, o a través de una interfaz con libpcre bastante farragosa que tampoco pega con Gambas.

El tema de la red, a nivel de socket (INET y UNIX), tiene mejor pinta: con soporte genérico para servidores y clientes y protocolos de aplicación como FTP, HTTP y TELNET pero no incluye nada específico para CGI (aunque se pueden hacer aplicaciones para consola), ni nada de SOAP. Una carencia gorda es que no hay un componente para trabajar con XML.

Falta también el soporte multihilo y la multiprogramación en general está algo limitada. Hay una clase para servir peticiones de red de forma concurrente, instrucciones para leer un ejecutable del disco, crear el proceso y leer/escribir en él, pero no parece que haya nada como un fork(). En fin, para que no se bloqueen nuestras aplicaciones habrá que echar mano de un Timer.

Sobre la documentación, no es pésima o al menos no lo es el según el estandar del software libre. La tienes siempre en línea en el IDE y en la web del proyecto se va completando en el Wiki. Hay funciones sin documentar, ejemplos que no funcionan porque han ido cambiado cosas del lenguaje y algunas mentiras desperdigadas como que MoveNext devuelve TRUE cuando no hay más campos en el resultado de la query, pero en líneas generales no está tan mal.

La conclusión es que Python y cía seguramente le dan mil vueltas por sus impresionantes bibliotecas de clases de todo tipo, por las propias funcionalidades de cada lenguaje y por la documentación, pero Python y cía no tienen un IDE tan chulo como éste, ni un depurador que funcione también en las aplicaciones en modo gráfico que usen wxPython, PyGtk o PyQt (Boa Constructor debería ser la caña pero la última vez que lo probé se moría cada dos por tres y el depurador no chutaba dentro de las callback), ni tipado estático. Por otra parte, a pesar de todas sus carencias Gambas da bastante de si: el gambas-ide está escrito a su vez en Gambas y el gambas-database-manager también y ambas aplicaciones son razonablemente complicadas y bastante resultonas. Es muy prometedor.



 

Aprendiendo a programar | 37 comentarios (37 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda