Gambas: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
removed Category:Free software using HotCat redundant
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(18 intermediate revisions by 4 users not shown)
Line 9: Line 9:
| year = {{Start date and age|1999}}
| year = {{Start date and age|1999}}
| designer = [[Benoît Minisini]]
| designer = [[Benoît Minisini]]
| latest_release_version = 3.18.4
| latest_release_version = 3.19.1
| latest_release_date = {{Start date and age|2023|09|21}}<ref>{{cite web
| latest_release_date = {{Start date and age|2024|03|17}}<ref>{{cite web
| url = https://gitlab.com/gambas/gambas/-/releases
| url = https://gitlab.com/gambas/gambas/-/releases
| title = Releases · Gambas / gambas · GitLab
| title = Releases · Gambas / gambas · GitLab
Line 18: Line 18:
| latest_test_date =
| latest_test_date =
| influenced_by = [[Visual Basic]], [[Java (programming language)|Java]]<ref name="influenced">{{cite web | url=http://gambaswiki.org/wiki/doc/intro?nh&l=en | title=Gambas Documentation Introduction | publisher=Gambas Website| access-date=2017-10-09}}</ref>
| influenced_by = [[Visual Basic]], [[Java (programming language)|Java]]<ref name="influenced">{{cite web | url=http://gambaswiki.org/wiki/doc/intro?nh&l=en | title=Gambas Documentation Introduction | publisher=Gambas Website| access-date=2017-10-09}}</ref>
| operating_system = [[Linux]], [[FreeBSD]]; versions for<br />[[MacOS|Mac OS X]]<ref>{{cite web|url=https://allbasic.info/forum/index.php?topic=118.0|title=Gambas 3 OS X|date=2011-06-16|website=AllBASIC|first=François|last=Gallo|access-date=2023-09-28}}</ref> and [[Haiku (operating system)|Haiku]] drafted; [[Microsoft Windows]] through [[Cygwin]] and [[Windows Subsystem for Linux|WSL]]
| operating_system = [[Linux]], [[FreeBSD]]; versions for<br />[[MacOS|Mac OS X]]<ref>{{cite web|url=https://allbasic.info/forum/index.php?topic=118.0|title=Gambas 3 OS X|date=2011-06-16|website=AllBASIC|first=François|last=Gallo|access-date=2023-09-28}}</ref> and [[Haiku (operating system)|Haiku]]<ref>{{cite web|url=https://discuss.haiku-os.org/t/gambas-on-haiku/10500|website=[[Haiku (operating system)|Haiku]]|title=Gambas on Haiku?|author=djgpp|date=March 2021|access-date=2024-02-25}}</ref> drafted; [[Microsoft Windows]] through [[Cygwin]] and [[Windows Subsystem for Linux|WSL]]
| license = [[GNU General Public License|GNU GPLv2]]+
| license = [[GNU General Public License|GNU GPLv2]]+
| website = http://gambas.sourceforge.net
| website = http://gambas.sourceforge.net
Line 29: Line 29:
Gambas was developed by the [[French people|French]] programmer [[Benoî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.<ref name="influenced"/>
Gambas was developed by the [[French people|French]] programmer [[Benoî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.<ref name="influenced"/>


The Gambas 1.x versions featured an interface made up of several different separate windows for forms and IDE dialogues in a similar fashion to [[GIMP#User interface|the interface]] of earlier versions of the [[GIMP]]. It could also only develop applications using [[Qt (software)|Qt]] and was more oriented towards the development of applications for [[KDE]].<ref name="codefez">{{cite web | url=http://codefez.com/gambas-a-fast-visual-basic-for-linux/ | title=Gambas: A Fast Visual Basic for Linux | publisher=CodeFez | access-date=2007-04-04 | archive-url=https://web.archive.org/web/20090909105431/http://codefez.com/gambas-a-fast-visual-basic-for-linux/ | archive-date=2009-09-09 | url-status=dead }}</ref> The last release of the 1.x versions was Gambas 1.0.19.
The Gambas 1.x versions were first released on January 4, 2005,<ref>{{cite web|url=https://lwn.net/Articles/117951/|title=Gambas - a BASIC Development Environment|date=2005-01-05|access-date=2024-02-25|author=Cook|website=LWN.net}}</ref> and featured an interface made up of several different separate windows for forms and IDE dialogues in a similar fashion to [[GIMP#User interface|the interface]] of earlier versions of the [[GIMP]]. It could also only develop applications using [[Qt (software)|Qt]] and was more oriented towards the development of applications for [[KDE]].<ref name="codefez">{{cite web | url=http://codefez.com/gambas-a-fast-visual-basic-for-linux/ | title=Gambas: A Fast Visual Basic for Linux | publisher=CodeFez | access-date=2007-04-04 | archive-url=https://web.archive.org/web/20090909105431/http://codefez.com/gambas-a-fast-visual-basic-for-linux/ | archive-date=2009-09-09 | url-status=dead }}</ref> The last release of the 1.x versions was Gambas 1.0.19.


[[Image:Gambas-ubuntu.png|200px|right|thumb|Gambas 2.7 with Russian interface]]
[[Image:Gambas-ubuntu.png|200px|right|thumb|Gambas 2.7 with Russian interface]]
Line 38: Line 38:
== Features ==
== Features ==
[[Image:Gambas-2.7.0-fedora-blackbox.png|200px|thumb|left|Gambas 2.7.0 running on [[Fedora (operating system)|Fedora Linux]] with [[Blackbox]]]]
[[Image:Gambas-2.7.0-fedora-blackbox.png|200px|thumb|left|Gambas 2.7.0 running on [[Fedora (operating system)|Fedora Linux]] with [[Blackbox]]]]
Gambas is designed to build [[graphical user interface|graphical]] programs using the [[Qt (software)|Qt]] (currently Qt 4.x or 5.x since 3.8.0) or the [[GTK]] toolkit (GTK 3.x also supported as of 3.6.0); the Gambas IDE is written in Gambas.<ref name="penguinsightings-replace">{{cite web |url=http://gambaswiki.org/wiki/doc/faq |title=Frequently Asked Questions |website=Gambas Documentation |access-date=2014-11-17}}</ref> Gambas includes a [[GUI designer]] to aid in creating user interfaces in an [[event driven programming|event-driven]] style, but can also make [[Command-line interface|command line]] applications,<ref>[http://pclosmag.com/html/Issues/200810/page04.html An Alphabet of Computer Languages: BASIC], [[PCLinuxOS]] Magazine</ref> as well as [[text-based user interface]]s using the [[ncurses]] toolkit.<ref>{{cite web|url=http://captainbodgit.blogspot.com/2017/03/gambas-cli-programming-ncurses-text.html|title=Gambas cli programming: ncurses text based user interface|first=Steve|last=Dee|website=Captain Bogdit|date=2017-03-27|access-date=2023-04-15}}</ref> The Gambas [[Runtime system|runtime]] environment is needed to run executables.
Gambas is designed to build [[graphical user interface|graphical]] programs using the [[Qt (software)|Qt]] (currently Qt 4.x or 5.x since 3.8.0) or the [[GTK]] toolkit (GTK 3.x also supported as of 3.6.0); the Gambas IDE is written in Gambas.<ref name="penguinsightings-replace">{{cite web |url=http://gambaswiki.org/wiki/doc/faq |title=Frequently Asked Questions |website=Gambas Documentation |access-date=2014-11-17}}</ref><ref>{{cite web|url=https://www.phoronix.com/news/MTUyNTM|website=[[Phoronix]]|first=Michael|last=Larabel|title=The Gambas Project: It's Like Visual Basic On Linux|date=2013-11-25|access-date=2024-02-25}}</ref> Gambas includes a [[GUI designer]] to aid in creating user interfaces in an [[event driven programming|event-driven]] style,<ref>{{cite web|url=https://fosswire.com/post/2008/09/gambas-almost-visual-basic-for-linux/|title=Gambas - Almost Visual Basic for Linux|date=2008-09-08|first=Peter|last=Upfold|access-date=2024-02-25|website=FOSSwire}}</ref> but can also make [[Command-line interface|command line]] applications,<ref>{{cite web|url=https://pclosmag.com/html/Issues/200810/page04.html|website=[[PCLinuxOS]] Magazine|access-date=2024-02-25|title=An Alphabet of Computer Languages: BASIC |first=Gary L.|last=Ratliff Sr.|date=October 2008}}</ref> as well as [[text-based user interface]]s using the [[ncurses]] toolkit.<ref>{{cite web|url=http://captainbodgit.blogspot.com/2017/03/gambas-cli-programming-ncurses-text.html|title=Gambas cli programming: ncurses text based user interface|first=Steve|last=Dee|website=Captain Bogdit|date=2017-03-27|access-date=2023-04-15}}</ref> The Gambas [[Runtime system|runtime]] environment is needed to run executables.


Functionality is provided by a variety of components, each of which can be selected to provide additional features.<ref name="osnews">{{cite web |url=http://www.osnews.com/story/8849/Regarding_Gambas/page1|first=Daniel |last=Fernandez|title=Regarding Gambas |date=2004-11-11 |publisher=OSNews |access-date=2011-05-07}}</ref> Drawing can be provided either through Qt and GTK toolkits, with an additional component which is designed to switch between them.<ref name="linux.co.uk">{{cite web |url=http://old.linux.co.uk//docs/center/featured-software/gambas-rad |title=Gambas RAD |publisher=Linux.co.uk |access-date=2011-05-07 |url-status=dead |archive-url=https://web.archive.org/web/20110525123939/http://old.linux.co.uk/ |archive-date=2011-05-25 }}</ref> Drawing can also be provided through the [[Simple DirectMedia Layer]] (originally version 1.x, with 2.x added as of 3.7.0),<ref name="sdl2">{{cite web|url=http://git.net/gambas-development-environment-basic/msg17384.html |title=Why a new SDL component? |publisher=Gambas Mailing List |access-date=2015-02-09 |url-status=dead |archive-url=https://web.archive.org/web/20150209211934/http://git.net/gambas-development-environment-basic/msg17384.html |archive-date=2015-02-09 }}</ref> which can also be utilized for audio playback through a separate sound component (a component for the [[OpenAL]] specification has also been added). [[Graphics processing unit|GPU]] acceleration support is available through an [[OpenGL]] component, as well as other hardware functionally provided by various other components.<ref name="linux.co.uk"/> There are also components for handling other specialized tasks.<ref name="osnews"/>
Functionality is provided by a variety of components, each of which can be selected to provide additional features.<ref name="osnews">{{cite web |url=http://www.osnews.com/story/8849/Regarding_Gambas/page1|first=Daniel |last=Fernandez|title=Regarding Gambas |date=2004-11-11 |publisher=[[OSNews]] |access-date=2011-05-07}}</ref> Drawing can be provided either through Qt and GTK toolkits, with an additional component which is designed to switch between them.<ref name="linux.co.uk">{{cite web |url=http://old.linux.co.uk//docs/center/featured-software/gambas-rad |title=Gambas RAD |publisher=Linux.co.uk |access-date=2011-05-07 |url-status=dead |archive-url=https://web.archive.org/web/20110829185006/http://old.linux.co.uk/docs/center/featured-software/gambas-rad |archive-date=2011-08-29 }}</ref> Drawing can also be provided through the [[Simple DirectMedia Layer]] (originally version 1.x, with 2.x added as of 3.7.0),<ref name="sdl2">{{cite web|url=http://git.net/gambas-development-environment-basic/msg17384.html |title=Why a new SDL component? |publisher=Gambas Mailing List |access-date=2015-02-09 |url-status=dead |archive-url=https://web.archive.org/web/20150209211934/http://git.net/gambas-development-environment-basic/msg17384.html |archive-date=2015-02-09 }}</ref> which can also be utilized for audio playback through a separate sound component (a component for the [[OpenAL]] specification has also been added). [[Graphics processing unit|GPU]] acceleration support is available through an [[OpenGL]] component, as well as other hardware functionally provided by various other components.<ref name="linux.co.uk"/> There are also components for handling other specialized tasks.<ref name="osnews"/>


[[Image:RunningExample1.png|thumb|right|One of the examples running inside Gambas 3 IDE]]
[[Image:RunningExample1.png|thumb|right|One of the examples running inside Gambas 3 IDE]]
[[Image:Juego de estrellas.png|thumb|right|Game: Stars War made in Gambas3]]
[[Image:Juego de estrellas.png|thumb|right|Game: Stars War made in Gambas3]]
With Gambas, developers can also use databases such as MySQL or PostgreSQL, build [[KDE]] (Qt) and GNOME GTK applications with [[Desktop communication protocol|DCOP]], 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 of [[Package manager|installation packages]], supporting [[GNU Build System|GNU Autotools]], [[slackpkg]], [[Arch Linux#Pacman|pacman]], [[RPM Package Manager|RPM]], and [[deb (file format)|debs]] (the latter two then tailored for [[Linux distribution|specific distributions]] such as [[Fedora (operating system)|Fedora]]/[[Red Hat Enterprise Linux|RHEL]]/[[CentOS]], [[Mageia]], [[Mandriva]], [[OpenSUSE]] and [[Debian]], [[Ubuntu (operating system)|Ubuntu]]/[[Linux Mint|Mint]]).
With Gambas, developers can also use databases such as MySQL or PostgreSQL, build [[KDE]] (Qt) and GNOME GTK applications with [[Desktop communication protocol|DCOP]], 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 of [[Package manager|installation packages]], supporting [[GNU Build System|GNU Autotools]], [[slackpkg]], [[Arch Linux#Pacman|pacman]], [[RPM Package Manager|RPM]], and [[deb (file format)|debs]] (the latter two then tailored for [[Linux distribution|specific distributions]] such as [[Fedora (operating system)|Fedora]]/[[Red Hat Enterprise Linux|RHEL]]/[[CentOS]], [[Mageia]], [[Mandriva]], [[OpenSUSE]] and [[Debian]], [[Ubuntu (operating system)|Ubuntu]]/[[Linux Mint|Mint]]). Support for [[AppImage]] building was mainlined with version 3.19.0.


Gambas since version 3.2 [[Integrated development environment|IDE]] has integrated [[Profiling (computer programming)|profiler]] and it started to use [[just-in-time compilation]] technology.
Gambas since version 3.2 [[Integrated development environment|IDE]] has integrated [[Profiling (computer programming)|profiler]] and it started to use [[just-in-time compilation]] technology.


=== Differences from Visual Basic ===
=== Differences from Visual Basic ===
Gambas is intended to provide a similar experience as developing in Microsoft [[Visual Basic]], but it is not a [[free software]] [[Clone (computing)#Software|clone]] of the popular proprietary program.<ref>{{cite web|url=https://opensource.com/education/14/4/beginner-programming-basic-gambas|title=BASIC programming with Gambas for the beginner programmer|website=[[Opensource.com]]|first=Joshua|last=Allen Holm|date=2014-04-24|access-date=2023-04-05}}</ref> 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.<ref>{{cite web | url=http://gambas-data-grid-codes-database.blogspot.com/p/vb-for-linux.html | author=Mark Alexander Bain | title=Gambas&nbsp;-- Almost Visual Basic on Linux | publisher=Suite101 | date=2008-08-28 }}</ref><ref>{{cite web | url=http://www.linuxpromagazine.com/Issues/2008/95/Gambas-Basic-IDE/ | author=Frank Wieduwilt | title=Programming with the Gambas Basic IDE | publisher=Linux Pro Magazine| date=October 2008 | access-date=2011-12-10}}</ref><ref>{{cite web | url=http://www.awce.com/gp3-gambas.html | author= AWC Electronics | title=Physical Computing with Linux: A Rapid Approach using Gambas | access-date=2012-02-18}}</ref>
Gambas is intended to provide a similar experience as developing in Microsoft [[Visual Basic]], but it is not a [[free software]] [[Clone (computing)#Software|clone]] of the popular proprietary program.<ref>{{cite web|url=https://opensource.com/education/14/4/beginner-programming-basic-gambas|title=BASIC programming with Gambas for the beginner programmer|website=[[Opensource.com]]|first=Joshua|last=Allen Holm|date=2014-04-24|access-date=2023-04-05}}</ref><ref>{{cite web|url=https://www.ubuntubuzz.com/2022/01/alternatives-to-visual-basic.html?m=1|website=Ubuntu Buzz|first=Ade Malsasa|last=Akbar|date=2022-01-28|access-date=2024-03-10|title=Alternatives to Visual Basic}}</ref> 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.<ref>{{cite web | url=http://gambas-data-grid-codes-database.blogspot.com/p/vb-for-linux.html | author=Mark Alexander Bain | title=Gambas&nbsp;-- Almost Visual Basic on Linux | publisher=Suite101 | date=2008-08-28 }}</ref><ref>{{cite web | url=http://www.linuxpromagazine.com/Issues/2008/95/Gambas-Basic-IDE/ | author=Frank Wieduwilt | title=Programming with the Gambas Basic IDE | publisher=Linux Pro Magazine| date=October 2008 | access-date=2011-12-10}}</ref><ref>{{cite web | url=http://www.awce.com/gp3-gambas.html | author= AWC Electronics | title=Physical Computing with Linux: A Rapid Approach using Gambas | access-date=2012-02-18}}</ref>


Its [[object model]], each class being represented in a file, as well as the archiver to package the program is all inspired by the [[Java (programming language)|Java programming language]]. 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 Gambas [[Array data structure|array indexes]] always start with 0, whereas Visual Basic indexes can start with 0 or 1.<ref name="visualbasic">{{cite web | url=http://www.gambaswiki.org/wiki/doc/diffvb | title=Differences from Visual Basic | publisher=Gambas Website | access-date=2020-05-01 }}</ref> Gambas also supports the [[Comparison of Visual Basic and Visual Basic .NET#More C-like syntax|+= and -= shorthand]] not found in classic Visual Basic. Both of these are features of [[Visual Basic .NET]] however.
Its [[object model]], each class being represented in a file, as well as the archiver to package the program is all inspired by the [[Java (programming language)|Java programming language]].<ref>{{cite web|url=https://www.linuxlinks.com/gambas/|website=LinuxLinks|title=Gambas – development environment and a full powerful development platform|date=2023-11-11|first=Steve|last=Emms|access-date=2024-02-25}}</ref> 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 Gambas [[Array data structure|array indexes]] always start with 0, whereas Visual Basic indexes can start with 0 or 1.<ref name="visualbasic">{{cite web | url=http://www.gambaswiki.org/wiki/doc/diffvb | title=Differences from Visual Basic | publisher=Gambas Website | access-date=2020-05-01 }}</ref> Gambas also supports the [[Comparison of Visual Basic and Visual Basic .NET#More C-like syntax|+= and -= shorthand]] not found in classic Visual Basic. Both of these are features of [[Visual Basic .NET]] however.


Gambas also succeeded two prior attempts at implementing a Visual Basic style interface for Qt and GTK on Linux,<ref>{{cite web|url=https://dgk.or.id/archives/2004/12/16/hbasic-menghadirkan-vb-di-linux/|title=HBasic – Menghadirkan VB di Linux|date=2005-12-06|access-date=2023-09-26}}</ref><ref>{{cite web|url=http://www.fredshack.com/docs/linuxbasic.html|title=BASIC for Linux|website=Fredshack|access-date=2023-09-26}}</ref> those being HBasic<ref>{{cite web|url=https://hbasic.sourceforge.net/|website=[[SourceForge]]|title=HBasic IDE and language|date=2007-01-16|access-date=2023-09-26}}</ref><ref>{{cite web|url=https://www.macoratti.net/vb_linux.htm|title=VB para Linux.|website=Macoratti.net|first=José Carlos|last=Macoratti|access-date=2023-09-26}}</ref> and [[GNOME]] Basic,<ref>{{cite web|url=http://www.gnome.org/projects/gb/|archive-url=https://web.archive.org/web/20050205194618/http://www.gnome.org/projects/gb/|title=GB - Basic for GNOME|website=[[GNOME]]|archive-date=2005-02-05|access-date=2023-09-26}}</ref><ref>{{cite web|url=http://www.linuxfocus.org/English/January2003/article277.shtml|title=BASIC programming with Unix|first=John|last=Perr|website=[[LinuxFocus (magazine)|LinuxFocus]]|date=2003-01-01|access-date=2023-09-26}}</ref> as well as the platform independent KBasic/[[Basic for Qt]].<ref>{{cite web|url=https://dot.kde.org/2000/09/29/kbasic-vb-radide-kde|title=KBasic: A VB-Like Rad/IDE For KDE|website=[[KDE]].news|access-date=2023-09-27}}</ref> Similar style IDEs have since been developed as well for [[FreeBASIC]], namely VisualFBEditor,<ref>{{cite web|url=https://www.theregister.com/2022/05/06/rad_basic_alpha_3/|title=RAD Basic – the Visual Basic 7 that never was – releases third alpha|website=[[The Register]]|first=Richard|last=Speed|date=2022-05-06|access-date=2023-03-26|quote=''FreeBASIC, which implements much of what lurked in Microsoft QuickBASIC (and has a nifty IDE in the form of VisualFBEditor).''}}</ref> and [[QB64]], namely InForm.<ref>{{cite web|url=https://warped3.substack.com/p/blast-from-the-past-qbasic-45|title=Blast from the past - QBasic 4.5|website=Barn Lab|first=Ivan|last=Rogoz|date=2022-04-07|access-date=2023-09-26|quote=''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.''}}</ref>
Gambas also outlived two other attempts at implementing a Visual Basic style interface for Qt and GTK on Linux,<ref>{{cite web|url=https://dgk.or.id/archives/2004/12/16/hbasic-menghadirkan-vb-di-linux/|title=HBasic – Menghadirkan VB di Linux|date=2005-12-06|access-date=2023-09-26}}</ref><ref>{{cite web|url=http://www.fredshack.com/docs/linuxbasic.html|title=BASIC for Linux|website=Fredshack|access-date=2023-09-26}}</ref> those being HBasic<ref>{{cite web|url=https://hbasic.sourceforge.net/|website=[[SourceForge]]|title=HBasic IDE and language|date=2007-01-16|access-date=2023-09-26}}</ref><ref>{{cite web|url=https://www.macoratti.net/vb_linux.htm|title=VB para Linux.|website=Macoratti.net|first=José Carlos|last=Macoratti|access-date=2023-09-26}}</ref> and [[GNOME]] Basic,<ref>{{cite web|url=http://www.gnome.org/projects/gb/|archive-url=https://web.archive.org/web/20050205194618/http://www.gnome.org/projects/gb/|title=GB - Basic for GNOME|website=[[GNOME]]|archive-date=2005-02-05|access-date=2023-09-26}}</ref><ref>{{cite web|url=http://www.linuxfocus.org/English/January2003/article277.shtml|title=BASIC programming with Unix|first=John|last=Perr|website=[[LinuxFocus (magazine)|LinuxFocus]]|date=2003-01-01|access-date=2023-09-26}}</ref> as well as the platform independent [[KDE|KBasic]]/Basic for Qt.<ref>{{cite web|url=https://dot.kde.org/2000/09/29/kbasic-vb-radide-kde|title=KBasic: A VB-Like Rad/IDE For KDE|website=[[KDE]].news|date=29 September 2000 |access-date=2023-09-27}}</ref><ref>{{cite web|url=https://www.ics.com/blog/using-qt-alternative-programming-languages-part-1|website=Integrated Computer Solutions|title=Using Qt with Alternative Programming Languages - Part 1|first=Jeff|last=Tranter|date=2015-08-19|access-date=2024-02-25}}</ref> Similar style IDEs have since been developed as well for [[FreeBASIC]], namely VisualFBEditor,<ref>{{cite web|url=https://www.theregister.com/2022/05/06/rad_basic_alpha_3/|title=RAD Basic – the Visual Basic 7 that never was – releases third alpha|website=[[The Register]]|first=Richard|last=Speed|date=2022-05-06|access-date=2023-03-26|quote=''FreeBASIC, which implements much of what lurked in Microsoft QuickBASIC (and has a nifty IDE in the form of VisualFBEditor).''}}</ref> and [[QB64]], namely InForm.<ref>{{cite web|url=https://warped3.substack.com/p/blast-from-the-past-qbasic-45|title=Blast from the past - QBasic 4.5|website=Barn Lab|first=Ivan|last=Rogoz|date=2022-04-07|access-date=2023-09-26|quote=''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.''}}</ref>


== Adoption ==
== Adoption ==
Line 61: Line 61:


== Availability ==
== Availability ==
Gambas is included in the repositories of a number of [[Linux distribution]]s, such as [[Debian]], [[Fedora (operating system)|Fedora]], [[Mandriva Linux]] and [[Ubuntu (operating system)|Ubuntu]]. A [[Microsoft Windows]] version of Gambas was run under the [[Cygwin]] 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,<ref>[https://gambas-user.narkive.com/oZba9RVr/gambas-on-windows-alternative Gambas on Windows - Alternative]</ref> as well as specialized Linux [[virtual machine]]s.<ref>{{cite web|url=http://www.gambasmag.com/article/how-to-run-gambas-on-windows|archive-url=https://web.archive.org/web/20161210140358/http://www.gambasmag.com/article/how-to-run-gambas-on-windows|archive-date=2016-12-10|title=How to Run Gambas on Windows|website=Gambas Magazine|first=R.|last=Morgan|date=2014-06-29}}</ref> <ref>[https://pigalore.miraheze.org/wiki/Running_Gambas_Programs_in_Windows Running Gambas Programs in Windows - PigaLore, the Piga Software Wiki]</ref> An independent contributor, François Gallo, also worked on porting Gambas 3.x to [[MacOS|Mac OS X]] and [[FreeBSD]], based on using local versions of the [[X11]] system.<ref name="macport">{{cite web | url=http://gambas.8142.n7.nabble.com/A-step-forward-in-Gambas-td15054.html | archive-url=https://web.archive.org/web/20170210044835/http://gambas.8142.n7.nabble.com/A-step-forward-in-Gambas-td15054.html | archive-date=2017-02-10 | first=François | last=Gallo | title=A step forward in Gambas! | website=gambas-user | access-date=2023-04-07}}</ref> Gambas from version 3.2 can run on [[Raspberry Pi]], and offers [[just-in-time compilation]] there from version 3.12. It can also be ran from [[Cloud computing|the cloud]] using [[rollApp]].<ref>[https://m.facebook.com/rollApp/photos/a.372019482841186/3986050128104752/?type=3 New version of Gambas 3.15.2 is already available on rollApp.]</ref>
Gambas is included in the repositories of a number of [[Linux distribution]]s, such as [[Debian]], [[Fedora (operating system)|Fedora]], [[Slackware]], [[Arch Linux]], [[Mageia]], [[PCLinuxOS]], [[Linux Mint]] and [[Ubuntu (operating system)|Ubuntu]].<ref>{{cite web|url=https://www.linux.org/threads/gambas-overview.10579/|first=Jarret W.|last=Buse|title=GAMBAS Overview|website=Linux.org|date=2014-08-18|access-date=2024-02-25}}</ref> A [[Microsoft Windows]] version of Gambas was run under the [[Cygwin]] 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,<ref>[https://gambas-user.narkive.com/oZba9RVr/gambas-on-windows-alternative Gambas on Windows - Alternative]</ref> as well as specialized Linux [[virtual machine]]s.<ref>{{cite web|url=http://www.gambasmag.com/article/how-to-run-gambas-on-windows|archive-url=https://web.archive.org/web/20161210140358/http://www.gambasmag.com/article/how-to-run-gambas-on-windows|archive-date=2016-12-10|title=How to Run Gambas on Windows|website=Gambas Magazine|first=R.|last=Morgan|date=2014-06-29}}</ref> <ref>[https://pigalore.miraheze.org/wiki/Running_Gambas_Programs_in_Windows Running Gambas Programs in Windows - PigaLore, the Piga Software Wiki]</ref> An independent contributor, François Gallo, also worked on porting Gambas 3.x to [[MacOS|Mac OS X]] and [[FreeBSD]], based on using local versions of the [[X11]] system.<ref name="macport">{{cite web | url=http://gambas.8142.n7.nabble.com/A-step-forward-in-Gambas-td15054.html | archive-url=https://web.archive.org/web/20170210044835/http://gambas.8142.n7.nabble.com/A-step-forward-in-Gambas-td15054.html | archive-date=2017-02-10 | first=François | last=Gallo | title=A step forward in Gambas! | website=gambas-user | access-date=2023-04-07}}</ref> A build for [[Haiku (operating system)|Haiku]] has also been worked on by Francois Revol.<ref>{{cite web|url=https://discuss.haiku-os.org/t/gambas-on-haiku/10500|website=[[Haiku (operating system)|Haiku]]|title=Gambas on Haiku?|author=djgpp|date=March 2021|access-date=2024-02-25}}</ref> Gambas from version 3.2 can run on [[Raspberry Pi]], and offers [[just-in-time compilation]] there from version 3.12. It can also be run from [[Cloud computing|the cloud]] using [[rollApp]].<ref>[https://m.facebook.com/rollApp/photos/a.372019482841186/3986050128104752/?type=3 New version of Gambas 3.15.2 is already available on rollApp.]</ref>


In November 2013, the future portability of Gambas was discussed, listing the main concerns being [[Linux 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 like [[Cygwin]] 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,<ref>[http://gambas.8142.n7.nabble.com/Gambas-Future-or-what-kind-of-Gambas-we-want-tt44034.html#none Gambas Future or what kind of Gambas we want] {{Webarchive|url=https://web.archive.org/web/20140227003801/http://gambas.8142.n7.nabble.com/Gambas-Future-or-what-kind-of-Gambas-we-want-tt44034.html#none |date=2014-02-27 }}, Gambas Mailing List</ref> with the X11 support in the desktop component moved to its own component as of 3.6.0.
In November 2013, the future portability of Gambas was discussed, listing the main concerns being [[Linux 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 like [[Cygwin]] 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,<ref>[http://gambas.8142.n7.nabble.com/Gambas-Future-or-what-kind-of-Gambas-we-want-tt44034.html#none Gambas Future or what kind of Gambas we want] {{Webarchive|url=https://web.archive.org/web/20140227003801/http://gambas.8142.n7.nabble.com/Gambas-Future-or-what-kind-of-Gambas-we-want-tt44034.html#none |date=2014-02-27 }}, Gambas Mailing List</ref> 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.<ref>[http://gambaswiki.org/wiki/install/cygwin?nh Cygwin Install Guide - Gambas Wiki]</ref><ref>[https://cygwin.com/packages/summary/gambas3.html gambas3 package - Cygwin website]</ref> The relevant patches were mainlined as of version 3.9.2.<ref>{{cite web|url=http://www.gambasmag.com/article/project-spot-light-gambas-on-windows/|archive-url=https://web.archive.org/web/20160408010127/http://www.gambasmag.com/article/project-spot-light-gambas-on-windows/|archive-date=2016-04-08|title=How to Run Gambas on Windows|website=Gambas Magazine|first=R.|last=Morgan|date=2014-06-29}}</ref> This replaces the prior recommended method of using [[NX technology|freenx]] forwarding from a [[Linux#Servers, mainframes and supercomputers|Linux server]].<ref>[http://gambaswiki.org/wiki/howto/windows How To Run Gambas On Windows - Gambas Wiki]</ref> It has also been successfully run using the [[Windows Subsystem for Linux]].<ref>[https://forum.gambas.one/viewtopic.php?t=812 Gambas on Windows], Gambas-One</ref> This was usually done using an [[X terminal]] emulator such [[Mobaxterm]] on Windows,<ref>{{cite web|url=https://elmeson-santafe.com/how-to-run-gambas-in-ubuntu/|title=How To Run Gambas In Ubuntu|website=Elneson-santafe|first=Daniel|last=Vasques|date=2023-01-09|access-date=2023-02-11}}</ref> as WSL did not support [[X11]] graphics directly until [[Windows 11]].<ref>[https://forum.gambas.one/viewtopic.php?t=1226 Windows 11], Gambas-One</ref>
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.<ref>[http://gambaswiki.org/wiki/install/cygwin?nh Cygwin Install Guide - Gambas Wiki]</ref><ref>[https://cygwin.com/packages/summary/gambas3.html gambas3 package - Cygwin website]</ref> The relevant patches were mainlined as of version 3.9.2.<ref>{{cite web|url=http://www.gambasmag.com/article/project-spot-light-gambas-on-windows/|archive-url=https://web.archive.org/web/20160408010127/http://www.gambasmag.com/article/project-spot-light-gambas-on-windows/|archive-date=2016-04-08|title=How to Run Gambas on Windows|website=Gambas Magazine|first=R.|last=Morgan|date=2014-06-29}}</ref> This replaces the prior recommended method of using [[NX technology|freenx]] forwarding from a [[Linux#Servers, mainframes and supercomputers|Linux server]].<ref>[http://gambaswiki.org/wiki/howto/windows How To Run Gambas On Windows - Gambas Wiki]</ref> It has also been successfully run using the [[Windows Subsystem for Linux]].<ref>{{cite web|url=https://gambaswiki.org/wiki/howto/wsl|website=Gambas Wiki|first=John|last=Dovey|title=How to run Gambas and Gambas Apps on Windows using WSL|access-date=2024-02-25}}</ref><ref>[https://forum.gambas.one/viewtopic.php?t=812 Gambas on Windows], Gambas-One</ref> This was usually done using an [[X terminal]] emulator such [[Mobaxterm]] on Windows,<ref>{{cite web|url=https://elmeson-santafe.com/how-to-run-gambas-in-ubuntu/|title=How To Run Gambas In Ubuntu|website=Elneson-santafe|first=Daniel|last=Vasques|date=2023-01-09|access-date=2023-02-11}}</ref> as WSL did not support [[X11]] graphics directly until [[Windows 11]].<ref>[https://forum.gambas.one/viewtopic.php?t=1226 Windows 11], Gambas-One</ref>


== Example code ==
== Example code ==
Line 137: Line 137:
* [https://gitlab.com/gambas/gambas Gambas] on [[GitLab]]
* [https://gitlab.com/gambas/gambas Gambas] on [[GitLab]]
* [http://gambaswiki.org/wiki Gambas documentation]
* [http://gambaswiki.org/wiki Gambas documentation]
* [https://lists.gambas-basic.org/listinfo/user Gambas mailing list]
* [https://lists.gambas-basic.org/listinfo/user Gambas mailing list] {{Webarchive|url=https://web.archive.org/web/20180127202614/https://lists.gambas-basic.org/listinfo/user |date=2018-01-27 }}
* [https://wordpress.gambas.one/ Gambas One], English community
* [https://wordpress.gambas.one/ Gambas One], English community
* [http://www.gambasindia.com/ Gambas India], community and source code repo
* [http://www.gambasindia.com/ Gambas India], community and source code repo

Latest revision as of 23:40, 18 May 2024

Gambas
Gambas Logo
Gambas Logo
Gambas 3 Logo
Gambas 3 Logo
Gambas 2 Logo
Gambas 2 Logo
Gambas 3.3.4 running on Fedora 16 with Xfce
Designed byBenoît Minisini
First appeared1999; 25 years ago (1999)
Stable release
3.19.1 / March 17, 2024; 2 months ago (2024-03-17)[1]
OSLinux, FreeBSD; versions for
Mac OS X[2] and Haiku[3] drafted; Microsoft Windows through Cygwin and WSL
LicenseGNU GPLv2+
Websitehttp://gambas.sourceforge.net
Influenced by
Visual Basic, Java[4]

Gambas is the name of an object-oriented dialect of the BASIC programming language, as well as the integrated development environment that accompanies it.[5] Designed to run on Linux and other Unix-like computer operating systems,[6] its name is a recursive acronym for Gambas Almost Means Basic. Gambas is also the word for prawns in the Spanish, French, and Portuguese languages, from which the project's logos are derived.

History[edit]

Gambas 1.0.15 running from KDE

Gambas was developed by the French programmer Benoî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 to the interface of earlier versions of the GIMP. It could also only develop applications using Qt and was more oriented towards the development of applications for KDE.[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 use GTK+ or SDL for drawing or utilize OpenGL 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 than Perl 5.20.2 and the then-latest 2.7.10 version of Python in many tests.[10] Version 3.16.0 released on April 20, 2021, featured full support for Wayland using the graphical components, as well as parity between the Qt 5 and GTK 3 components.[11]

Features[edit]

Gambas 2.7.0 running on Fedora Linux with Blackbox

Gambas is designed to build graphical programs using the Qt (currently Qt 4.x or 5.x since 3.8.0) or the GTK toolkit (GTK 3.x also supported as of 3.6.0); the Gambas IDE is written in Gambas.[12][13] Gambas includes a GUI designer to aid in creating user interfaces in an event-driven style,[14] but can also make command line applications,[15] as well as text-based user interfaces using the ncurses toolkit.[16] The Gambas runtime 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 the Simple 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 the OpenAL specification has also been added). GPU acceleration support is available through an OpenGL component, as well as other hardware functionally provided by various other components.[18] There are also components for handling other specialized tasks.[17]

One of the examples running inside Gambas 3 IDE
Game: Stars War made in Gambas3

With Gambas, developers can also use databases such as MySQL or PostgreSQL, build KDE (Qt) and GNOME GTK applications with DCOP, 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 of installation packages, supporting GNU Autotools, slackpkg, pacman, RPM, and debs (the latter two then tailored for specific distributions such as Fedora/RHEL/CentOS, Mageia, Mandriva, OpenSUSE and Debian, Ubuntu/Mint). Support for AppImage building was mainlined with version 3.19.0.

Gambas since version 3.2 IDE has integrated profiler and it started to use just-in-time compilation technology.

Differences from Visual Basic[edit]

Gambas is intended to provide a similar experience as developing in Microsoft Visual Basic, but it is not a free software clone 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]

Its object model, each class being represented in a file, as well as the archiver to package the program is all inspired by the Java 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 Gambas array 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 of Visual 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] and GNOME Basic,[31][32] as well as the platform independent KBasic/Basic for Qt.[33][34] Similar style IDEs have since been developed as well for FreeBASIC, namely VisualFBEditor,[35] and QB64, 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] A notable application written in Gambas is Xt7-player-mpv, a GUI frontend for mpv player contained in a number of Linux software repositories.[46][47][48] The comisat Games Collection are early examples of video games written in Gambas.[49]

Availability[edit]

Gambas is included in the repositories of a number of Linux distributions, such as Debian, Fedora, Slackware, Arch Linux, Mageia, PCLinuxOS, Linux Mint and Ubuntu.[50] A Microsoft Windows version of Gambas was run under the Cygwin 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,[51] as well as specialized Linux virtual machines.[52] [53] An independent contributor, François Gallo, also worked on porting Gambas 3.x to Mac OS X and FreeBSD, based on using local versions of the X11 system.[54] A build for Haiku has also been worked on by Francois Revol.[55] Gambas from version 3.2 can run on Raspberry Pi, and offers just-in-time compilation there from version 3.12. It can also be run from the cloud using rollApp.[56]

In November 2013, the future portability of Gambas was discussed, listing the main concerns being Linux 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 like Cygwin 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,[57] 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.[58][59] The relevant patches were mainlined as of version 3.9.2.[60] This replaces the prior recommended method of using freenx forwarding from a Linux server.[61] It has also been successfully run using the Windows Subsystem for Linux.[62][63] This was usually done using an X terminal emulator such Mobaxterm on Windows,[64] as WSL did not support X11 graphics directly until Windows 11.[65]

Example code[edit]

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

Public Sub Main()
    Message("Hello, World!")
End

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

Private Sub Test(X As Float) As Float

    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
    Next

    Return Pu

End

Public Sub Main()

    Dim I as Integer

    For I = 1 To 10
        Print Test(0.2)
    Next

End

See also[edit]

References[edit]

  1. ^ "Releases · Gambas / gambas · GitLab". Retrieved 2023-11-15.
  2. ^ Gallo, François (2011-06-16). "Gambas 3 OS X". AllBASIC. Retrieved 2023-09-28.
  3. ^ djgpp (March 2021). "Gambas on Haiku?". Haiku. Retrieved 2024-02-25.
  4. ^ a b "Gambas Documentation Introduction". Gambas Website. Retrieved 2017-10-09.
  5. ^ Huges, Matthew (2015-03-03). "The BASIC Guide to GAMBAS: All You Need To Know". MakeUseOf. Retrieved 2023-02-11.
  6. ^ Upfold, Peter (2008-09-08). "Gambas — Almost Visual Basic for Linux". FOSSwire. Retrieved 2011-05-07.
  7. ^ Cook (2005-01-05). "Gambas - a BASIC Development Environment". LWN.net. Retrieved 2024-02-25.
  8. ^ "Gambas: A Fast Visual Basic for Linux". CodeFez. Archived from the original on 2009-09-09. Retrieved 2007-04-04.
  9. ^ "Gambas 3.0 for BASIC with bug and security fixes". The H. Retrieved 2012-01-05.
  10. ^ "Benchmarking". Gambas Website. Retrieved 2018-02-11.
  11. ^ "3.16.0 release notes". Gambas Website. Retrieved 2021-02-11.
  12. ^ "Frequently Asked Questions". Gambas Documentation. Retrieved 2014-11-17.
  13. ^ Larabel, Michael (2013-11-25). "The Gambas Project: It's Like Visual Basic On Linux". Phoronix. Retrieved 2024-02-25.
  14. ^ Upfold, Peter (2008-09-08). "Gambas - Almost Visual Basic for Linux". FOSSwire. Retrieved 2024-02-25.
  15. ^ Ratliff Sr., Gary L. (October 2008). "An Alphabet of Computer Languages: BASIC". PCLinuxOS Magazine. Retrieved 2024-02-25.
  16. ^ Dee, Steve (2017-03-27). "Gambas cli programming: ncurses text based user interface". Captain Bogdit. Retrieved 2023-04-15.
  17. ^ a b Fernandez, Daniel (2004-11-11). "Regarding Gambas". OSNews. Retrieved 2011-05-07.
  18. ^ a b "Gambas RAD". Linux.co.uk. Archived from the original on 2011-08-29. Retrieved 2011-05-07.
  19. ^ "Why a new SDL component?". Gambas Mailing List. Archived from the original on 2015-02-09. Retrieved 2015-02-09.
  20. ^ Allen Holm, Joshua (2014-04-24). "BASIC programming with Gambas for the beginner programmer". Opensource.com. Retrieved 2023-04-05.
  21. ^ Akbar, Ade Malsasa (2022-01-28). "Alternatives to Visual Basic". Ubuntu Buzz. Retrieved 2024-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. Retrieved 2011-12-10.
  24. ^ AWC Electronics. "Physical Computing with Linux: A Rapid Approach using Gambas". Retrieved 2012-02-18.
  25. ^ Emms, Steve (2023-11-11). "Gambas – development environment and a full powerful development platform". LinuxLinks. Retrieved 2024-02-25.
  26. ^ "Differences from Visual Basic". Gambas Website. Retrieved 2020-05-01.
  27. ^ "HBasic – Menghadirkan VB di Linux". 2005-12-06. Retrieved 2023-09-26.
  28. ^ "BASIC for Linux". Fredshack. Retrieved 2023-09-26.
  29. ^ "HBasic IDE and language". SourceForge. 2007-01-16. Retrieved 2023-09-26.
  30. ^ Macoratti, José Carlos. "VB para Linux". Macoratti.net. Retrieved 2023-09-26.
  31. ^ "GB - Basic for GNOME". GNOME. Archived from the original on 2005-02-05. Retrieved 2023-09-26.
  32. ^ Perr, John (2003-01-01). "BASIC programming with Unix". LinuxFocus. Retrieved 2023-09-26.
  33. ^ "KBasic: A VB-Like Rad/IDE For KDE". KDE.news. 29 September 2000. Retrieved 2023-09-27.
  34. ^ Tranter, Jeff (2015-08-19). "Using Qt with Alternative Programming Languages - Part 1". Integrated Computer Solutions. Retrieved 2024-02-25.
  35. ^ Speed, Richard (2022-05-06). "RAD Basic – the Visual Basic 7 that never was – releases third alpha". The Register. Retrieved 2023-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. Retrieved 2023-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 from the original on 2013-09-28. Retrieved 2012-10-28.
  38. ^ "Application Repository". Gambas. Archived from the original on 2019-10-26. Retrieved 2020-05-01.
  39. ^ "GAMBAS BASIC Web site". GAMBAS BASIC. Archived from the original on 2011-05-12. Retrieved 2011-05-07.
  40. ^ "Gambas Examples". Piga Software. Retrieved 2011-05-07.
  41. ^ Gambas games - Libregamewiki
  42. ^ "Gambas3 ShowCase". gbWilly. Archived from the original on 2016-01-10. Retrieved 2013-09-22.
  43. ^ Gambas Farm
  44. ^ Gambas Farm Server Protocol - Gambas Documentation
  45. ^ "Mailing Lists & Forums". Gambas Web site. Archived from the original on 2021-03-01. Retrieved 2021-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. ^ "comisat Games Collection 0.5.2 review". Nixbit. Retrieved 2023-02-08.
  50. ^ Buse, Jarret W. (2014-08-18). "GAMBAS Overview". Linux.org. Retrieved 2024-02-25.
  51. ^ Gambas on Windows - Alternative
  52. ^ Morgan, R. (2014-06-29). "How to Run Gambas on Windows". Gambas Magazine. Archived from the original on 2016-12-10.
  53. ^ Running Gambas Programs in Windows - PigaLore, the Piga Software Wiki
  54. ^ Gallo, François. "A step forward in Gambas!". gambas-user. Archived from the original on 2017-02-10. Retrieved 2023-04-07.
  55. ^ djgpp (March 2021). "Gambas on Haiku?". Haiku. Retrieved 2024-02-25.
  56. ^ New version of Gambas 3.15.2 is already available on rollApp.
  57. ^ Gambas Future or what kind of Gambas we want Archived 2014-02-27 at the Wayback Machine, Gambas Mailing List
  58. ^ Cygwin Install Guide - Gambas Wiki
  59. ^ gambas3 package - Cygwin website
  60. ^ Morgan, R. (2014-06-29). "How to Run Gambas on Windows". Gambas Magazine. Archived from the original on 2016-04-08.
  61. ^ How To Run Gambas On Windows - Gambas Wiki
  62. ^ Dovey, John. "How to run Gambas and Gambas Apps on Windows using WSL". Gambas Wiki. Retrieved 2024-02-25.
  63. ^ Gambas on Windows, Gambas-One
  64. ^ Vasques, Daniel (2023-01-09). "How To Run Gambas In Ubuntu". Elneson-santafe. Retrieved 2023-02-11.
  65. ^ Windows 11, Gambas-One

Further reading[edit]

External links[edit]