Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Gambas

From Wikipedia, the free encyclopedia
(Redirected fromBasic For Qt)
Integrated development environment
Not to be confused withViola da gamba.
For theRomanian village of Gâmbaş, seeAiud.
Gambas
Gambas Logo
Gambas Logo
Gambas 3 Logo
Gambas 3 Logo
Gambas 2 Logo
Gambas 2 Logo
Gambas 3.3.4 running onFedora 16 withXfce
Designed byBenoît Minisini
First appeared1999; 26 years ago (1999)
Stable release
3.20.0 / January 10, 2025; 2 months ago (2025-01-10)[1]
OSLinux,FreeBSD; versions for
Mac OS X[2] andHaiku[3] drafted;Microsoft Windows throughCygwin andWSL
LicenseGNU GPLv2+
Websitehttp://gambas.sourceforge.net
Influenced by
Visual Basic,Java[4]

Gambas is anobject-oriented dialect of theBASIC programming language, and anintegrated development environment that accompanies it.[5] Designed to run onLinux and otherUnix-like computeroperating systems,[6] its name is arecursive acronym forGambasAlmostMeansBasic. Gambas is also the word forprawns in theSpanish,French, andPortuguese languages, from which the project's logos are derived.

History

[edit]

Gambas was developed by theFrench programmerBenoît Minisini, with its first release coming in 1999. Benoît had grown up with the BASIC language, and decided to make a free software development environment that could quickly and easily make programs with user interfaces.[4]

The Gambas 1.x versions were first released on January 4, 2005,[7] and featured an interface made up of several different separate windows for forms and IDE dialogues in a similar fashion tothe interface of earlier versions of theGIMP. It could also only develop applications usingQt and was more oriented towards the development of applications forKDE.[8] The last release of the 1.x versions was Gambas 1.0.19.

Gambas 2.7 with Russian interface

The first of the 2.x versions was released on January 2, 2008, after three to four years of development. It featured a major redesign of the interface, now with all forms and functions embedded in a single window, as well as some changes to the Gambas syntax, although for the most part code compatibility was kept. It featured major updates to existing Gambas components as well as the addition of some new ones, such as new components that could useGTK+ orSDL for drawing or utilizeOpenGL acceleration. Gambas 2.x versions can load up and run Gambas 1.x projects, with occasional incompatibilities; the same is true for Gambas 2.x to 3.x, but not from Gambas 1.x to 3.x.

The next major iteration of Gambas, the 3.x versions, was released on December 31, 2011.[9] A 2015 benchmark published on the Gambas website showed Gambas 3.8.90 scripting as being faster to varying degrees thanPerl 5.20.2 and the then-latest 2.7.10 version ofPython in many tests.[10] Version 3.16.0 released on April 20, 2021, featured full support forWayland using the graphical components, as well as parity between the Qt 5 and GTK 3 components.[11]

Features

[edit]
Gambas 2.7.0 running onFedora Linux withBlackbox

Gambas is designed to buildgraphical programs using theQt (currently Qt 4.x or 5.x since 3.8.0) or theGTK toolkit (GTK 3.x also supported as of 3.6.0); the Gambas IDE is written in Gambas.[12][13] Gambas includes aGUI designer to aid in creating user interfaces in anevent-driven style,[14] but can also makecommand line applications,[15] as well astext-based user interfaces using thencurses toolkit.[16] The Gambasruntime environment is needed to run executables.

Functionality is provided by a variety of components, each of which can be selected to provide additional features.[17] Drawing can be provided either through Qt and GTK toolkits, with an additional component which is designed to switch between them.[18] Drawing can also be provided through theSimple DirectMedia Layer (originally version 1.x, with 2.x added as of 3.7.0),[19] which can also be utilized for audio playback through a separate sound component (a component for theOpenAL specification has also been added).GPU acceleration support is available through anOpenGL component, as well as other hardware functionally provided by various other components.[18] There are also components for handling other specialized tasks.[17]

With Gambas, developers can also use databases such as MySQL or PostgreSQL, buildKDE (Qt) and GNOME GTK applications withDCOP, translate Visual Basic programs to Gambas and run them under Linux, build network solutions, and create CGI web applications. The IDE also includes a tool for the creation ofinstallation packages, supportingGNU Autotools,slackpkg,pacman,RPM, anddebs (the latter two then tailored forspecific distributions such asFedora/RHEL/CentOS,Mageia,Mandriva,OpenSUSE andDebian,Ubuntu/Mint). Support forAppImage building was mainlined with version 3.19.0.

Gambas since version 3.2IDE has integratedprofiler and it started to usejust-in-time compilation technology.

Differences from Visual Basic

[edit]

Gambas is intended to provide a similar experience as developing in MicrosoftVisual Basic, but it is not afree softwareclone of the popular proprietary program.[20][21] The author of Gambas makes it clear that there are similarities to Visual Basic, such as syntax for BASIC programs and the integrated development environment; Gambas was written from the start to be a development environment of its own and seeks to improve on the formula.[22][23][24]

Itsobject model, each class being represented in a file, as well as the archiver to package the program is all inspired by theJava programming language.[25] Gambas is intended to be an alternative for former Visual Basic developers who have decided to migrate to Linux. There are also other important distinctions between Gambas and Visual Basic. One notable example is that in Gambasarray indexes always start with 0, whereas Visual Basic indexes can start with 0 or 1.[26] Gambas also supports the+= and -= shorthand not found in classic Visual Basic. Both of these are features ofVisual Basic .NET however.

Gambas also outlived two other attempts at implementing a Visual Basic style interface for Qt and GTK on Linux,[27][28] those being HBasic[29][30] andGNOME Basic,[31][32] as well as the platform independentKBasic/Basic for Qt.[33][34] Similar style IDEs have since been developed as well forFreeBASIC, namely VisualFBEditor,[35] andQB64, namely InForm.[36]

Adoption

[edit]
DONKEY.GB

Several programs and many forms of example code have been written using and for Gambas.Freecode (formerly Freshmeat) listed 23 applications that were developed using Gambas,[37] while the Gambas wiki listed 82;[38] several other specialized sites list Gambas applications and code.[39][40][41]

A Gambas written application, named Gambas3 ShowCase, acted as a software center to download or install Gambas 3 applications.[42] It has since been discontinued following the launch of the first party Gambas Software Farm integrated into the IDE since 3.7.1, which contains nearly 500 applications and demos.[43][44] Several community sites, including community forums and mailing lists, also exist for Gambas.[45]

Notable applications written in Gambas include Xt7-player-mpv, aGUI frontend formpv player contained in a number of Linux software repositories,[46][47][48] and I-Nex, a program for displaying hardware data.[49][50][51] The comisat Games Collection are early examples of video games written in Gambas.[52]

Availability

[edit]

Gambas is included in the repositories of a number ofLinux distributions, such asDebian,Fedora,Slackware,Arch Linux,Mageia,PCLinuxOS,Linux Mint andUbuntu.[53] AMicrosoft Windows version of Gambas was run under theCygwin environment, although this version was significantly less tested than its Linux counterparts and was command-line only;Cooperative Linux and derivatives have also been used,[54] as well as specialized Linuxvirtual machines.[55][56] An independent contributor, François Gallo, also worked on porting Gambas 3.x toMac OS X andFreeBSD, based on using local versions of theX11 system.[57] A build forHaiku has also been worked on by Francois Revol.[58] Gambas from version 3.2 can run onRaspberry Pi, and offersjust-in-time compilation there from version 3.12. It can also be run fromthe cloud usingrollApp.[59]

In November 2013, the future portability of Gambas was discussed, listing the main concerns beingLinux kernel features utilized in the interpreter, components using Linux specific software and libraries, and primarily X11-tying in the Qt, GTK and desktop integration components. However, partly due to the need to upgrade to newer toolkits such as GTK 3 (added as of 3.6.0) and Qt 5 (as of 3.8.0), future versions would be less X11 tied, making projects likeCygwin or utterly native versions on other platforms more possible. Benoît Minisini stated that he intended to "encapsulate" X11 specific code to aid in any attempt to replace it,[60] with the X11 support in the desktop component moved to its own component as of 3.6.0.

On October 27, 2016, a screenshot and setup guide was released from the main page for running Gambas fully through Cygwin, including most components, graphical toolkits, and the complete IDE.[61][62] The relevant patches were mainlined as of version 3.9.2.[63] This replaces the prior recommended method of usingfreenx forwarding from aLinux server.[64] It has also been successfully run using theWindows Subsystem for Linux.[65][66] This was usually done using anX terminal emulator suchMobaxterm on Windows,[67] as WSL did not supportX11 graphics directly untilWindows 11.[68]

Example code

[edit]

A "Hello, World!" program with graphical user interface.

PublicSubMain()Message("Hello, World!")End

Program that computes a 100-term polynomial 500000 times, and repeats it ten times (used forbenchmarking).

PrivateSubTest(XAsFloat)AsFloatDimMuAsFloat=10.0DimPu,SuAsFloatDimI,J,NAsIntegerDimaPolyAsNewFloat[100]N=500000ForI=0ToN-1ForJ=0To99Mu=(Mu+2.0)/2.0aPoly[J]=MuNextSu=0.0ForJ=0To99Su=X*Su+aPoly[J]NextPu+=SuNextReturnPuEndPublicSubMain()DimIasIntegerForI=1To10PrintTest(0.2)NextEnd

See also

[edit]

References

[edit]
  1. ^"Releases · Gambas / gambas · GitLab". Retrieved2023-11-15.
  2. ^Gallo, François (2011-06-16)."Gambas 3 OS X".AllBASIC. Retrieved2023-09-28.
  3. ^djgpp (March 2021)."Gambas on Haiku?".Haiku. Retrieved2024-02-25.
  4. ^ab"Gambas Documentation Introduction". Gambas Website. Retrieved2017-10-09.
  5. ^Huges, Matthew (2015-03-03)."The BASIC Guide to GAMBAS: All You Need To Know".MakeUseOf. Retrieved2023-02-11.
  6. ^Upfold, Peter (2008-09-08)."Gambas — Almost Visual Basic for Linux". FOSSwire. Retrieved2011-05-07.
  7. ^Cook (2005-01-05)."Gambas - a BASIC Development Environment".LWN.net. Retrieved2024-02-25.
  8. ^"Gambas: A Fast Visual Basic for Linux". CodeFez. Archived fromthe original on 2009-09-09. Retrieved2007-04-04.
  9. ^"Gambas 3.0 for BASIC with bug and security fixes". The H. Retrieved2012-01-05.
  10. ^"Benchmarking". Gambas Website. Retrieved2018-02-11.
  11. ^"3.16.0 release notes". Gambas Website. Retrieved2021-02-11.
  12. ^"Frequently Asked Questions".Gambas Documentation. Retrieved2014-11-17.
  13. ^Larabel, Michael (2013-11-25)."The Gambas Project: It's Like Visual Basic On Linux".Phoronix. Retrieved2024-02-25.
  14. ^Upfold, Peter (2008-09-08)."Gambas - Almost Visual Basic for Linux".FOSSwire. Retrieved2024-02-25.
  15. ^Ratliff Sr., Gary L. (October 2008)."An Alphabet of Computer Languages: BASIC".PCLinuxOS Magazine. Retrieved2024-02-25.
  16. ^Dee, Steve (2017-03-27)."Gambas cli programming: ncurses text based user interface".Captain Bogdit. Retrieved2023-04-15.
  17. ^abFernandez, Daniel (2004-11-11)."Regarding Gambas".OSNews. Retrieved2011-05-07.
  18. ^ab"Gambas RAD". Linux.co.uk. Archived fromthe original on 2011-08-29. Retrieved2011-05-07.
  19. ^"Why a new SDL component?". Gambas Mailing List. Archived fromthe original on 2015-02-09. Retrieved2015-02-09.
  20. ^Allen Holm, Joshua (2014-04-24)."BASIC programming with Gambas for the beginner programmer".Opensource.com. Retrieved2023-04-05.
  21. ^Akbar, Ade Malsasa (2022-01-28)."Alternatives to Visual Basic".Ubuntu Buzz. Retrieved2024-03-10.
  22. ^Mark Alexander Bain (2008-08-28)."Gambas -- Almost Visual Basic on Linux". Suite101.
  23. ^Frank Wieduwilt (October 2008)."Programming with the Gambas Basic IDE". Linux Pro Magazine. Retrieved2011-12-10.
  24. ^AWC Electronics."Physical Computing with Linux: A Rapid Approach using Gambas". Retrieved2012-02-18.
  25. ^Emms, Steve (2023-11-11)."Gambas – development environment and a full powerful development platform".LinuxLinks. Retrieved2024-02-25.
  26. ^"Differences from Visual Basic". Gambas Website. Retrieved2020-05-01.
  27. ^"HBasic – Menghadirkan VB di Linux". 2005-12-06. Retrieved2023-09-26.
  28. ^"BASIC for Linux".Fredshack. Retrieved2023-09-26.
  29. ^"HBasic IDE and language".SourceForge. 2007-01-16. Retrieved2023-09-26.
  30. ^Macoratti, José Carlos."VB para Linux".Macoratti.net. Retrieved2023-09-26.
  31. ^"GB - Basic for GNOME".GNOME. Archived fromthe original on 2005-02-05. Retrieved2023-09-26.
  32. ^Perr, John (2003-01-01)."BASIC programming with Unix".LinuxFocus. Retrieved2023-09-26.
  33. ^"KBasic: A VB-Like Rad/IDE For KDE".KDE.news. 29 September 2000. Retrieved2023-09-27.
  34. ^Tranter, Jeff (2015-08-19)."Using Qt with Alternative Programming Languages - Part 1".Integrated Computer Solutions. Retrieved2024-02-25.
  35. ^Speed, Richard (2022-05-06)."RAD Basic – the Visual Basic 7 that never was – releases third alpha".The Register. Retrieved2023-03-26.FreeBASIC, which implements much of what lurked in Microsoft QuickBASIC (and has a nifty IDE in the form of VisualFBEditor).
  36. ^Rogoz, Ivan (2022-04-07)."Blast from the past - QBasic 4.5".Barn Lab. Retrieved2023-09-26.QB64 comes with a WYSIWYG IDE editor called InForm which brings it closer to everyday use as a quick and dirty language for automation for Windows.
  37. ^"23 projects tagged "Gambas"".Freshmeat. Archived fromthe original on 2013-09-28. Retrieved2012-10-28.
  38. ^"Application Repository". Gambas. Archived fromthe original on 2019-10-26. Retrieved2020-05-01.
  39. ^"GAMBAS BASIC Web site". GAMBAS BASIC. Archived fromthe original on 2011-05-12. Retrieved2011-05-07.
  40. ^"Gambas Examples". Piga Software. Retrieved2011-05-07.
  41. ^Gambas games - Libregamewiki
  42. ^"Gambas3 ShowCase". gbWilly. Archived fromthe original on 2016-01-10. Retrieved2013-09-22.
  43. ^Gambas Farm
  44. ^Gambas Farm Server Protocol - Gambas Documentation
  45. ^"Mailing Lists & Forums". Gambas Web site. Archived fromthe original on 2021-03-01. Retrieved2021-04-04.
  46. ^xt7-player-mpv - linux-APPS.com
  47. ^XT7-Player – Best Video Player for Kubuntu / KDE - Ubuntu Handbook
  48. ^Xt7-Player Is A Fully Featured Mplayer GUI - Web Upd8
  49. ^Szabo, Vincze-Aron."Getting System Info with I-Nex".Linux Magazine. Retrieved11 November 2024.
  50. ^Akbar, Ade Malsasa (21 April 2015)."I-Nex, An Advanced CPU-Z Hardware Utility for Linux".Ubuntu Buzz. Retrieved11 November 2024.
  51. ^Sneddon, Joey (24 November 2014)."i-Nex – A CPU-Z Hardware Stat Tool for Linux".OMG Ubuntu!. Retrieved11 November 2024.
  52. ^"comisat Games Collection 0.5.2 review".Nixbit. Retrieved2023-02-08.
  53. ^Buse, Jarret W. (2014-08-18)."GAMBAS Overview".Linux.org. Retrieved2024-02-25.
  54. ^Gambas on Windows - Alternative
  55. ^Morgan, R. (2014-06-29)."How to Run Gambas on Windows".Gambas Magazine. Archived fromthe original on 2016-12-10.
  56. ^Running Gambas Programs in Windows - PigaLore, the Piga Software Wiki
  57. ^Gallo, François."A step forward in Gambas!".gambas-user. Archived fromthe original on 2017-02-10. Retrieved2023-04-07.
  58. ^djgpp (March 2021)."Gambas on Haiku?".Haiku. Retrieved2024-02-25.
  59. ^New version of Gambas 3.15.2 is already available on rollApp.
  60. ^Gambas Future or what kind of Gambas we wantArchived 2014-02-27 at theWayback Machine, Gambas Mailing List
  61. ^Cygwin Install Guide - Gambas Wiki
  62. ^gambas3 package - Cygwin website
  63. ^Morgan, R. (2014-06-29)."How to Run Gambas on Windows".Gambas Magazine. Archived fromthe original on 2016-04-08.
  64. ^How To Run Gambas On Windows - Gambas Wiki
  65. ^Dovey, John."How to run Gambas and Gambas Apps on Windows using WSL".Gambas Wiki. Retrieved2024-02-25.
  66. ^Gambas on Windows, Gambas-One
  67. ^Vasques, Daniel (2023-01-09)."How To Run Gambas In Ubuntu".Elneson-santafe. Retrieved2023-02-11.
  68. ^Windows 11, Gambas-One

Further reading

[edit]

External links

[edit]
Wikibooks has more on the topic of:Gambas
Wikimedia Commons has media related toGambas.
Dialects of theBASIC programming language (list)
Classic
Microsoft
Texas Instruments
Hewlett-Packard
Locomotive Software
Microcomputers
Minicomputers
Time-sharing computers
Other
Extenders
Procedure-
oriented
Proprietary
Free and
open source
Withobject
extensions
Proprietary
Free and
open source
RAD
designers
Proprietary
Free and
open source
Defunct
C,C++
Open source
Freeware
Retail
Discontinued
Java
Open source
Freeware
Retail
Discontinued
JavaScript
Open source
CLI (.NET)
Open source
Freeware
Retail
Discontinued
Flash
PHP
Open source
Proprietary
R
Python
Open source
Proprietary
Pascal,
Object Pascal
Open source
Freeware
Retail
Discontinued
BASIC
Open source
Freeware
Retail
Discontinued
Go
Open source
Freeware
Retail
Haxe
POP-11
Online
Qt
Open source
GTK
Open source
Proprietary
wxWidgets
Open source
CLI
Open source
Proprietary
VCL,
related
Open source,LCL
Proprietary
Cocoa
Proprietary
Java-based
Open source
Proprietary
Windows API
Open source
Proprietary
Other
Open source
Proprietary
GUIs built with Qt
Qt technologies
Tools
Language bindings
Supported platforms
Related topics
Retrieved from "https://en.wikipedia.org/w/index.php?title=Gambas&oldid=1279576842#Differences_from_Visual_Basic"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp