Después de años de trabajo, Benoit Minisini y amigos, justo a tiempo para la celebración del año nuevo, liberan la versión 3 estable de GAMBAS, el cual es un medio ambiente de desarrollo de software basado en un intérprete de BASIC con extensiones de objetos, parecido a Visual BASIC (pero ojo, no es un clon de éste). GAMBAS está basado en componentes, por lo cual tiene muchas posibilidades que se antojan interesantes.

Con GAMBAS se pueden diseñar interfaces gráficas con QT4 o GTK+, acceder a MySQL, PostgresSQL, ODBC y SQLite, aplicaciones con D-bus, traducir su programa a cualquier lenguaje, crear aplicaciones de red fácilmente, hacer aplicaciones 3D en OpenGL, hacer aplicaciones web CGI, etc.

GAMBAS es un lenguaje con objetos construído a partir de un intérprete de BASIC y se libera bajo la licencia pública general de GNU.

Su arquitectura está basada en Java, por lo que contiene:

  • Un compilador
  • Un intérprete
  • Un sistema archivador
  • Un programa para guiones (scripter)
  • Un ambiente de desarrollo
  • Muchos componentes para extender su funcionalidad
  • El compilador es un ejecutable escrito en C muy rápido
  • Compila medio millón de líneas por segundo en un doble núcleo a 2.33 GHz.

GAMBAS tiene, como lenguaje, las siguientes características:

  • Unas 250 palabras reservadas y funciones nativas para manejar casi todo: aritmética, strings, entrada/salida, archivos, rutinas de tiempo y fechas, etc.
  • Manejo completo de errores
  • Control completo de procesos con manejo en una pseudo terminal
  • Soporte completo para ver los descriptores de entrada/salida
  • Soporte de ciclos de eventos incluso con timers
  • Soporte nativo de cadenas (strings) UTF-8
  • Soporte completo a internalización y traducción
  • Habilidad de llamar funciones externas en bibliotecas del sistema compartidas

GAMBAS es un lenguaje orientado a objetos. Contiene:

  • Objetos y clases
  • Propiedades, métodos, constantes y eventos
  • Símbolos públicos y privados
  • Herencia simple (hay una discusión al respecto de esto en el mundo de la Programaicón Orientada a Objetos (POO), pero la herencia simple es la más utilizada en general)
  • Constructores y destructores
  • Herencia dinámica (diría yo, la que existe en cualquier herramienta de programación con objetos)

Además, GAMBAS es extensible con componentes para:

  • Interfaces gráficas vía QT4 Toolkit o GTK+ toolkit
  • Acceso a bases de datos: MySQL, PostgreSQL, SQLite y ODBC
  • Programación en redes. Manejo de protocolos: HTTP, FTP, SMTP, DNS
  • Automatización de aplicaciones vía D-Bus
  • Programación SDL
  • Programación en OpenGL
  • Programación en XML
  • Programación en CGI con manejo de sesiones

Los componentes están escritos en C/C++ y se guardan en bibliotecas compartidas. Los componentes escritos en GAMBAS son proyectos en GAMBAS.  Además permite usarse como un lenguaje de guiones o scripts. Esto permite poner dentro de GAMBAS el código dentro de un archivo de texto que se interpreta en tiempo de ejecución.

En fin, la idea parece buena. Habrá que echarle un vistazo pues aún nos quedan algunos días antes de entrar a trabajar, ¿o no?

Fuente: GAMBAS