De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Gambas es el nombre de un dialecto orientado a objetos del lenguaje de programación BASIC , así como el entorno de desarrollo integrado que lo acompaña. Diseñado para ejecutarse en Linux y otros sistemas operativos de computadora similares a Unix , [3] su nombre es un acrónimo recursivo de G ambas A lmost M eans Bas ic . Gambas es también la palabra para langostinos en español , francés y portugués. idiomas, de los que se derivan los logotipos del proyecto.

Historia [ editar ]

Gambas 1.0.15 ejecutado 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 libre que pudiera crear programas con interfaces de usuario de forma rápida y sencilla. [2]

Las versiones de 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 . Además, solo podía desarrollar aplicaciones usando Qt y estaba más orientado al desarrollo de aplicaciones para KDE . [4] La última versión 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 rediseño importante 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 a los componentes existentes de Gambas, 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 es cierto para Gambas 2.xa 3.x, pero no para Gambas 1.xa 3.x.

La siguiente gran iteración de Gambas, las versiones 3.x, fue lanzada el 31 de diciembre de 2011. [5] 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 última versión 2.7.10 de Python en muchas pruebas. [6]

Funciones [ editar ]

Gambas 2.7.0 ejecutándose en Fedora Linux con Blackbox

Gambas está diseñado para construir programas gráficos usando Qt (actualmente Qt 4.xo 5.x) o el kit de herramientas GTK + (GTK 3.x también es compatible a partir de 3.6.0); el IDE de Gambas está escrito en Gambas. [7] 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 , [8] así como interfaces de usuario basadas en texto usando el kit de herramientas ncurses . [9] El entorno de ejecución de Gambas es necesario para ejecutar ejecutables.

La funcionalidad es proporcionada por una variedad de componentes, cada uno de los cuales puede seleccionarse para proporcionar características adicionales. [10] 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. [11] 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), [12] que también se puede utilizar para la reproducción de audio a través de un componente de sonido separado (un 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 OpenGLcomponente, así como otro hardware proporcionado funcionalmente por varios otros componentes. [11] También hay componentes para manejar otras tareas especializadas. [10]

Uno de los ejemplos que se ejecutan dentro de Gambas 3 IDE
Juego: Stars War hecho en Gambas3

Con Gambas, los desarrolladores también pueden utilizar 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 se adaptan a distribuciones específicas como Fedora / RHEL / CentOS , Mageia , Mandriva, OpenSUSE y Debian , Ubuntu / Mint ).

Gambas desde la versión 3.2 IDE tiene un generador de perfiles integrado y comenzó a utilizar la tecnología de compilación Just-in-time .

Diferencias con Visual Basic [ editar ]

La intención de Gambas es proporcionar 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 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. [13] [14] [15]

Su modelo de objeto , 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. [16] Gambas también admite la abreviatura + = y - = que no se encuentra en Visual Basic clásico. Sin embargo, ambas son características de Visual Basic .NET .

Adopción [ editar ]

BURRO.GB

Se han escrito varios programas y muchas formas de código de ejemplo utilizando y para Gambas. Al 28 de octubre de 2012 , Freecode (anteriormente Freshmeat) enumeró 23 aplicaciones que se desarrollaron utilizando Gambas, [17] mientras que el wiki de Gambas enumeró 82; [18] Varios otros sitios especializados enumeran las aplicaciones y el código de Gambas. [19] [20] [21] [22] Una aplicación escrita de Gambas, llamada Gambas3 ShowCase, actuó como un centro de software para descargar o instalar aplicaciones de Gambas 3. [23] Desde entonces ha sido descontinuado tras el lanzamiento de la Gambas Software Farm de primera parte integrada en el IDE, que contiene cerca de 500 aplicaciones y demostraciones. [24]También existen varios sitios comunitarios, incluidos foros comunitarios y listas de correo, para Gambas. [25] 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. [26] [27] [28]

Disponibilidad [ editar ]

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 fue significativamente menos probada que sus contrapartes de Linux y solo se utilizó en la línea de comandos; También se han utilizado Linux cooperativo y derivados, [29] así como máquinas virtuales Linux especializadas . [30] Un colaborador independiente, François Gallo, también trabajó en la migración de Gambas 3.xa Mac OS X y FreeBSD., basado en el uso de versiones locales del sistema X11 . [31] Gambas de la versión 3.2 se puede ejecutar en Raspberry Pi , y ofrece compilación justo a tiempo desde la versión 3.12.

En noviembre de 2013, se discutió la portabilidad futura de Gambas, enumerando las principales preocupaciones como las características del kernel de Linux utilizadas en el intérprete, los componentes que utilizan software y bibliotecas específicos de Linux, y principalmente la vinculación de X11 en Qt, GTK + y componentes 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 3.6.0) y Qt 5 (a partir de 3.8.0), las versiones futuras estarían menos atadas a X11, lo que haría que proyectos como Cygwin o completamente nativos versiones en otras plataformas más posibles. 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, [32] con el soporte de X11 en el componente de escritorio trasladado 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, incluida la mayoría de los componentes, los kits de herramientas gráficas y el IDE completo. [33] [34] Los parches relevantes fueron mainline a partir de la versión 3.9.2. Esto reemplaza el método recomendado anteriormente de usar el reenvío de Freenx desde un servidor Linux . [35] También se ha ejecutado con éxito usando el Subsistema de Windows para Linux ., [36] Esto generalmente se hace usando un emulador Xterminal como Mobaxterm en Windows ya que WSL no soporta gráficos X11 directamente.

Código de ejemplo [ editar ]

Un "¡Hola, mundo!" programa con interfaz gráfica de usuario.

 Mensaje principal secundario  público () ( "¡Hola, mundo!" ) Fin 

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

Private  Sub  Prueba ( X  Como  flotador )  Como  flotador Dim  Mu  As  Float  =  10.0  Dim  Pu ,  Su  As  Float  Dim  I ,  J ,  N  As  Integer  Dim  aPoly  As  New  Float [ 100 ] N  =  500000 For  I  =  0  To  N  -  1  For  J  =  0  To  99  Mu  =  ( Mu  +  2.0 )  /  2.0  aPoly [ J ]  =  Mu  Next  Su  =  0.0  For  J  =  0  To  99  Su  =  X  *  Su  +  aPoly [ J ]  Next  Pu  + =  Su  Siguiente Volver  PuFinalPublic  Sub  Principal () Dim  I  como  entero Para  I  =  1  a  10  Prueba de impresión  ( 0.2 ) Siguiente Final

Ver también [ editar ]

  • Lista de dialectos BÁSICOS
  • Comparación de entornos de desarrollo integrados # BASIC
  • GNAVI
  • Lázaro

Referencias [ editar ]

  1. ^ "Gambas - Gambas casi significa básico" . Consultado el 19 de mayo de 2018 .
  2. ^ a b "Introducción a la documentación de Gambas" . Sitio web de Gambas . Consultado el 9 de octubre de 2017 .
  3. Upfold, Peter (8 de septiembre de 2008). "Gambas - Casi Visual Basic para Linux" . FOSSwire . Consultado el 7 de mayo de 2011 .
  4. ^ "Gambas: un Visual Basic rápido para Linux" . CodeFez. Archivado desde el original el 9 de septiembre de 2009 . Consultado el 4 de abril de 2007 .
  5. ^ "Gambas 3.0 para BASIC con correcciones de errores y seguridad" . El H . Consultado el 5 de enero de 2012 .
  6. ^ "Evaluación comparativa" . Sitio web de Gambas . Consultado el 11 de febrero de 2018 .
  7. ^ "Preguntas frecuentes" . Documentación de Gambas . Consultado el 17 de noviembre de 2014 .
  8. ^ Un alfabeto de lenguajes de computadora: BÁSICO ,Revista PCLinuxOS
  9. ^ Programación cli de Gambas: interfaz de usuario basada en texto ncurses
  10. ↑ a b Fernandez, Daniel (11 de noviembre de 2004). "Respecto a Gambas" . OSNews . Consultado el 7 de mayo de 2011 .
  11. ^ a b "Gambas RAD" . Linux.co.uk. Archivado desde el original el 25 de mayo de 2011 . Consultado el 7 de mayo de 2011 .
  12. ^ "¿Por qué un nuevo componente SDL?" . Lista de distribución de Gambas. Archivado desde el original el 9 de febrero de 2015 . Consultado el 9 de febrero de 2015 .
  13. Mark Alexander Bain (28 de agosto de 2008). "Gambas - Casi Visual Basic en Linux" . Suite101.
  14. ^ Frank Wieduwilt (octubre de 2008). "Programación con el IDE básico de Gambas" . Revista Linux Pro . Consultado el 10 de diciembre de 2011 .
  15. ^ Electrónica de AWC. "Computación física con Linux: un enfoque rápido utilizando Gambas" . Consultado el 18 de febrero de 2012 .
  16. ^ "Diferencias con Visual Basic" . Sitio web de Gambas . Consultado el 1 de mayo de 2020 .
  17. ^ "23 proyectos etiquetados como" Gambas " " . Carne fresca . Consultado el 28 de octubre de 2012 .
  18. ^ "Repositorio de aplicaciones" . Gambas. Archivado desde el original el 26 de octubre de 2019 . Consultado el 1 de mayo de 2020 .
  19. ^ "Sitio web de GAMBAS BASIC" . GAMBAS BÁSICO. Archivado desde el original el 12 de mayo de 2011 . Consultado el 7 de mayo de 2011 .
  20. ^ "Categoría Gambas" . Código Rosseta . Consultado el 18 de noviembre de 2011 .
  21. ^ "Ejemplos de Gambas" . Software de Piga . Consultado el 7 de mayo de 2011 .
  22. ^ "Programas de Gambas" . Software de Piga . Consultado el 7 de mayo de 2011 .2010
  23. ^ "Gambas3 ShowCase" . gbWilly. Archivado desde el original el 10 de enero de 2016 . Consultado el 22 de septiembre de 2013 .
  24. ^ Protocolo de servidor de granja de Gambas - Documentación de Gambas
  25. ^ "Foros y listas de correo" . Sitio web de Gambas. Archivado desde el original el 26 de abril de 2020 . Consultado el 7 de mayo de 2011 .
  26. ^ xt7-player-mpv - linux-APPS.com
  27. ^ XT7-Player - Mejor reproductor de video para Kubuntu / KDE - Manual de Ubuntu
  28. ^ Xt7-Player es una GUI de Mplayer con todas las funciones - Web Upd8
  29. ^ Gambas en Windows - Alternativa
  30. ^ Ejecución de programas de Gambas en Windows - PigaLore, la Wiki de Piga Software
  31. ^ "¡Un paso adelante en Gambas!" . François Gallo . Consultado el 2 de agosto de 2014 .
  32. ^ Gambas Future o qué tipo de Gambas queremos , Lista de distribución de Gambas
  33. ^ Guía de instalación de Cygwin - Gambas Wiki
  34. ^ paquete gambas3 - sitio web de Cygwin
  35. ^ Cómo ejecutar Gambas en Windows - Gambas Wiki
  36. ^ Gambas en Windows , Gambas-One

Lectura adicional [ editar ]

  • Mark Alexander Bain (28 de abril de 2006) Una introducción a Gambas , Linux Journal , número 146, junio de 2006 (en forma impresa)
  • 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 simples con Gambas 2.0 , Linux.com
  • Fabián Flores Vadell (Nov, 2010) Cómo programar con Gambas

Enlaces externos [ editar ]

  • Gambas en SourceForge.net
  • Documentación de Gambas
  • Lista de correo de Gambas
  • Gambas casi significa básico
  • Revista Gambas  - Desarrollo de software Linux con Gambas