맨위로가기

감바스

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

Gambas는 1999년 프랑스 프로그래머 브누아 미니시니가 개발한 자유 소프트웨어 개발 환경이다. BASIC 언어에 익숙한 미니시니는 사용자 인터페이스를 갖춘 프로그램을 쉽게 만들 수 있는 환경을 목표로 Gambas를 만들었다. Gambas는 Qt 또는 GTK 툴킷을 사용하여 그래픽 사용자 인터페이스 프로그램을 구축하며, 자체 IDE를 제공한다. Gambas는 Visual Basic과 유사한 문법을 사용하지만, 배열 인덱스, 단축 구문 등에서 차이점을 보인다. Gambas는 다양한 리눅스 배포판에서 사용 가능하며, Cygwin을 통해 Windows에서도 실행할 수 있다. Gambas는 다양한 애플리케이션 개발에 사용되며, 커뮤니티 지원도 활발하다.

더 읽어볼만한 페이지

  • 1999년 개발된 프로그래밍 언어 - 코볼스크립트
    코볼스크립트는 코볼 프로그래밍 언어를 사용하여 작성된 스크립트이다.
  • 베이직 컴파일러 - 비주얼 베이직
    비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다.
  • 베이직 컴파일러 - 프리베이직
    FreeBASIC은 QuickBASIC과 비슷한 문법을 가진 BASIC 프로그래밍 언어 컴파일러로, 콘솔 및 GUI 애플리케이션 생성, C 라이브러리 연동, 인라인 어셈블리, 멀티스레딩, QuickBASIC 호환성, 객체 지향 프로그래밍, 2D 그래픽 라이브러리 등을 지원한다.
  • 베이직 인터프리터 - 비주얼 베이직
    비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다.
  • 베이직 인터프리터 - 큐베이직
    큐베이직은 GW-BASIC을 대체하기 위해 개발된 퀵베이직 컴파일러 기반의 인터프리터로, MS-DOS, 윈도우, IBM PC DOS 등에서 사용되었으며, 4개의 예제 프로그램과 이스터 에그를 제공한다.
감바스 - [IT 관련 정보]에 관한 문서
기본 정보
Gambas mascot
감바스 마스코트
개발자Benoît Minisini
최초 출시일1999년
안정화 버전3.19.4
영향을 받은 언어비주얼 베이직
자바
운영체제리눅스
FreeBSD
Mac OS X
Haiku
Microsoft Windows (Cygwin 및 WSL을 통해)
라이선스GNU GPLv2+
웹사이트감바스 공식 웹사이트

2. 역사

Gambas는 프랑스 프로그래머 브누아 미니시니가 1999년에 처음 개발했다. 브누아는 BASIC 언어를 사용하며 자랐고, 사용자 인터페이스를 갖춘 프로그램을 빠르고 쉽게 만들 수 있는 자유 소프트웨어 개발 환경을 만들기로 결정했다.[2]

Gambas 1.x 버전은 2005년 1월 4일에 처음 출시되었으며,[7] 초기 버전은 인터페이스와 유사하게 폼과 IDE 대화 상자에 여러 개의 서로 다른 별도 창으로 구성되었다. 또한 Qt를 사용하여 응용 프로그램을 개발할 수 있었으며 KDE용 응용 프로그램 개발에 더 중점을 두었다.[8] 1.x 버전의 마지막 릴리스는 Gambas 1.0.19였다.

러시아어 인터페이스의 Gambas 2.7


2.x 버전의 첫 번째 버전은 3~4년의 개발 기간을 거쳐 2008년 1월 2일에 출시되었다. 이 버전은 인터페이스를 대대적으로 재설계하여 모든 폼과 기능을 단일 창에 포함했으며 Gambas 구문에도 몇 가지 변경 사항이 있었지만 코드 호환성은 대부분 유지되었다. 이는 기존 Gambas 구성 요소의 주요 업데이트뿐만 아니라 그림을 그리기 위해 GTK+ 또는 SDL을 사용하거나 OpenGL 가속을 활용할 수 있는 새로운 구성 요소와 같은 몇 가지 새로운 구성 요소의 추가를 특징으로 했다. Gambas 2.x 버전은 Gambas 1.x 프로젝트를 로드하여 실행할 수 있으며, 가끔 호환되지 않는 경우도 있다. Gambas 2.x에서 3.x로의 경우도 마찬가지이지만 Gambas 1.x에서 3.x로는 그렇지 않다.

Gambas의 다음 주요 반복인 3.x 버전은 2011년 12월 31일에 출시되었다.[9] Gambas 웹사이트에 게시된 2015년 벤치마크에 따르면 Gambas 3.8.90 스크립팅은 많은 테스트에서 Perl 5.20.2 및 당시 최신 버전인 Python 2.7.10보다 다양한 정도의 속도를 보였다.[10] 2021년 4월 20일에 출시된 버전 3.16.0은 그래픽 구성 요소를 사용하여 Wayland를 완벽하게 지원하며 Qt 5 및 GTK 3 구성 요소 간의 패리티를 제공했다.[11]

3. 특징

Gambas는 실행에 런타임을 필요로 하는 언어 중에서는 비교적 적은 리소스를 사용하며, 경쾌하게 동작하는 데 중점을 두고 개발되었다. Qt 또는 GTK 툴킷을 사용하여 그래픽 사용자 인터페이스 프로그램을 구축할 수 있도록 설계되었으며, Gambas IDE는 Gambas로 작성되었다.[12][13] GUI 디자이너가 포함되어 있어 이벤트 구동 프로그래밍 방식으로 사용자 인터페이스를 쉽게 만들 수 있다.[14] 명령줄 인터페이스 애플리케이션 및 ncurses 툴킷을 사용한 텍스트 기반 사용자 인터페이스도 만들 수 있다.[15][16]

기능은 다양한 구성 요소를 통해 확장할 수 있으며, Qt, GTK, SDL, OpenGL, OpenAL 등을 지원한다.[17][18][19] MySQL, PostgreSQL과 같은 데이터베이스를 사용할 수 있으며, DCOP를 통해 KDE (Qt) 및 GNOME GTK 애플리케이션을 빌드할 수 있다. 비주얼 베이직 프로그램을 Gambas로 변환하여 리눅스에서 실행하고, 네트워크 솔루션 및 CGI 웹 애플리케이션을 구축할 수 있다.

페도라 리눅스에서 블랙박스를 실행하는 Gambas 2.7.0


패키지 관리자를 통해 GNU 오토툴스, slackpkg, pacman, RPM, deb 등 다양한 설치 패키지를 만들 수 있다.[17] 버전 3.2부터 프로파일러가 통합되었으며, JIT 컴파일 기술을 사용하기 시작했다. AppImage 빌드 지원은 버전 3.19.0에서 메인라인으로 통합되었다.

최신 버전(2.15.2)에서 대응하는 배포판은 다음과 같다.

배포판
데비안
페도라
만드리바
오픈SUSE
슬랙웨어
우분투


3. 1. 언어 사양

Gambas는 .NET화 이전의 Visual Basic과 유사하며, 아주 단순한 코드는 구별하기 어려울 정도이다.

예시: "Button1"을 클릭했을 때 "Label1"에 "Hello World!"를 표시하는 코드.

```

PUBLIC SUB Button1_Click()

Label1.Text="Hello World!"

END

```

Gambas는 객체 지향 언어이며, 코드는 모두 클래스 파일 또는 모듈 파일에 기술된다. 클래스 상속, 오버로딩, 수퍼클래스 접근이 가능하다. 퍼블릭 변수와 프로퍼티를 병용할 수 있다. TRY/CATCH/FINALLY 등에 의한 예외 처리를 지원한다. CLI 명령을 직접 실행할 수 있으며, 파이프를 사용할 수 있다.

3. 2. Visual Basic과의 차이점

감바스는 비주얼 베이직과 유사한 개발 환경을 제공하지만, 몇 가지 중요한 차이점이 있다. 감바스에서 배열 인덱스는 항상 0으로 시작하는 반면, 비주얼 베이직의 인덱스는 0 또는 1로 시작할 수 있다.[26] 감바스는 또한 += 및 -= 단축 구문을 지원하는데, 이는 Visual Basic .NET의 기능이지만, 기존 비주얼 베이직에서는 찾아볼 수 없다.

4. 예제 코드

vbscript

Public Sub Main()

Message("Hello World!")

End

```

벤치마크에 사용되는 프로그램의 예는 다음과 같다.

```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

5. 사용 가능 플랫폼

감바스는 데비안, 페도라, 슬랙웨어, 아치 리눅스, 마게이아, PCLinuxOS, 리눅스 민트, 우분투 등 여러 리눅스 배포판 저장소에 포함되어 있다.[53] 마이크로소프트 윈도우 버전은 Cygwin 환경에서 실행되었지만, 리눅스 버전에 비해 테스트가 훨씬 덜 되었고 명령줄 전용이었다. Cooperative Linux 및 파생 제품, 전문 리눅스 가상 머신도 사용되었다.[54][55] [56]

프랑수아 갈로(François Gallo)는 Mac OS XFreeBSD로 감바스 3.x를 포팅하는 작업을 진행했으며, X11 시스템의 로컬 버전을 기반으로 했다.[57] 프랑수아 레볼(Francois Revol)은 Haiku용 빌드 작업도 진행했다.[58] 감바스 3.2 버전부터 라즈베리 파이에서 실행할 수 있으며, 3.12 버전부터는 JIT 컴파일을 지원한다. 롤앱을 사용하여 클라우드 컴퓨팅에서도 실행할 수 있다.[59]

5. 1. 이식성 관련 논의

2013년 11월, 감바스의 미래 이식성에 대한 논의가 이루어졌다. 주요 우려 사항으로는 리눅스 커널 기능의 인터프리터 사용, 리눅스 특정 소프트웨어 및 라이브러리 사용, 특히 Qt, GTK 및 데스크톱 통합 구성 요소의 X11 종속성이 지적되었다.[60] 그러나 GTK 3 (3.6.0부터 추가) 및 Qt 5 (3.8.0부터)와 같은 최신 툴킷으로 업그레이드하면서 향후 버전은 X11에 덜 종속될 것이며, Cygwin과 같은 프로젝트나 다른 플랫폼에서의 완전한 네이티브 버전이 더 가능해질 것이라고 보았다. 브누아 미니시니(Benoît Minisini)는 X11 특정 코드를 "캡슐화"하여 교체 시도를 지원할 것이라고 언급했으며,[60] 데스크톱 구성 요소의 X11 지원은 3.6.0부터 자체 구성 요소로 이동했다.

5. 2. Windows 지원

2016년 10월 27일, Cygwin을 통해 감바스를 완전히 실행하기 위한 스크린샷과 설정 가이드가 공개되었으며, 대부분의 구성 요소, 그래픽 툴킷 및 전체 IDE를 포함했다.[61][62] 관련 패치는 3.9.2 버전부터 메인라인에 적용되었다.[63] 이는 기존에 권장되던 freenx를 사용하여 리눅스 서버로부터 포워딩하는 방식을 대체한다.[64] 또한 Windows Subsystem for Linux를 사용하여 성공적으로 실행되었다.[65][66] 이는 일반적으로 윈도우에서 Mobaxterm과 같은 X 터미널 에뮬레이터를 사용하여 수행되었으며,[67] WSL은 Windows 11까지 X11 그래픽을 직접 지원하지 않았다.[68]

6. 채택

다수의 프로그램과 많은 예제 코드가 갬바스를 사용하여 작성되었으며, 갬바스를 위해 작성되었다. 프리코드(구 Freshmeat)는 갬바스를 사용하여 개발된 23개의 애플리케이션을 나열했고,[37] 갬바스 위키는 82개를 나열했다.[38] 이외에도 갬바스 애플리케이션과 코드를 나열하는 여러 전문 사이트들이 존재한다.[39][40][41]

갬바스로 작성된 애플리케이션인 Gambas3 ShowCase는 갬바스 3 애플리케이션을 다운로드하거나 설치하는 소프트웨어 센터 역할을 했다.[42] 이 애플리케이션은 3.7.1 버전부터 IDE에 통합된 최초의 갬바스 소프트웨어 팜이 출시된 이후 중단되었으며, 현재 500개에 달하는 애플리케이션과 데모를 포함하고 있다.[43][44] 커뮤니티 포럼 및 메일링 리스트를 포함한 여러 커뮤니티 사이트 또한 갬바스를 위해 존재한다.[45]

갬바스로 작성된 주목할 만한 애플리케이션으로는 여러 리눅스 소프트웨어 저장소에 포함된 GUI 프론트엔드 mpv 플레이어인 Xt7-player-mpv가 있으며,[46][47][48] 하드웨어 데이터를 표시하는 프로그램인 I-Nex가 있다.[49][50][51] Comisat 게임 컬렉션은 갬바스로 작성된 비디오 게임의 초기 예시이다.[52]

참조

[1] 웹사이트 Releases · Gambas / gambas · GitLab https://gitlab.com/g[...] 2023-11-15
[2] 웹사이트 Gambas Documentation Introduction http://gambaswiki.or[...] Gambas Website 2017-10-09
[3] 웹사이트 Gambas 3 OS X https://allbasic.inf[...] 2023-09-28
[4] 웹사이트 Gambas on Haiku? https://discuss.haik[...] 2024-02-25
[5] 웹사이트 The BASIC Guide to GAMBAS: All You Need To Know https://www.makeuseo[...] 2023-02-11
[6] 웹사이트 Gambas — Almost Visual Basic for Linux http://fosswire.com/[...] FOSSwire 2011-05-07
[7] 웹사이트 Gambas - a BASIC Development Environment https://lwn.net/Arti[...] 2024-02-25
[8] 웹사이트 Gambas: A Fast Visual Basic for Linux http://codefez.com/g[...] CodeFez 2007-04-04
[9] 웹사이트 Gambas 3.0 for BASIC with bug and security fixes http://www.h-online.[...] The H 2012-01-05
[10] 웹사이트 Benchmarking http://gambaswiki.or[...] Gambas Website 2018-02-11
[11] 웹사이트 3.16.0 release notes http://gambaswiki.or[...] Gambas Website 2021-02-11
[12] 웹사이트 Frequently Asked Questions http://gambaswiki.or[...] 2014-11-17
[13] 웹사이트 The Gambas Project: It's Like Visual Basic On Linux https://www.phoronix[...] 2024-02-25
[14] 웹사이트 Gambas - Almost Visual Basic for Linux https://fosswire.com[...] 2024-02-25
[15] 웹사이트 An Alphabet of Computer Languages: BASIC https://pclosmag.com[...] 2008-10-00
[16] 웹사이트 Gambas cli programming: ncurses text based user interface http://captainbodgit[...] 2023-04-15
[17] 웹사이트 Regarding Gambas http://www.osnews.co[...] OSNews 2011-05-07
[18] 웹사이트 Gambas RAD http://old.linux.co.[...] Linux.co.uk 2011-05-07
[19] 웹사이트 Why a new SDL component? http://git.net/gamba[...] Gambas Mailing List 2015-02-09
[20] 웹사이트 BASIC programming with Gambas for the beginner programmer https://opensource.c[...] 2023-04-05
[21] 웹사이트 Alternatives to Visual Basic https://www.ubuntubu[...] 2024-03-10
[22] 웹사이트 Gambas -- Almost Visual Basic on Linux http://gambas-data-g[...] Suite101 2008-08-28
[23] 웹사이트 Programming with the Gambas Basic IDE http://www.linuxprom[...] Linux Pro Magazine 2011-12-10
[24] 웹사이트 Physical Computing with Linux: A Rapid Approach using Gambas http://www.awce.com/[...] 2012-02-18
[25] 웹사이트 Gambas – development environment and a full powerful development platform https://www.linuxlin[...] 2024-02-25
[26] 웹사이트 Differences from Visual Basic http://www.gambaswik[...] Gambas Website 2020-05-01
[27] 웹사이트 HBasic – Menghadirkan VB di Linux https://dgk.or.id/ar[...] 2023-09-26
[28] 웹사이트 BASIC for Linux http://www.fredshack[...] 2023-09-26
[29] 웹사이트 HBasic IDE and language https://hbasic.sourc[...] 2023-09-26
[30] 웹사이트 VB para Linux. https://www.macoratt[...] 2023-09-26
[31] 웹사이트 GB - Basic for GNOME http://www.gnome.org[...] 2023-09-26
[32] 웹사이트 BASIC programming with Unix http://www.linuxfocu[...] 2023-09-26
[33] 웹사이트 KBasic: A VB-Like Rad/IDE For KDE https://dot.kde.org/[...] 2023-09-27
[34] 웹사이트 Using Qt with Alternative Programming Languages - Part 1 https://www.ics.com/[...] 2024-02-25
[35] 웹사이트 RAD Basic – the Visual Basic 7 that never was – releases third alpha https://www.theregis[...] 2023-03-26
[36] 웹사이트 Blast from the past - QBasic 4.5 https://warped3.subs[...] 2022-04-07
[37] 웹사이트 23 projects tagged "Gambas" http://freshmeat.net[...] Freecode 2012-10-28
[38] 웹사이트 Application Repository http://www.gambaswik[...] Gambas 2020-05-01
[39] 웹사이트 GAMBAS BASIC Web site http://gambaslinux.e[...] GAMBAS BASIC 2011-05-07
[40] 웹사이트 Gambas Examples http://pigalore.mira[...] Piga Software 2011-05-07
[41] 문서 Gambas games - Libregamewiki https://libregamewik[...]
[42] 웹사이트 Gambas3 ShowCase http://gambasshowcas[...] gbWilly 2013-09-22
[43] 문서 Gambas Farm https://farm.gambas.[...]
[44] 문서 Gambas Farm Server Protocol - Gambas Documentation http://gambaswiki.or[...]
[45] 웹사이트 Mailing Lists & Forums http://gambaswiki.or[...] Gambas Web site 2021-04-04
[46] 문서 xt7-player-mpv - linux-APPS.com https://www.linux-ap[...]
[47] 문서 XT7-Player – Best Video Player for Kubuntu / KDE - Ubuntu Handbook http://ubuntuhandboo[...]
[48] 문서 Xt7-Player Is A Fully Featured Mplayer GUI - Web Upd8 http://www.webupd8.o[...]
[49] 웹사이트 Getting System Info with I-Nex https://www.linux-ma[...] 2024-11-11
[50] 웹사이트 I-Nex, An Advanced CPU-Z Hardware Utility for Linux https://www.ubuntubu[...] 2024-11-11
[51] 웹사이트 i-Nex – A CPU-Z Hardware Stat Tool for Linux https://www.omgubunt[...] 2024-11-11
[52] 웹사이트 comisat Games Collection 0.5.2 review https://nixbit.com/s[...] 2023-02-08
[53] 웹사이트 GAMBAS Overview https://www.linux.or[...] 2024-02-25
[54] 문서 Gambas on Windows - Alternative https://gambas-user.[...]
[55] 웹사이트 How to Run Gambas on Windows http://www.gambasmag[...] 2014-06-29
[56] 문서 Running Gambas Programs in Windows - PigaLore, the Piga Software Wiki https://pigalore.mir[...]
[57] 웹사이트 A step forward in Gambas! http://gambas.8142.n[...] 2023-04-07
[58] 웹사이트 Gambas on Haiku? https://discuss.haik[...] 2024-02-25
[59] 문서 New version of Gambas 3.15.2 is already available on rollApp. https://m.facebook.c[...]
[60] 문서 Gambas Future or what kind of Gambas we want http://gambas.8142.n[...]
[61] 문서 Cygwin Install Guide - Gambas Wiki http://gambaswiki.or[...]
[62] 문서 gambas3 package - Cygwin website https://cygwin.com/p[...]
[63] 웹사이트 How to Run Gambas on Windows http://www.gambasmag[...] 2014-06-29
[64] 문서 How To Run Gambas On Windows - Gambas Wiki http://gambaswiki.or[...]
[65] 웹사이트 How to run Gambas and Gambas Apps on Windows using WSL https://gambaswiki.o[...] 2024-02-25
[66] 문서 Gambas on Windows https://forum.gambas[...]
[67] 웹사이트 How To Run Gambas In Ubuntu https://elmeson-sant[...] 2023-02-11
[68] 문서 Windows 11 https://forum.gambas[...]
[69] 문서 https://gitlab.com/g[...]
[70] 웹인용 GAMBAS 3 Documentation http://gambasdoc.org[...] 2012-01-01
[71] 웹인용 Gambas Documentation Introduction http://gambasdoc.org[...] Gambas Website 2011-05-07
[72] 웹인용 Gambas — Almost Visual Basic for Linux http://fosswire.com/[...] FOSSwire 2008-09-08



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com