Gambas

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Medio ambiente de desarrollo integrado

Gambas es el nombre de un dialecto orientado a objetos del lenguaje de programación BASIC, así como del entorno de desarrollo integrado que lo acompaña. Diseñado para ejecutarse en Linux y otros sistemas operativos de computadora similares a Unix, su nombre es un acrónimo recursivo de Gambas Acasi M eans Básicoic. Gambas es también la palabra para gambas en los idiomas español, francés y portugués, de donde se derivan los logotipos del proyecto.

Historia

Gambas 1.0.15 corriendo desde KDE

Gambas fue desarrollado por el programador francés Benoît Minisini, con su primer lanzamiento en 1999. Benoît había crecido con el lenguaje BASIC y decidió crear un entorno de desarrollo de software gratuito que pudiera crear programas con interfaces de usuario de forma rápida y sencilla.

Las versiones Gambas 1.x presentaban una interfaz compuesta por varias ventanas separadas diferentes para formularios y diálogos IDE de manera similar a la interfaz de versiones anteriores de GIMP. También solo podía desarrollar aplicaciones utilizando Qt y estaba más orientado al desarrollo de aplicaciones para KDE. El último lanzamiento de las versiones 1.x fue Gambas 1.0.19.

Gambas 2.7 con interfaz rusa

La primera de las versiones 2.x se lanzó el 2 de enero de 2008, después de tres o cuatro años de desarrollo. Presentó un importante rediseño de la interfaz, ahora con todas las formas y funciones integradas en una sola ventana, así como algunos cambios en la sintaxis de Gambas, aunque en su mayor parte se mantuvo la compatibilidad del código. Presentó actualizaciones importantes de los componentes de Gambas existentes, así como la adición de algunos nuevos, como nuevos componentes que podrían usar GTK+ o SDL para dibujar o utilizar la aceleración OpenGL. Las versiones de Gambas 2.x pueden cargar y ejecutar proyectos de Gambas 1.x, con incompatibilidades ocasionales; lo mismo ocurre con Gambas 2.xa 3.x, pero no con Gambas 1.xa 3.x.

La próxima iteración importante de Gambas, las versiones 3.x, se lanzó el 31 de diciembre de 2011. Un punto de referencia de 2015 publicado en el sitio web de Gambas mostró que las secuencias de comandos de Gambas 3.8.90 eran más rápidas en diversos grados que Perl 5.20.2 y la versión 2.7.10 más reciente de Python en muchas pruebas. La versión 3.16.0 lanzada el 20 de abril de 2021 contó con soporte completo para Wayland usando los componentes gráficos, así como paridad entre los componentes Qt 5 y GTK 3.

Características

Gambas 2.7.0 corriendo en Fedora Linux con Blackbox

Gambas está diseñado para construir programas gráficos usando Qt (actualmente Qt 4.x o 5.x desde 3.8.0) o el kit de herramientas GTK (GTK 3.x también soportado desde 3.6.0); el IDE de Gambas está escrito en Gambas. Gambas incluye un diseñador de GUI para ayudar a crear interfaces de usuario en un estilo basado en eventos, pero también puede crear aplicaciones de línea de comandos, así como interfaces de usuario basadas en texto usando el kit de herramientas ncurses. Se necesita el entorno de tiempo de ejecución de Gambas para ejecutar ejecutables.

La funcionalidad la proporciona una variedad de componentes, cada uno de los cuales se puede seleccionar para proporcionar características adicionales. El dibujo se puede proporcionar a través de los kits de herramientas Qt y GTK, con un componente adicional que está diseñado para cambiar entre ellos. El dibujo también se puede proporcionar a través de Simple DirectMedia Layer (originalmente versión 1.x, con 2.x agregado a partir de 3.7.0), que también se puede utilizar para la reproducción de audio a través de un componente de sonido separado (un componente para la especificación OpenAL tiene también se ha añadido). El soporte de aceleración de GPU está disponible a través de un componente OpenGL, así como otro hardware proporcionado funcionalmente por varios otros componentes. También hay componentes para manejar otras tareas especializadas.

Uno de los ejemplos que se ejecutan dentro de Gambas 3 IDE
Juego: Guerra de estrellas hecha en Gambas3

Con Gambas, los desarrolladores también pueden usar bases de datos como MySQL o PostgreSQL, crear aplicaciones KDE (Qt) y GNOME GTK con DCOP, traducir programas de Visual Basic a Gambas y ejecutarlos en Linux, crear soluciones de red y crear aplicaciones web CGI. El IDE también incluye una herramienta para la creación de paquetes de instalación, compatible con GNU Autotools, slackpkg, pacman, RPM y debs (los dos últimos adaptados para distribuciones específicas como Fedora/RHEL/CentOS, Mageia, Mandriva, OpenSUSE y Debian, Ubuntu/Menta).

Gambas desde la versión 3.2 IDE tiene un perfilador integrado y comenzó a usar la tecnología de compilación justo a tiempo.

Diferencias con Visual Basic

Gambas pretende brindar una experiencia similar a la del desarrollo en Microsoft Visual Basic, pero no es un clon de software libre del popular programa propietario. El autor de Gambas aclara que existen similitudes con Visual Basic, como la sintaxis de los programas BASIC y el entorno de desarrollo integrado; Gambas se escribió desde el principio para ser un entorno de desarrollo propio y busca mejorar la fórmula.

Su modelo de objetos, cada clase representada en un archivo, así como el archivador para empaquetar el programa, está inspirado en el lenguaje de programación Java. Gambas pretende ser una alternativa para los antiguos desarrolladores de Visual Basic que han decidido migrar a Linux. También hay otras distinciones importantes entre Gambas y Visual Basic. Un ejemplo notable es que en Gambas los índices de matriz siempre comienzan con 0, mientras que los índices de Visual Basic pueden comenzar con 0 o 1. Gambas también admite las abreviaturas += y -= que no se encuentran en el Visual Basic clásico. Sin embargo, ambas son características de Visual Basic.NET.

Adopción

Donkey.GB

Se han escrito varios programas y muchas formas de código de ejemplo usando y para Gambas. Freecode (anteriormente Freshmeat) enumeró 23 aplicaciones que se desarrollaron con Gambas, mientras que el wiki de Gambas enumeró 82; varios otros sitios especializados enumeran las aplicaciones y el código de Gambas. Una aplicación escrita de Gambas, llamada Gambas3 ShowCase, actuó como un centro de software para descargar o instalar aplicaciones de Gambas 3. Desde entonces, se suspendió luego del lanzamiento de Gambas Software Farm de primera parte integrado en el IDE desde 3.7.1, que contiene casi 500 aplicaciones y demostraciones. También existen varios sitios comunitarios, incluidos foros comunitarios y listas de correo, para Gambas. Una aplicación notable escrita en Gambas es Xt7-player-mpv, una interfaz gráfica de usuario para el reproductor mpv contenida en varios repositorios de software de Linux. La colección de juegos de comisat son ejemplos tempranos de videojuegos escritos en Gambas.

Disponibilidad

Gambas está incluido en los repositorios de varias distribuciones de Linux, como Debian, Fedora, Mandriva Linux y Ubuntu. Se ejecutó una versión de Microsoft Windows de Gambas en el entorno Cygwin, aunque esta versión se probó significativamente menos que sus contrapartes de Linux y solo era de línea de comandos; También se han utilizado Linux cooperativo y derivados, así como máquinas virtuales Linux especializadas. Un colaborador independiente, François Gallo, también trabajó en la migración de Gambas 3.xa Mac OS X y FreeBSD, basándose en el uso de versiones locales del sistema X11. Gambas de la versión 3.2 puede ejecutarse en Raspberry Pi y ofrece compilación justo a tiempo desde la versión 3.12. También se puede ejecutar desde la nube usando rollApp.

En noviembre de 2013, se discutió la portabilidad futura de Gambas, y se enumeraron las principales preocupaciones como las características del kernel de Linux utilizadas en el intérprete, los componentes que usan software y bibliotecas específicos de Linux, y principalmente la vinculación de X11 en los componentes de integración de Qt, GTK y escritorio.. Sin embargo, en parte debido a la necesidad de actualizar a kits de herramientas más nuevos como GTK 3 (agregado a partir de 3.6.0) y Qt 5 (a partir de 3.8.0), las versiones futuras estarían menos vinculadas a X11, lo que haría que proyectos como Cygwin o completamente nativos Versiones en otras plataformas más posibles. Benoît Minisini afirmó que pretendía "encapsular" Código específico de X11 para ayudar en cualquier intento de reemplazarlo, con el soporte de X11 en el componente de escritorio movido a su propio componente a partir de 3.6.0.

El 27 de octubre de 2016, se publicó una captura de pantalla y una guía de configuración desde la página principal para ejecutar Gambas completamente a través de Cygwin, incluidos la mayoría de los componentes, los kits de herramientas gráficas y el IDE completo. Los parches relevantes se incorporaron a partir de la versión 3.9.2. Esto reemplaza el método recomendado anterior de usar el reenvío freenx desde un servidor Linux. También se ha ejecutado con éxito utilizando el subsistema de Windows para Linux. Esto generalmente se hacía usando un emulador de terminal X como Mobaxterm en Windows, ya que WSL no admitía gráficos X11 directamente hasta Windows 11.

Código de ejemplo

A "¡Hola, mundo!" Programa con interfaz gráfica de usuario.

Público Subsidio Main() Mensaje()"¡Hola, Mundo!")Final

Programa que calcula un polinomio de 100 términos 500000 veces y lo repite diez veces (utilizado para evaluación comparativa).

Privado Subsidio Prueba()X As Float) As Float Dim Mu As Float = 10.0 Dim Pu, Su As Float Dim I, J, N As Integer Dim a Poly As Nuevo Float[100] N = 500000 Para I = 0 A N - 1 Para J = 0 A 99 Mu = ()Mu + 2.0) / 2.0 a Poly[J] = Mu Siguiente Su = 0,0 Para J = 0 A 99 Su = X * Su + a Poly[J] Siguiente Pu += Su Siguiente Regreso PuFinalPúblico Subsidio Main() Dim I como Integer Para I = 1 A 10 Imprimir Prueba()0.2) SiguienteFinal
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save