Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Gambas
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Integrated development environment}} {{Distinguish|Viola da gamba}} {{for|the [[Romania]]n village of Gâmbaş|Aiud}} {{infobox programming language | name = Gambas | logo = [[File:Gambas mascot.png|left|95px|Gambas Logo]][[File:Gambas 3 logo.svg|right|65px|Gambas 3 Logo]][[File:Gambas2-logo.png|center|65px|Gambas 2 Logo]] | screenshot = Gambas-3.3.4-Xfce-Fedora16.png | screenshot caption = Gambas 3.3.4 running on [[Fedora version history#Fedora 16|Fedora 16]] with [[Xfce]] | year = {{Start date and age|1999}} | designer = [[Benoît Minisini]] | latest_release_version = 3.20.0 | latest_release_date = {{Start date and age|2025|01|10}}<ref>{{cite web | url = https://gitlab.com/gambas/gambas/-/releases | title = Releases · Gambas / gambas · GitLab | access-date = 2023-11-15 }}</ref> | latest_test_version = | 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> | 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]]+ | website = http://gambas.sourceforge.net }} '''Gambas''' is an [[Object-oriented programming|object-oriented]] dialect of the [[BASIC|BASIC programming language]], and an [[integrated development environment]] that accompanies it.<ref>{{cite web|url=https://www.makeuseof.com/tag/basic-guide-gambas-need-know/|title=The BASIC Guide to GAMBAS: All You Need To Know|website=MakeUseOf|first=Matthew|last=Huges|date=2015-03-03|access-date=2023-02-11}}</ref> Designed to run on [[Linux]] and other [[Unix-like]] computer [[operating system]]s,<ref name="FOSSwire">{{cite web |url=http://fosswire.com/post/2008/09/gambas-almost-visual-basic-for-linux/ |first=Peter |last=Upfold|title=Gambas — Almost Visual Basic for Linux |date=2008-09-08 |publisher=FOSSwire |access-date=2011-05-07}}</ref> its name is a [[recursive acronym]] for '''''G'''ambas '''A'''lmost '''M'''eans '''Bas'''ic''. Gambas is also the word for [[prawn]]s in the [[Spanish language|Spanish]], [[French language|French]], and [[Portuguese language|Portuguese]] languages, from which the project's logos are derived. == History == 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 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]] 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 [[Simple DirectMedia Layer|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.<ref name="TheH">{{cite web | url=http://www.h-online.com/open/news/item/Gambas-3-0-for-BASIC-with-bug-and-security-fixes-1403082.html | title=Gambas 3.0 for BASIC with bug and security fixes | publisher=The H | access-date=2012-01-05}}</ref> 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 (programming language)|Python]] in many tests.<ref name="benchmark">{{cite web | url=http://gambaswiki.org/wiki/doc/benchmark | title=Benchmarking | publisher=Gambas Website| access-date=2018-02-11}}</ref> Version 3.16.0 released on April 20, 2021, featured full support for [[Wayland (display server protocol)|Wayland]] using the graphical components, as well as parity between the Qt 5 and GTK 3 components.<ref name="wayland">{{cite web | url=http://gambaswiki.org/wiki/doc/release/3.16.0?nh | title=3.16.0 release notes | publisher=Gambas Website |access-date=2021-02-11}}</ref> == 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]]]] 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/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"/> 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. === 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><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 -- 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]].<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 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 == [[Image:DONKEY-GB.png|thumb|right|[[DONKEY.BAS|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,<ref name="freshmeat">{{cite web | url=http://freshmeat.net/tags/gambas | archiveurl=https://web.archive.org/web/20130928005822/http://freecode.com/tags/gambas | archive-date=2013-09-28 | title=23 projects tagged "Gambas" | publisher=[[Freecode|Freshmeat]]| access-date=2012-10-28}}</ref> while the Gambas wiki listed 82;<ref>{{cite web | url=http://www.gambaswiki.org/wiki/app | title=Application Repository | publisher=Gambas | access-date=2020-05-01 | archive-url=https://web.archive.org/web/20191026180957/http://www.gambaswiki.org/wiki/app | archive-date=2019-10-26 }}</ref> several other specialized sites list Gambas applications and code.<ref name="gambasbasic">{{cite web |url=http://gambaslinux.eg2.fr/index.php?lng=en |title=GAMBAS BASIC Web site |publisher=GAMBAS BASIC |access-date=2011-05-07 |url-status=dead |archive-url=https://web.archive.org/web/20110512082113/http://gambaslinux.eg2.fr/index.php?lng=en |archive-date=2011-05-12 }}</ref><ref name="pigaexamples">{{cite web | url=http://pigalore.miraheze.org/wiki/Gambas_Examples | title=Gambas Examples | publisher=Piga Software| access-date=2011-05-07}}</ref><ref>[https://libregamewiki.org/Category:Gambas_games Gambas games - Libregamewiki]</ref> A Gambas written application, named Gambas3 ShowCase, acted as a software center to download or install Gambas 3 applications.<ref name="Gambas3 Programs">{{cite web | url=http://gambasshowcase.org/ | title=Gambas3 ShowCase | publisher=gbWilly | access-date=2013-09-22 | archive-url=https://web.archive.org/web/20160110013232/http://gambasshowcase.org/ | archive-date=2016-01-10 | url-status=dead }}</ref> 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.<ref>[https://farm.gambas.one/ Gambas Farm]</ref><ref>[http://gambaswiki.org/wiki/doc/farmproto Gambas Farm Server Protocol - Gambas Documentation]</ref> Several community sites, including community forums and mailing lists, also exist for Gambas.<ref name="community">{{cite web | url=http://gambaswiki.org/wiki/doc/forum?nh&l=en | title=Mailing Lists & Forums | publisher=Gambas Web site | access-date=2021-04-04 | archive-url=https://web.archive.org/web/20210301043230/http://gambaswiki.org/wiki/doc/forum?nh&l=en| archive-date=2021-03-01 }}</ref> Notable applications written in Gambas include Xt7-player-mpv, a [[Mpv (media player)#Interface and graphical front-ends|GUI frontend]] for [[mpv (media player)|mpv]] player contained in a number of Linux software repositories,<ref>[https://www.linux-apps.com/p/1131036/ xt7-player-mpv - linux-APPS.com]</ref><ref>[http://ubuntuhandbook.org/index.php/2014/07/xt7-player-best-video-player-kubuntu-kde/ XT7-Player – Best Video Player for Kubuntu / KDE - Ubuntu Handbook]</ref><ref>[http://www.webupd8.org/2011/11/xt7-player-is-fully-featured-mplayer.html Xt7-Player Is A Fully Featured Mplayer GUI - Web Upd8]</ref> and I-Nex, a program for displaying hardware data.<ref>{{cite web|url=https://www.linux-magazine.com/Online/Features/Getting-System-Info-with-I-Nex|title=Getting System Info with I-Nex|website=[[Linux Magazine]]|first=Vincze-Aron|last=Szabo|access-date=11 November 2024}}</ref><ref>{{cite web|url=https://www.ubuntubuzz.com/2015/04/i-nex-advanced-cpu-z-hardware-utility-for-linux.html|title=I-Nex, An Advanced CPU-Z Hardware Utility for Linux|first=Ade Malsasa|last=Akbar|date=21 April 2015|website=Ubuntu Buzz|access-date=11 November 2024}}</ref><ref>{{cite web|url=https://www.omgubuntu.co.uk/2014/02/nex-cpu-z-hardware-stat-tool-linux|title=i-Nex – A CPU-Z Hardware Stat Tool for Linux|first=Joey|last=Sneddon|website=OMG Ubuntu!|date=24 November 2014|access-date=11 November 2024}}</ref> The comisat Games Collection are early examples of video games written in Gambas.<ref>{{cite web|url= https://nixbit.com/software/comisat-games-collection-review/|title=comisat Games Collection 0.5.2 review |website=Nixbit|access-date=2023-02-08}}</ref> == Availability == 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. 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 == A "Hello, World!" program with graphical user interface. <syntaxhighlight lang="vbscript"> Public Sub Main() Message("Hello, World!") End </syntaxhighlight> Program that computes a 100-term polynomial 500000 times, and repeats it ten times (used for [[Benchmark (computing)|benchmarking]]). <syntaxhighlight lang="vbnet"> 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 </syntaxhighlight> == See also == {{Portal|Free and open-source software}} * [[List of BASIC dialects]] * [[Comparison of integrated development environments#BASIC]] * GNAVI * [[Lazarus (IDE)|Lazarus]] == References == {{Reflist|30em}} == Further reading == * Mark Alexander Bain (Apr 28, 2006) ''[http://www.linuxjournal.com/article/8481 An Introduction to Gambas]'', [[Linux Journal]], issue 146, June 2006 (in print) * Mark Alexander Bain (Dec 3, 2004) ''[http://www.linux.com/archive/articles/40666 Gambas speeds database development]'', [[Linux.com]] * Mark Alexander Bain (Dec 12, 2007) ''[http://www.linux.com/archive/feature/122049 Creating simple charts with Gambas 2.0]'', [[Linux.com]] * Fabián Flores Vadell (Nov, 2010) ''[https://translate.google.com/translate?hl=es&sl=es&tl=en&u=http://comoprogramarcongambas.blogspot.com/ How to Program with Gambas]'' == External links == {{Wikibooks}} {{Commons}} * {{Official website}} * [https://gitlab.com/gambas/gambas Gambas] on [[GitLab]] * [http://gambaswiki.org/wiki Gambas documentation] * [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 * [http://www.gambasindia.com/ Gambas India], community and source code repo {{BASIC}} {{Integrated development environments}} {{GUI builders}} {{Qt}} [[Category:BASIC compilers]] [[Category:BASIC interpreters]] [[Category:BASIC programming language family]] [[Category:Free integrated development environments]] [[Category:Free software programmed in BASIC]] [[Category:Linux integrated development environments]] [[Category:Linux programming tools]] [[Category:Object-oriented programming languages]] [[Category:Procedural programming languages]] [[Category:Programming languages created in 1999]] [[Category:Self-hosting software]] [[Category:Software that uses Qt]] [[Category:Software that uses GTK]] [[Category:Software using the GNU General Public License]] [[Category:User interface builders]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:BASIC
(
edit
)
Template:Cite web
(
edit
)
Template:Commons
(
edit
)
Template:Distinguish
(
edit
)
Template:For
(
edit
)
Template:GUI builders
(
edit
)
Template:Infobox programming language
(
edit
)
Template:Integrated development environments
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Qt
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Webarchive
(
edit
)
Template:Wikibooks
(
edit
)