Gambas es un dialecto orientado a objetos del lenguaje de programación BASIC y un entorno de desarrollo integrado que lo acompaña. [ 5 ] Diseñado para ejecutarse en Linux y otros sistemas operativos de tipo Unix , [ 6 ] su nombre es un acrónimo recursivo de Gambas casi significa BASIC . Gambas también es la palabra para gambas en español , francés y portugués , idiomas de los que se derivan los logotipos del proyecto.
Historia
Gambas fue desarrollado por el programador francés Benoît Minisini , y su primera versión se lanzó en 1999. Benoît había crecido con el lenguaje BASIC y decidió crear un entorno de desarrollo de software libre que permitiera crear programas con interfaces de usuario de forma rápida y sencilla. [ 4 ]
Las versiones 1.x de Gambas se lanzaron por primera vez el 4 de enero de 2005, [ 7 ] y presentaban una interfaz compuesta por varias ventanas separadas para formularios y diálogos del IDE, de forma similar a la interfaz de versiones anteriores de GIMP . Además, solo permitía desarrollar aplicaciones con Qt y estaba más orientado al desarrollo de aplicaciones para KDE . [ 8 ] La última versión de la serie 1.x fue Gambas 1.0.19.

La primera versión 2.x se lanzó el 2 de enero de 2008, tras tres o cuatro años de desarrollo. Incluía un rediseño importante de la interfaz, con todos los formularios y funciones integrados en una sola ventana, así como algunos cambios en la sintaxis de Gambas, aunque en general se mantuvo la compatibilidad del código. Presentaba actualizaciones importantes de los componentes existentes de Gambas, además de la adición de algunos nuevos, como componentes que podí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 al actualizar de Gambas 2.x a 3.x, pero no al revés.
La siguiente iteración importante de Gambas, las versiones 3.x, se lanzó el 31 de diciembre de 2011. [ 9 ] Una prueba de rendimiento de 2015 publicada en el sitio web de Gambas mostró que la escritura de scripts de Gambas 3.8.90 era más rápida en diversos grados que Perl 5.20.2 y la entonces última versión 2.7.10 de Python en muchas pruebas. [ 10 ] La versión 3.16.0 lanzada el 20 de abril de 2021, presentaba soporte completo para Wayland usando los componentes gráficos, así como paridad entre los componentes Qt 5 y GTK 3. [ 11 ]
Características

Gambas está diseñado para crear 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 compatible desde 3.6.0); el IDE de Gambas está escrito en Gambas. [ 12 ] [ 13 ] Gambas incluye un diseñador de GUI para ayudar a crear interfaces de usuario en un estilo basado en eventos , [ 14 ] pero también puede crear aplicaciones de línea de comandos , [ 15 ] así como interfaces de usuario basadas en texto usando el kit de herramientas ncurses . [ 16 ] El entorno de ejecución de Gambas es necesario para ejecutar ejecutables.
La funcionalidad se proporciona mediante una variedad de componentes, cada uno de los cuales puede seleccionarse para proporcionar características adicionales. [ 17 ] El dibujo puede proporcionarse mediante los kits de herramientas Qt y GTK, con un componente adicional diseñado para alternar entre ellos. [ 18 ] El dibujo también puede proporcionarse mediante la capa Simple DirectMedia (originalmente versión 1.x, con la 2.x añadida a partir de la versión 3.7.0), [ 19 ] que también puede utilizarse para la reproducción de audio mediante un componente de sonido independiente ( también se ha añadido un componente para la especificación OpenAL ). La compatibilidad con la aceleración de GPU está disponible mediante un componente OpenGL , así como con otro hardware proporcionado funcionalmente por varios otros componentes. [ 18 ] También hay componentes para gestionar otras tareas especializadas. [ 17 ]
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 desarrollar 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 (estos dos últimos adaptados a distribuciones específicas como Fedora / RHEL / CentOS , Mageia , Mandriva , OpenSUSE y Debian , Ubuntu / Mint ). La compatibilidad con la creación de AppImage se incorporó a la versión 3.19.0.
Desde la versión 3.2, Gambas IDE ha integrado un generador de perfiles y ha comenzado a utilizar la tecnología de compilación justo a tiempo .
Diferencias con Visual Basic
Gambas pretende ofrecer una experiencia similar a la del desarrollo en Microsoft Visual Basic , pero no es un clon de software libre del popular programa propietario. [ 20 ] [ 21 ] El autor de Gambas deja claro que existen similitudes con Visual Basic, como la sintaxis para programas BASIC y el entorno de desarrollo integrado; Gambas fue escrito desde el principio para ser un entorno de desarrollo propio y busca mejorar la fórmula. [ 22 ] [ 23 ] [ 24 ]
Su modelo de objetos , donde cada clase se representa en un archivo, así como el archivador para empaquetar el programa, están inspirados en el lenguaje de programación Java . [ 25 ] Gambas está diseñado para ser una alternativa para los antiguos desarrolladores de Visual Basic que han decidido migrar a Linux. También existen otras distinciones importantes entre Gambas y Visual Basic. Un ejemplo notable es que en Gambas los índices de los arreglos siempre comienzan con 0, mientras que los índices de Visual Basic pueden comenzar con 0 o 1. [ 26 ] Gambas también admite las notaciones abreviadas += y -= que no se encuentran en el Visual Basic clásico. Sin embargo, ambas son características de Visual Basic .NET .
Gambas también sobrevivió a otros dos intentos de implementar una interfaz de estilo Visual Basic para Qt y GTK en Linux, [ 27 ] [ 28 ] que fueron HBasic [ 29 ] [ 30 ] y GNOME Basic, [ 31 ] [ 32 ] así como el KBasic /Basic independiente de la plataforma para Qt. [ 33 ] [ 34 ] Desde entonces, también se han desarrollado IDE de estilo similar para FreeBASIC , a saber, VisualFBEditor, [ 35 ] y QB64 , a saber, InForm. [ 36 ]
Adopción

Se han escrito varios programas y numerosos ejemplos de código utilizando Gambas. Freecode (antes Freshmeat) enumeró 23 aplicaciones desarrolladas con Gambas, [ 37 ] mientras que la wiki de Gambas enumeró 82; [ 38 ] otros sitios especializados también listan aplicaciones y código para Gambas. [ 39 ] [ 40 ] [ 41 ]
Una aplicación escrita en Gambas, llamada Gambas3 ShowCase, funcionaba como un centro de software para descargar o instalar aplicaciones de Gambas 3. [ 42 ] Posteriormente, se descontinuó tras el lanzamiento de la primera granja de software de Gambas integrada en el IDE desde la versión 3.7.1, que contiene casi 500 aplicaciones y demostraciones. [ 43 ] [ 44 ] También existen varios sitios de la comunidad para Gambas, incluyendo foros y listas de correo. [ 45 ]
Entre las aplicaciones notables escritas en Gambas se incluyen Xt7-player-mpv, una interfaz gráfica de usuario para el reproductor mpv que se encuentra en varios repositorios de software de Linux, [ 46 ] [ 47 ] [ 48 ] e I-Nex, un programa para mostrar datos de hardware. [ 49 ] [ 50 ] [ 51 ] La colección de juegos comisat son ejemplos tempranos de videojuegos escritos en Gambas. [ 52 ]
Disponibilidad
Gambas está incluido en los repositorios de varias distribuciones de Linux , como Debian , Fedora , Slackware , Arch Linux , Mageia , PCLinuxOS , Linux Mint y Ubuntu . [ 53 ] Una versión de Microsoft Windows de Gambas se ejecutó bajo el entorno Cygwin , aunque esta versión fue significativamente menos probada que sus contrapartes de Linux y solo era de línea de comandos; también se han utilizado Cooperative Linux y derivados, [ 54 ] así como máquinas virtuales Linux especializadas . [ 55 ] [ 56 ] Un colaborador independiente, François Gallo, también trabajó en portar Gambas 3.x a Mac OS X y FreeBSD , basándose en el uso de versiones locales del sistema X11 . [ 57 ] Francois Revol también ha trabajado en una compilación para Haiku . [ 58 ] Gambas desde la versión 3.2 puede ejecutarse en Raspberry Pi , y ofrece compilación just-in-time allí desde la versión 3.12. También se puede ejecutar desde la nube usando rollApp . [ 59 ]
En noviembre de 2013, se discutió la futura portabilidad de Gambas, enumerando las principales preocupaciones siendo las características del kernel de Linux utilizadas en el intérprete, los componentes que usan software y bibliotecas específicas de Linux, y principalmente la dependencia de X11 en los componentes de Qt, GTK y de integración de 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 la versión 3.6.0) y Qt 5 (a partir de la versión 3.8.0), las versiones futuras estarían menos dependientes de X11, haciendo más posibles proyectos como Cygwin o versiones completamente nativas en otras plataformas. Benoît Minisini declaró que tenía la intención de "encapsular" el código específico de X11 para ayudar en cualquier intento de reemplazarlo, [ 60 ] con el soporte de X11 en el componente de escritorio movido a su propio componente a partir de la versión 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, incluyendo la mayoría de los componentes, kits de herramientas gráficas y el IDE completo. [ 61 ] [ 62 ] Los parches relevantes se incorporaron a partir de la versión 3.9.2. [ 63 ] Esto reemplaza el método recomendado anteriormente de usar el reenvío de freenx desde un servidor Linux. [ 64 ] También se ha ejecutado con éxito utilizando el Subsistema de Windows para Linux . [ 65 ] [ 66 ] Esto generalmente se hacía usando un emulador de terminal X como Mobaxterm en Windows, [ 67 ] ya que WSL no admitía gráficos X11 directamente hasta Windows 11. [ 68 ]
Código de ejemplo
Un programa "¡Hola, mundo!" con interfaz gráfica de usuario.
Public Sub Main () Message ( "Hola, mundo!" ) EndPrograma que calcula un polinomio de 100 términos 500.000 veces y lo repite diez veces (utilizado para pruebas de rendimiento ).
Subprueba privada ( X como flotante ) como flotanteDim Mu As Float = 10.0 Dim Pu , Su As Float Dim I , J , N As Integer Dim aPoly As New Float [ 100 ]N = 500000Para I = 0 a N - 1 Para J = 0 a 99 Mu = ( Mu + 2.0 ) / 2.0 aPoly [ J ] = Mu Siguiente Su = 0.0 Para J = 0 a 99 Su = X * Su + aPoly [ J ] Siguiente Pu += Su SiguienteRegresar PuFinSubprincipal público ( )Dimensión I como EnteroPara I = 1 a 10 Imprimir Prueba ( 0.2 ) SiguienteFinVéase también
Referencias
- ^ "Versiones · Gambas / gambas · GitLab" . Consultado el 15 de noviembre de 2023 .
- ^ Gallo, François (16 de junio de 2011). "Gambas 3 OS X" . AllBASIC . Consultado el 28 de septiembre de 2023 .
- ^ djgpp (marzo de 2021). "¿Gambas en Haiku?" . Haiku . Consultado el 25 de febrero de 2024 .
- ^ a b "Introducción a la documentación de Gambas" . Sitio web de Gambas . Consultado el 09/10/2017 .
- ^ Huges, Matthew (2015-03-03). "La guía BÁSICA de GAMBAS: todo lo que necesitas saber" . MakeUseOf . Recuperado el 2023-02-11 .
- ^ Upfold, Peter (2008-09-08). "Gambas — Casi Visual Basic para Linux" . FOSSwire . Recuperado el 2011-05-07 .
- ^ Cook (5 de enero de 2005). "Gambas: un entorno de desarrollo BASIC" . LWN.net . Consultado el 25 de febrero de 2024 .
- ^ "Gambas: Un Visual Basic rápido para Linux" . CodeFez. Archivado del original el 9 de septiembre de 2009. Consultado el 4 de abril de 2007 .
- ^ "Gambas 3.0 para BASIC con correcciones de errores y seguridad" . The H. Consultado el 5 de enero de 2012 .
- ^ "Benchmarking" . Sitio web de Gambas . Consultado el 11 de febrero de 2018 .
- ^ "Notas de la versión 3.16.0" . Sitio web de Gambas . Consultado el 11 de febrero de 2021 .
- ^ "Preguntas frecuentes" . Documentación de Gambas . Consultado el 17 de noviembre de 2014 .
- ^ Larabel, Michael (25-11-2013). "El proyecto Gambas: es como Visual Basic en Linux" . Phoronix . Recuperado el 25-02-2024 .
- ^ Upfold, Peter (2008-09-08). "Gambas - Casi Visual Basic para Linux" . FOSSwire . Recuperado el 25-02-2024 .
- ^ Ratliff Sr., Gary L. (octubre de 2008). "Un alfabeto de lenguajes informáticos: BASIC" . Revista PCLinuxOS . Consultado el 25 de febrero de 2024 .
- ^ Dee, Steve (27-03-2017). "Programación de la CLI de Gambas: interfaz de usuario basada en texto de ncurses" . Captain Bogdit . Recuperado el 15-04-2023 .
- ^ a b Fernández, Daniel (11 de noviembre de 2004). "Respecto a Gambas" . OSNews . Recuperado el 7 de mayo de 2011 .
- ^ a b "Gambas RAD" . Linux.co.uk. Archivado del original el 29 de agosto de 2011. Consultado el 7 de mayo de 2011 .
- ^ "¿Por qué un nuevo componente SDL?" . Lista de correo de Gambas. Archivado del original el 09/02/2015 . Recuperado el 09/02/2015 .
- ^ Allen Holm, Joshua (24-04-2014). "Programación BASIC con Gambas para el programador principiante" . Opensource.com . Recuperado el 05-04-2023 .
- ^ Akbar, Ade Malsasa (28-01-2022). "Alternativas a Visual Basic" . Ubuntu Buzz . Recuperado el 10-03-2024 .
- ^ Mark Alexander Bain (28-08-2008). "Gambas: casi Visual Basic en Linux" . Suite101.
- ^ Frank Wieduwilt (octubre de 2008). "Programación con el IDE Gambas Basic" . Linux Pro Magazine . Consultado el 10 de diciembre de 2011 .
- ^ AWC Electronics. "Computación física con Linux: un enfoque rápido usando Gambas" . Consultado el 18 de febrero de 2012 .
- ^ Emms, Steve (11 de noviembre de 2023). "Gambas: entorno de desarrollo y una plataforma de desarrollo potente y completa" . LinuxLinks . Consultado el 25 de febrero de 2024 .
- ^ "Diferencias con Visual Basic" . Sitio web de Gambas . Consultado el 1 de mayo de 2020 .
- ^ "HBasic: configuración de VB de Linux" . 2005-12-06 . Consultado el 26 de septiembre de 2023 .
- ^ "BASIC para Linux" . Fredshack . Consultado el 26 de septiembre de 2023 .
- ^ "HBasic IDE y lenguaje" . SourceForge . 16 de enero de 2007. Consultado el 26 de septiembre de 2023 .
- ^ Macoratti, José Carlos. "VB para Linux" . Macoratti.net . Consultado el 26 de septiembre de 2023 .
- ^ "GB - Básico para GNOME" . GNOME . Archivado del original el 5 de febrero de 2005. Consultado el 26 de septiembre de 2023 .
- ^ Perr, John (1 de enero de 2003). "Programación BASIC con Unix" . LinuxFocus . Consultado el 26 de septiembre de 2023 .
- ^ "KBasic: un Rad/IDE similar a VB para KDE" . KDE .noticias . 29 de septiembre de 2000 . Consultado el 27 de septiembre de 2023 .
- ^ Tranter, Jeff (19 de agosto de 2015). "Uso de Qt con lenguajes de programación alternativos - Parte 1" . Integrated Computer Solutions . Recuperado el 25 de febrero de 2024 .
- ^ Speed, Richard (06/05/2022). "RAD Basic, el Visual Basic 7 que nunca fue, lanza su tercera versión alfa" . The Register . Consultado el 26/03/2023 .
FreeBASIC, que implementa gran parte de lo que estaba oculto en Microsoft QuickBASIC (y tiene un IDE ingenioso en forma de VisualFBEditor).
- ^ Rogoz, Ivan (2022-04-07). "Un recuerdo del pasado: QBasic 4.5" . Barn Lab . Consultado el 26 de septiembre de 2023. QB64
viene con un editor IDE WYSIWYG llamado InForm que lo acerca al uso cotidiano como un lenguaje rápido y sencillo para la automatización en Windows.
- ^ "23 proyectos etiquetados como "Gambas"" . Carne fresca . Archivado del original el 28-09-2013 . Recuperado el 28-10-2012 .
- ^ "Repositorio de aplicaciones" . Gambas. Archivado del original el 26-10-2019 . Recuperado el 01-05-2020 .
- ^ "Sitio web de GAMBAS BASIC" . GAMBAS BASIC. Archivado del original el 12 de mayo de 2011. Consultado el 7 de mayo de 2011 .
- ^ "Ejemplos de Gambas" . Piga Software . Consultado el 7 de mayo de 2011 .
- ^ Juegos de gambas - Libregamewiki
- ^ "Gambas3 ShowCase" . gbWilly. Archivado del original el 10 de enero de 2016. Consultado el 22 de septiembre de 2013 .
- ^ Granja Gambas
- ^ Protocolo del servidor Gambas Farm - Documentación de Gambas
- ^ "Listas de correo y foros" . Sitio web de Gambas. Archivado del original el 1 de marzo de 2021. Consultado el 4 de abril de 2021 .
- ^ xt7-player-mpv - linux-APPS.com
- ^ XT7-Player – El mejor reproductor de vídeo para Kubuntu / KDE - Manual de Ubuntu
- ^ Xt7-Player es una interfaz gráfica de usuario (GUI) de Mplayer con todas las funciones - Actualización web8
- ^ Szabo, Vincze-Aron. "Obteniendo información del sistema con I-Nex" . Linux Magazine . Consultado el 11 de noviembre de 2024 .
- ^ Akbar, Ade Malsasa (21 de abril de 2015). "I-Nex, una utilidad de hardware CPU-Z avanzada para Linux" . Ubuntu Buzz . Recuperado el 11 de noviembre de 2024 .
- ^ Sneddon, Joey (24 de noviembre de 2014). "i-Nex: una herramienta de estadísticas de hardware CPU-Z para Linux" . OMG Ubuntu! . Consultado el 11 de noviembre de 2024 .
- ^ "Reseña de Comisat Games Collection 0.5.2" . Nixbit . Consultado el 8 de febrero de 2023 .
- ^ Buse, Jarret W. (18 de agosto de 2014). "Descripción general de GAMBAS" . Linux.org . Recuperado el 25 de febrero de 2024 .
- ^ Gambas en Windows - Alternativa
- ^ Morgan, R. (29 de junio de 2014). "Cómo ejecutar Gambas en Windows" . Revista Gambas . Archivado del original el 10 de diciembre de 2016.
- ^ Ejecutar programas Gambas en Windows - PigaLore, la wiki del software Piga
- ^ Gallo, François. "¡Un paso adelante en Gambas!" . gambas-user . Archivado del original el 10-02-2017 . Recuperado el 07-04-2023 .
- ^ djgpp (marzo de 2021). "¿Gambas en Haiku?" . Haiku . Consultado el 25 de febrero de 2024 .
- ^ La nueva versión de Gambas 3.15.2 ya está disponible en rollApp.
- ^ Gambas del futuro o qué tipo de gambas queremos Archivado el 27/02/2014 en Wayback Machine , Lista de correo de Gambas
- Guía de instalación de Cygwin - Wiki de Gambas
- ^ Paquete gambas3 - Sitio web de Cygwin
- ^ Morgan, R. (29 de junio de 2014). "Cómo ejecutar Gambas en Windows" . Revista Gambas . Archivado del original el 8 de abril de 2016.
- Cómo ejecutar Gambas en Windows - Wiki de Gambas
- ^ Dovey, John. "Cómo ejecutar Gambas y Gambas Apps en Windows usando WSL" . Gambas Wiki . Consultado el 25 de febrero de 2024 .
- ^ Gambas en Windows , Gambas-One
- ^ Vasques, Daniel (09-01-2023). "Cómo ejecutar Gambas en Ubuntu" . Elneson-santafe . Archivado del original el 11-02-2023 . Recuperado el 11-02-2023 .
- ^ Windows 11 , Gambas-One
Lecturas adicionales
- Mark Alexander Bain (28 de abril de 2006) Una introducción a Gambas , Linux Journal , número 146, junio de 2006 (en prensa)
- Mark Alexander Bain (3 de diciembre de 2004) Gambas acelera el desarrollo de bases de datos , Linux.com
- Mark Alexander Bain (12 de diciembre de 2007) Creación de gráficos sencillos con Gambas 2.0 , Linux.com
- Fabián Flores Vadell (noviembre 2010) Cómo programar con Gambas
Enlaces externos
- Sitio web oficial

- Gambas en GitLab
- Documentación de Gambas
- Lista de correo de Gambas archivada el 27/01/2018 en Wayback Machine .
- Gambas Uno , comunidad inglesa
- Gambas India , comunidad y repositorio de código fuente
- Compiladores BASIC
- Intérpretes BÁSICOS
- Familia de lenguajes de programación BASIC
- Entornos de desarrollo integrados gratuitos
- Software libre programado en BASIC
- entornos de desarrollo integrados Linux
- Herramientas de programación Linux
- Lenguajes de programación orientados a objetos
- Lenguajes de programación procedimental
- Lenguajes de programación creados en 1999
- Software de autoalojamiento
- Software que utiliza Qt
- Software que utiliza GTK
- Software que utiliza la Licencia Pública General de GNU.
- creadores de interfaces de usuario
