Gambas Basic™

¿Que es Gambas Basic™?

logo-gambas

Gambas-basic es un entorno de lenguaje de objetos y desarrollo completo con un intérprete BASIC. Se publica bajo la Licencia Pública General de GNU. Su arquitectura está inspirada en gran parte por Java. Entonces Gambas-basic se compone de:

Un compilador.
Un interprete.
Un archivador.
Un scripter.
Un entorno de desarrollo.
Muchos componentes de extensión.

El compilador es un pequeño y rápido ejecutable escrito en C:

Compila alrededor de 500000 líneas no-vacías en un segundo en mi propio Core2 Duo @ 2.33GHz. Esta velocidad permite un proceso de desarrollo incremental rápido de código / compilación / prueba.
En este momento casi no se optimiza, dependiendo del intérprete para realizar esta tarea en tiempo de ejecución.
Gestiona y compila traducciones de cadenas mediante el uso de las herramientas gettext de GNU.
El intérprete es un pequeño ejecutable también escrito en C que tiene unos 508 Kb en un sistema de 64 bits.

Proporciona todas las características nativas del idioma, al otorgar acceso indirecto a casi todas las funciones POSIX glibc.
Carga clases bajo demanda, optimizando el bytecode la primera vez que se ejecuta.
La vinculación entre clases se realiza completamente en tiempo de ejecución. Esto se hace lo más tarde posible. Así que incluso los archivos ejecutables grandes comienzan rápidamente.
Finalmente, el archivador es un programa que crea un ejecutable de Gambas-basic desde un directorio de proyectos de Gambas-basic.

El lenguaje de Gambas-basic

Las principales características del lenguaje BASIC de Gambas-basic son:

Cerca de 250 palabras clave y funciones nativas para administrar casi todo: aritmética, cadenas, entradas-salidas, archivos, tiempo…
Gestión completa de errores.
Control completo del proceso, con administración pseudo-terminal.
Soporte completo para ver los descriptores de archivos de entrada-salida.
Soporte de bucle de eventos con temporizadores.
Soporte nativo de cuerdas UTF-8.
Completa internacionalización y soporte de traducción.
Capacidad de invocar funciones externas en bibliotecas compartidas del sistema.
Pero Gambas-basic también es un verdadero lenguaje orientado a objetos. Con:

Objetos y clases

Propiedades, métodos, constantes y eventos.
Símbolos públicos y privados.
Polimorfismo, es decir, envío de métodos virtuales.
Herencia única.
Constructores y destructores.
Matriz de acceso, enumeradores, objetos ordenables.
El mecanismo de herencia de Gambas-basic es completamente dinámico y le permite:

Crea una versión más especializada de una clase ya existente.
Reimplanta una clase y extiéndela.
Anular algunos métodos o propiedades de una clase.
Todas las clases se pueden heredar, volver a implementar o anular, incluso las nativas escritas en C/C++.

Finalmente, una clase nativa llamada Observer le permite interceptar cualquier evento provocado por cualquier objeto.

Un lenguaje extensible

El intérprete principal de Gambas-basic es un programa solo de terminal. Todas las demás funciones son proporcionadas por componentes, que son grupos de clases escritas en C/C++ o escritas directamente en Gambas-basic.

Estos componentes proporcionan, entre otras cosas:

Programación gráfica de la interfaz de usuario, basada en el kit de herramientas QT4, o el kit de herramientas GTK +.
Acceso a muchos sistemas de bases de datos: MySQL, PostgreSQL, SQLite y ODBC.
Programación de red, con administración avanzada de protocolos: HTTP, FTP, SMTP, DNS.
Automatización de aplicaciones con D-Bus.
Programación SDL.
Programación de OpenGL.
Programación XML.
Programación CGI con gestión de sesiones.
Los componentes escritos en C/C++ se almacenan en bibliotecas compartidas, y los componentes escritos en Gambas-basic son solo proyectos de Gambas-basic como cualquier otro proyecto.

El intérprete los carga al inicio del programa o cuando es necesario durante la ejecución del programa.

Desarrollar un componente en C/C++ es similar a desarrollar un controlador de dispositivo para el kernel de Linux:

El código fuente del componente se encuentra dentro del árbol fuente de Gambas-basic.
Los componentes y el intérprete se comunican a través de una interfaz de programación de aplicaciones.
Se ejecutan en el entorno del intérprete y, por lo tanto, no pueden hacer lo que quieran.
La documentación sobre la escritura de componentes aún no ha finalizado, pero toda la ayuda requerida se proporcionará en la lista de correo del desarrollador.

Un lenguaje de scripting

Gambas-basic se puede utilizar como lenguaje de scripting. Esta característica es proporcionada por el scripter, un pequeño ejecutable de Gambas-basic que le permite volcar cualquier código de Gambas-basic en un archivo de texto.

Aquí hay un pequeño ejemplo de guión:

#!/usr/bin/env gbs3

‘ This script returns the memory really used by the system, the cache and swap being excluded.

Function GetUsedMemory() As Integer

Dim sRes As String
Dim aRes As String[]
Dim cVal As New Collection
Dim sVal As String

Exec [“cat”, “/proc/meminfo”] To sRes

For Each sVal In Split(sRes, “\n”, “”, True)
aRes = Split(sVal, ” “, “”, True)
cVal[Left$(aRes[0], -1)] = CInt(aRes[1])
Next

Return cVal!MemTotal – cVal!MemFree – cVal!Buffers – cVal!Cached + cVal!SwapTotal – cVal!SwapFree – cVal!SwapCached

End

Independencia de la base de datos, la GUI y el escritorio

Los componentes de Gambas-basic no son solo ataduras. Intentan abstraer la biblioteca subyacente en la que se basan, de modo que ganen coherencia y simplicidad.

Independencia de la base de datos

Con Gambas-basic, puede escribir programas que son independientes del sistema de base de datos subyacente: se accede a cada sistema de base de datos a través de la misma API.

Por ejemplo, el administrador de la base de datos integrado en el IDE usa el mismo código para administrar las bases de datos MySQL, PostgreSQL, SQLite o ODBC.

GUI Independiente

Con Gambas-basic, puede escribir programas que son independientes del conjunto de herramientas gráficas: el componente QT4 y el componente GTK + tienen la misma interfaz.

gambas-screen1

gambas-screen2

Independencia de escritorio

Además, tratamos de proporcionar independencia de escritorio también, mediante:

El uso de temas de icono de acuerdo con el entorno de escritorio actual (KDE, Gnome o XFCE).
El componente gb.desktop, basado en los scripts de shell del proyecto de Portland.
El entorno de desarrollo
Gambas-basic proporciona un IDE con todas las funciones, que en sí mismo está escrito en Gambas-basic.

Puede crear formularios, insertar controles simplemente dibujándolos, editando su código y haciendo muchas otras cosas similares a otros sistemas de desarrollo rápido de aplicaciones.

El entorno de desarrollo de Gambas-basic proporciona las siguientes características:

Resaltado de sintaxis del código de Gambas-basic, HTML y archivos CSS.
Finalización automática.
Editor de formularios GUI.
Depurador integrado.
Editor de iconos.
Traductor de cadenas.
Soporte de Subversion.
Administrador de base de datos.
Documentación en línea proveniente directamente de la wiki de documentación.
Muchos ejemplos de programas.
Además, puede hacer paquetes de instalación para muchas distribuciones, y también paquetes de instalación tar.gz basados ​​en GNU autotools.

Las siguientes distribuciones de GNU / Linux son compatibles:

Archlinux.
Debian.
Fedora.
Mandriva.
SuSE.
Slackware.
Ubuntu.

Finalmente, aunque el entorno de desarrollo está fuertemente relacionado con el lenguaje de Gambas-basic, no es necesario que lo use para crear programas de Gambas-basic. Todas las herramientas de Gambas-basic (compilador, intérprete …) se pueden usar desde la línea de comandos.

Instalar Gambas-basic en su versión de la distribución de Linux

El siguiente comando de consola instalará la versión existente de cada distribución. En el caso de distribuciones que no son de la familia Ubuntu/Mint es lo más aconsejable.

Para familia Ubuntu/Mint.

sudo apt update
sudo apt install gambas3

Instalar la última versión Gambas-basic 3 estable.

Los paquetes binarios de Gambas3 más recientes se pueden encontrar en un PPA creado y mantenido por el ‘Gambas Team’.

Ello te permite instalar la versión estable más reciente de Gambas3 sin la necesidad de compilar.
Primeramente añade la PPA a tu fichero sources.list. Abre un terminal y escribe:

sudo add-apt-repository ppa:gambas-team/gambas3

Luego actualiza las fuentes e instala Gambas3:

sudo apt update
sudo apt install gambas3

Tras la instalación, encontrarás Gambas3 en el menú ‘Desarrollo’.

Instalar la última versión Gambas-basic 3 trunk

Existen paquetes binarios para la versión de desarrollo /trunk compilados diariamente por ‘Gambas Team’.
Ello te permite probar la versión más reciente de desarrollo sin la necesidad de compilar.

Primeramente añade la PPA a tu fichero sources.list. Abre un terminal y escribe:

sudo add-apt-repository ppa:gambas-team/gambas-daily

Luego actualiza las fuentes e instala Gambas3:

sudo apt update
sudo apt install gambas3

Tras la instalación, encontrarás Gambas3 en el menú ‘Desarrollo’.

Web oficial

Web oficial | http://gambas.sourceforge.net/en/main.html

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: