stringtranslate.com

Gambas

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. [5] Diseñado para ejecutarse en Linux y otros sistemas operativos informáticos similares a Unix , [6] su nombre es un acrónimo recursivo de Gambas Almost Means Basic . Gambas es también la palabra para langostinos en los idiomas español , francés y portugués , de donde se derivan los logotipos del proyecto .

Historia

Gambas 1.0.15 se ejecuta desde KDE

Gambas fue desarrollado por el programador francés Benoît Minisini , y su primer lanzamiento se produjo en 1999. Benoît había crecido con el lenguaje BASIC y decidió crear un entorno de desarrollo de software libre que pudiera 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 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 . [8] 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. Incluía un importante rediseño de la interfaz, ahora con todos los formularios y funciones integrados en una única ventana, así como algunos cambios en la sintaxis de Gambas, aunque en su mayor parte se mantuvo la compatibilidad del código. Incluía importantes actualizaciones de los componentes de Gambas existentes, así como la incorporación de algunos nuevos, como nuevos componentes que podían utilizar 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 es cierto para Gambas 2.x a 3.x, pero no de Gambas 1.x a 3.x.

La siguiente iteración importante de Gambas, las versiones 3.x, se lanzó el 31 de diciembre de 2011. [9] Un punto de referencia de 2015 publicado en el sitio web de Gambas mostró que la creación de scripts de Gambas 3.8.90 era más rápida en diversos grados que Perl 5.20.2 y la versión 2.7.10 de Python , la última en ese momento, en muchas pruebas. [10] La versión 3.16.0, lanzada el 20 de abril de 2021, presentó soporte completo para Wayland usando los componentes gráficos, así como paridad entre los componentes Qt 5 y GTK 3. [11]

Características

Gambas 2.7.0 ejecutándose en Fedora Linux con Blackbox

Gambas está diseñado para crear programas gráficos utilizando Qt (actualmente Qt 4.x o 5.x desde 3.8.0) o el kit de herramientas GTK (GTK 3.x también compatible a partir de 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 controlado por eventos , [14] pero también puede crear aplicaciones de línea de comandos , [15] así como interfaces de usuario basadas en texto utilizando 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 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. [18] 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), [19] que también se puede utilizar para la reproducción de audio a través de un componente de sonido separado ( también se ha agregado un componente para la especificación OpenAL ). El soporte de aceleración de GPU está disponible a través de un componente OpenGL , así como otro hardware funcionalmente proporcionado por varios otros componentes. [18] También hay componentes para manejar otras tareas especializadas. [17]

Uno de los ejemplos que se ejecutan dentro de Gambas 3 IDE
Juego: Stars War creado 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 bajo 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 / Mint ). El soporte para la creación de AppImage se incorporó a la versión 3.19.0.

Desde la versión 3.2 IDE de Gambas se ha integrado un generador de perfiles y se ha empezado a utilizar tecnología de compilación just-in-time .

Diferencias con Visual Basic

Gambas está pensado para proporcionar una experiencia similar a la de desarrollar 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 de los 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 , cada clase representada en un archivo, así como el archivador para empaquetar el programa están todos inspirados en el lenguaje de programación Java . [25] Gambas está destinado a 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. [26] 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 .

Gambas también sobrevivió a otros dos intentos de implementar una interfaz de estilo Visual Basic para Qt y GTK en Linux, [27] [28] siendo HBasic [29] [30] y GNOME Basic, [31] [32] así como la plataforma independiente KBasic /Basic para Qt. [33] [34] Desde entonces se han desarrollado IDE de estilo similar también para FreeBASIC , a saber, VisualFBEditor, [35] y QB64 , a saber, InForm. [36]

Adopción

Granja de software
BURRO.GB

Se han escrito varios programas y muchas formas de código de ejemplo utilizando y para Gambas. Freecode (anteriormente Freshmeat) enumeró 23 aplicaciones que se desarrollaron utilizando Gambas, [37] mientras que la wiki de Gambas enumeró 82; [38] varios otros sitios especializados enumeran aplicaciones y código de Gambas. [39] [40] [41]

Una aplicación escrita en Gambas, llamada Gambas3 ShowCase, actuaba como un centro de software para descargar o instalar aplicaciones de Gambas 3. [42] Desde entonces se ha discontinuado tras el lanzamiento de la primera parte Gambas Software Farm integrada en el IDE desde 3.7.1, que contiene casi 500 aplicaciones y demostraciones. [43] [44] También existen varios sitios comunitarios, incluidos foros comunitarios y listas de correo, para Gambas. [45]

Entre las aplicaciones notables escritas en Gambas se incluyen Xt7-player-mpv, una interfaz gráfica de usuario para el reproductor mpv contenida 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 de comisat son ejemplos tempranos de videojuegos escritos en Gambas. [52]

Disponibilidad

Gambas está incluido en los repositorios de varias distribuciones Linux , como Debian , Fedora , Slackware , Arch Linux , Mageia , PCLinuxOS , Linux Mint y Ubuntu . [53] Se ejecutó una versión de Gambas para Microsoft Windows en el entorno Cygwin , aunque esta versión fue significativamente menos probada que sus contrapartes Linux y solo era de línea de comandos; también se han utilizado Linux cooperativo y derivados, [54] así como máquinas virtuales Linux especializadas . [55] [56] Un colaborador independiente, François Gallo, también trabajó en la portabilidad de 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 trabajó en una compilación para Haiku . [58] Gambas desde la versión 3.2 puede ejecutarse en Raspberry Pi y ofrece compilación justo a tiempo 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 portabilidad futura de Gambas, y se enumeraron las principales preocupaciones: las características del núcleo de Linux utilizadas en el intérprete, los componentes que utilizan software y bibliotecas específicos de Linux y, principalmente, la vinculación con X11 en los componentes de integración de escritorio, GTK y Qt. 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 vinculadas a X11, lo que haría 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 trasladado 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, incluidos la mayoría de los componentes, kits de herramientas gráficas y el IDE completo. [61] [62] Los parches relevantes se incorporaron a la línea principal 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.

Sub Público Principal () Mensaje ( "¡Hola, Mundo!" ) Fin   

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

Subprueba privada ( X como flotante ) como flotante       Dim Mu como flotante = 10.0 Dim Pu , Su como flotante Dim I , J , N como entero Dim aPoly como nuevo flotante [ 100 ]                      N = 500000   Para 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 Siguiente                                              Devolver Pu FinSubprincipal público ( )   Dim I como entero    Para I = 1 a 10 Imprimir prueba ( 0.2 ) Siguiente        Fin

Véase también

Referencias

  1. ^ "Lanzamientos · Gambas / gambas · GitLab" . Consultado el 15 de noviembre de 2023 .
  2. ^ Gallo, François (16 de junio de 2011). «Gambas 3 OS X». AllBASIC . Consultado el 28 de septiembre de 2023 .
  3. ^ djgpp (marzo de 2021). "¿Gambas en Haiku?". Haiku . Consultado el 25 de febrero de 2024 .
  4. ^ ab "Introducción a la documentación de Gambas". Sitio web de Gambas . Consultado el 9 de octubre de 2017 .
  5. ^ Huges, Matthew (3 de marzo de 2015). "La guía básica de GAMBAS: todo lo que necesita saber". MakeUseOf . Consultado el 11 de febrero de 2023 .
  6. ^ Upfold, Peter (8 de septiembre de 2008). "Gambas: casi Visual Basic para Linux". FOSSwire . Consultado el 7 de mayo de 2011 .
  7. ^ Cook (5 de enero de 2005). "Gambas: un entorno de desarrollo BASIC". LWN.net . Consultado el 25 de febrero de 2024 .
  8. ^ "Gambas: Un Visual Basic rápido para Linux". CodeFez. Archivado desde el original el 2009-09-09 . Consultado el 2007-04-04 .
  9. ^ "Gambas 3.0 para BASIC con correcciones de errores y seguridad". The H . Consultado el 5 de enero de 2012 .
  10. ^ "Benchmarking". Sitio web de Gambas . Consultado el 11 de febrero de 2018 .
  11. ^ "Notas de la versión 3.16.0". Sitio web de Gambas . Consultado el 11 de febrero de 2021 .
  12. ^ "Preguntas frecuentes". Documentación de Gambas . Consultado el 17 de noviembre de 2014 .
  13. ^ Larabel, Michael (25 de noviembre de 2013). "El proyecto Gambas: es como Visual Basic en Linux". Phoronix . Consultado el 25 de febrero de 2024 .
  14. ^ Upfold, Peter (8 de septiembre de 2008). "Gambas: casi Visual Basic para Linux". FOSSwire . Consultado el 25 de febrero de 2024 .
  15. ^ Ratliff Sr., Gary L. (octubre de 2008). "Un alfabeto de lenguajes informáticos: BASIC". Revista PCLinuxOS . Consultado el 25 de febrero de 2024 .
  16. ^ Dee, Steve (27 de marzo de 2017). "Programación de la CLI de Gambas: interfaz de usuario basada en texto de ncurses". Captain Bogdit . Consultado el 15 de abril de 2023 .
  17. ^ ab Fernandez, Daniel (11 de noviembre de 2004). "Respecto a Gambas". OSNews . Consultado el 7 de mayo de 2011 .
  18. ^ ab "Gambas RAD". Linux.co.uk. Archivado desde el original el 29 de agosto de 2011. Consultado el 7 de mayo de 2011 .
  19. ^ "¿Por qué un nuevo componente SDL?". Lista de correo de Gambas. Archivado desde el original el 2015-02-09 . Consultado el 2015-02-09 .
  20. ^ Allen Holm, Joshua (24 de abril de 2014). "Programación en BASIC con Gambas para programadores principiantes". Opensource.com . Consultado el 5 de abril de 2023 .
  21. ^ Akbar, Ade Malsasa (28 de enero de 2022). "Alternativas a Visual Basic". Ubuntu Buzz . Consultado el 10 de marzo de 2024 .
  22. ^ Mark Alexander Bain (28 de agosto de 2008). "Gambas: casi Visual Basic en Linux". Suite101.
  23. ^ Frank Wieduwilt (octubre de 2008). "Programación con el IDE básico de Gambas". Linux Pro Magazine . Consultado el 10 de diciembre de 2011 .
  24. ^ AWC Electronics. "Computación física con Linux: un enfoque rápido utilizando Gambas" . Consultado el 18 de febrero de 2012 .
  25. ^ Emms, Steve (11 de noviembre de 2023). "Gambas: entorno de desarrollo y una plataforma de desarrollo completa y potente". LinuxLinks . Consultado el 25 de febrero de 2024 .
  26. ^ "Diferencias con Visual Basic". Sitio web de Gambas . Consultado el 1 de mayo de 2020 .
  27. ^ "HBasic: configuración de VB de Linux". 2005-12-06 . Consultado el 26 de septiembre de 2023 .
  28. ^ "BASIC para Linux". Fredshack . Consultado el 26 de septiembre de 2023 .
  29. ^ "IDE y lenguaje HBasic". SourceForge . 2007-01-16 . Consultado el 2023-09-26 .
  30. ^ Macoratti, José Carlos. "VB para Linux". Macoratti.net . Consultado el 26 de septiembre de 2023 .
  31. ^ "GB - Basic para GNOME". GNOME . Archivado desde el original el 2005-02-05 . Consultado el 2023-09-26 .
  32. ^ Perr, John (1 de enero de 2003). "Programación en BASIC con Unix". LinuxFocus . Consultado el 26 de septiembre de 2023 .
  33. ^ "KBasic: un Rad/IDE similar a VB para KDE". KDE .noticias . 29 de septiembre de 2000 . Consultado el 27 de septiembre de 2023 .
  34. ^ Tranter, Jeff (19 de agosto de 2015). "Uso de Qt con lenguajes de programación alternativos - Parte 1". Integrated Computer Solutions . Consultado el 25 de febrero de 2024 .
  35. ^ Speed, Richard (6 de mayo de 2022). "RAD Basic, el Visual Basic 7 que nunca fue, lanza su tercera versión alfa". The Register . Consultado el 26 de marzo de 2023. FreeBASIC, que implementa gran parte de lo que se escondía en Microsoft QuickBASIC (y tiene un IDE ingenioso en forma de VisualFBEditor).
  36. ^ Rogoz, Ivan (7 de abril de 2022). "Un vistazo al 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 de Windows.
  37. ^ "23 proyectos etiquetados como "Gambas"". Freshmeat . Archivado desde el original el 2013-09-28 . Consultado el 2012-10-28 .
  38. ^ "Repositorio de aplicaciones". Gambas. Archivado desde el original el 26 de octubre de 2019. Consultado el 1 de mayo de 2020 .
  39. ^ "Sitio web de GAMBAS BASIC". GAMBAS BASIC. Archivado desde el original el 12 de mayo de 2011. Consultado el 7 de mayo de 2011 .
  40. ^ "Ejemplos de Gambas". Piga Software . Consultado el 7 de mayo de 2011 .
  41. ^ Juegos de gambas - Libregamewiki
  42. ^ "Gambas3 ShowCase". gbWilly. Archivado desde el original el 10 de enero de 2016. Consultado el 22 de septiembre de 2013 .
  43. ^ Granja de Gambas
  44. ^ Protocolo de servidor Gambas Farm - Documentación de Gambas
  45. ^ "Listas de correo y foros". Sitio web de Gambas. Archivado desde el original el 2021-03-01 . Consultado el 2021-04-04 .
  46. ^ Reproductor MPV XT7 - Linux-APPS.com
  47. ^ XT7-Player: el mejor reproductor de vídeo para Kubuntu/KDE - Manual de Ubuntu
  48. ^ Xt7-Player es una interfaz gráfica de usuario de Mplayer con todas las funciones - Web Upd8
  49. ^ Szabo, Vincze-Aron. "Obtención de información del sistema con I-Nex". Linux Magazine . Consultado el 11 de noviembre de 2024 .
  50. ^ Akbar, Ade Malsasa (21 de abril de 2015). "I-Nex, una utilidad avanzada de hardware CPU-Z para Linux". Ubuntu Buzz . Consultado el 11 de noviembre de 2024 .
  51. ^ Sneddon, Joey (24 de noviembre de 2014). "i-Nex: una herramienta de estadísticas de hardware de CPU-Z para Linux". ¡Dios mío, Ubuntu! . Consultado el 11 de noviembre de 2024 .
  52. ^ "Reseña de Comisat Games Collection 0.5.2". Nixbit . Consultado el 8 de febrero de 2023 .
  53. ^ Buse, Jarret W. (18 de agosto de 2014). "Descripción general de GAMBAS". Linux.org . Consultado el 25 de febrero de 2024 .
  54. ^ Gambas en Windows - Alternativa
  55. ^ Morgan, R. (29 de junio de 2014). "Cómo ejecutar Gambas en Windows". Revista Gambas . Archivado desde el original el 10 de diciembre de 2016.
  56. ^ Ejecución de programas Gambas en Windows - PigaLore, la Wiki de software de Piga
  57. ^ Gallo, François. «¡Un paso adelante en Gambas!». gambas-user . Archivado desde el original el 2017-02-10 . Consultado el 2023-04-07 .
  58. ^ djgpp (marzo de 2021). "¿Gambas en Haiku?". Haiku . Consultado el 25 de febrero de 2024 .
  59. ^ La nueva versión de Gambas 3.15.2 ya está disponible en rollApp.
  60. ^ Gambas Future o qué tipo de Gambas queremos Archivado el 27 de febrero de 2014 en Wayback Machine , Lista de correo de Gambas
  61. ^ Guía de instalación de Cygwin - Wiki de Gambas
  62. ^ Paquete gambas3 - Sitio web de Cygwin
  63. ^ Morgan, R. (29 de junio de 2014). "Cómo ejecutar Gambas en Windows". Revista Gambas . Archivado desde el original el 8 de abril de 2016.
  64. ^ Cómo ejecutar Gambas en Windows - Wiki de Gambas
  65. ^ Dovey, John. "Cómo ejecutar Gambas y aplicaciones Gambas en Windows usando WSL". Wiki de Gambas . Consultado el 25 de febrero de 2024 .
  66. ^ Gambas en Windows, Gambas-One
  67. ^ Vasques, Daniel (9 de enero de 2023). "Cómo ejecutar Gambas en Ubuntu". Elneson-santafe . Consultado el 11 de febrero de 2023 .
  68. ^ Windows 11, Gambas-One

Lectura adicional

Enlaces externos