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
(section)
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!
== 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>
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)