| 패러다임 | 절차적 프로그래밍 및 이벤트 기반 |
|---|---|
| 설계자 |
|
| 발표일 | 2005년 |
| 자료형 체계 | 정적, 약함 |
| 운영 체제 | |
| 웹사이트 | www |
| 방언 | |
| |
| 영향을 받은 언어 | |
| 비주얼 베이직 | |
Basic4ppc("Basic for PPC"로 읽음)는 Anywhere Software가 윈도우 모바일 운영체제를 구동하는 포켓 PC 핸드헬드 컴퓨터용으로 처음 개발한 프로그래밍 언어이다. 2014년부터 B4x("B for x")로 명칭이 변경되었으며, 현재 2023년 기준으로 데스크톱 및 모바일 솔루션을 포함하여 다양한 장치와 운영체제를 지원하며 각 환경에 최적화된 개발 환경을 제공한다. 이 언어는 베이직과 유사한 문법을 기반으로 하며, 마이크로소프트의 닷넷 프레임워크 기술을 활용하여 추가 라이브러리 지원, 윈도우 폼 그래픽 사용자 인터페이스 설계, 고속 응용 프로그램 개발(RAD), 그리고 닷넷 프레임워크 호환 컴파일을 가능하게 한다. 이 언어는 객체 지향 프로그래밍 방식이 아님에도 프로그램에 객체를 추가하는 독특한 방식을 구현한다. 이 언어의 장점은 단순성, 빠른 개발 속도, 그리고 닷넷 프레임워크와의 통합에 있다. 통합 개발 환경(IDE)의 특수한 버전은 윈도우 모바일 장치에서 직접 개발하는 것을 지원한다. 윈도우 모바일 운영체제와 이를 구동하는 장치들이 사라짐에 따라 Basic4PPC는 2012년경 수명을 다하였다. Basic4PPC 사용자들에게는 윈도우 환경에서 코드를 직접 실행하고 프로젝트를 윈도우 프로그램으로 사용하기 위한 'exe' 파일로 컴파일할 수 있어, 여전히 유용한 윈도우 데스크톱용 베이직 컴파일러로 남아 있다.
2010년 안드로이드 폰/태블릿용 버전이 출시되었는데, 이는 기존과 같은 방식을 따르는 별도의 환경으로 베이직과 유사한 언어를 사용하여 안드로이드 장치용으로 컴파일할 수 있다.
듀얼 개발 플랫폼: Basic4ppc는 완전히 호환되는 장치 IDE를 통해 핸드헬드 장치에서 직접 개발할 수 있도록 한다. 장치나 데스크톱 IDE에서 작성된 코드는 두 플랫폼 및 운영체제에서 동일하게 작동한다. 하지만 컴파일은 운영체제의 차이로 인해 장치용 또는 데스크톱용 중 하나를 선택해야 한다.
컴파일은 네 가지 모드(윈도우 실행 파일, 포켓 PC용 장치 실행 파일(AutoScale 지원 및 미지원), 데스크톱 환경용 실행 파일, 스마트폰 실행 파일(윈도우 모바일 OS 기반 휴대폰용))로 가능하다. 컴파일된 EXE 파일은 대상 시스템에 닷넷 2.0 프레임워크가 설치되어 있어야 한다. 이는 보통 윈도우 XP SP2 이상 버전에서는 기본적으로 포함되어 있지만, 그 이전 버전에서는 수동으로 설치해야 한다.
추가 라이브러리: 마이크로소프트의 닷넷 프레임워크를 기반으로 하는 Basic4ppc는 Basic4ppc용으로 조정된 닷넷 프레임워크 동적 링크 라이브러리 파일 내의 코드를 사용할 수 있다(이는 마이크로소프트 개발 도구를 사용하는 프로그래머라면 누구나 수행할 수 있다). 이러한 추가 라이브러리는 많이 존재하며, 대부분은 사용자들이 작성한 오픈 소스이며 Basic4ppc 인터넷 포럼을 통해 접근할 수 있다.
병합: 추가 라이브러리 코드는 거의 항상 메인 실행 파일에 병합된다. 이를 통해 단일 파일로 배포가 가능하다.
Basic4ppc는 절차적 프로그래밍 언어이자 구조적 언어로, 부분적인 객체 지향 프로그래밍 모델을 구현한다. 문법은 일반적인 베이직 방언들과 유사하며 비주얼 베이직의 영향을 가장 많이 받았다. 이벤트를 지원한다. 현대의 대부분 언어와 마찬가지로 개발 환경은 그래픽 사용자 인터페이스 설계 도구를 제공한다. 사용자들은 드래그 앤 드롭 방식의 컴포넌트 기반 UI를 사용하여 애플리케이션을 구축한다. 이는 장치와 데스크톱 모두에서 가능하며, 이러한 능력은 매우 독특하다.
if…then 및 for…next와 같은 일반적인 흐름 구조는 다른 베이직 버전들과 마찬가지로 지원된다.
예약어: Basic4ppc는 많은 수의 예약어를 포함한다. 이는 변수 선언 범위 때문이다.
변수는 로컬(서브루틴 내에서 접근 가능), 글로벌(모듈 내에서 접근 가능) 또는 퍼블릭(프로그램 전체에서 접근 가능)일 수 있다. 모든 변수는 타입이 없다. 즉, 다음과 같은 코드를 작성할 수 있다.
Sub App_Start
numA = "Five "
numB = "5"
numC = 6
SUM1 = numA & numB '주석: = "Five 5"
SUM2 = numB + numC '주석: = 11
End Sub
변수를 명시적으로 선언할 필요가 없다.
서브루틴("Sub"라고 함)은 코드의 가장 기본적인 단위이다. 모든 코드는 서브루틴 내부에 작성되어야 한다. 서브루틴은 값을 반환할 수 있다.
직접 명명 참조: 모든 내부 컨트롤은 문자열로 표현된 이름을 지정하여 직접 접근하거나 서브루틴의 매개변수로 전달할 수 있다. 이를 통해 프로그래머는 전달할 컨트롤을 미리 알지 못해도, 포인터나 객체 지향 프로그래밍을 다루지 않고도 컨트롤을 매개변수로 전달할 수 있다.
AutoScale 모드는 언어가 UI 모양에 필요한 조정을 자동으로 처리함으로써 서로 다른 화면 해상도에 맞게 개발할 수 있도록 한다.
다음은 이 언어의 예제이다. 애플리케이션이 시작될 때 폼 로드 없이 "Hello, World!" 메시지 상자를 표시하는 코드 스니펫:
Sub App_Start
MsgBox ("Hello, World!")
End Sub
마이크로소프트의 닷넷 기술을 기반으로 하는 Basic4ppc는 약간의 조정만 거치면 닷넷 .DLL을 지원한다. 이를 통해 사용자들은 Basic4ppc 포럼에서 다운로드할 수 있는 많은 오픈 소스 라이브러리를 만들었으며, 보통 완전한 소스 코드가 함께 제공된다. 다른 많은 프로그래밍 언어와 마찬가지로, 추가 라이브러리는 대부분의 실제 언어 기능을 포함한다. 추가 라이브러리는 컴퓨터 그래픽스, 데이터베이스, 사용자 인터페이스, GPS, 바코드 판독기 및 주변기기, 디버그, 연결성(블루투스, 와이파이, 그리고 http, ftp 등과 같은 데이터 전송 프로토콜), XML 등의 주제를 다룬다.