맨위로가기

파워베이직

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

1. 개요

파워베이직은 1980년대 후반 시작된 BASIC 프로그래밍 언어의 컴파일러로, MS-DOS용 터보 베이직에서 시작되어 윈도우용 컴파일러로 발전했다. 윈도우용 파워베이직은 PBDOS, PBCC, PBWin 등의 컴파일러를 제공하며, 16비트 및 32비트 실행 파일을 생성한다. Robert Zale이 개발을 주도했으나, 2012년 사망 이후 개발이 중단되었다. 2017년 Drake Software가 소스 코드를 인수했으나, 2024년 5월 현재까지 새로운 버전은 출시되지 않았다.

더 읽어볼만한 페이지

  • 베이직 컴파일러 - 비주얼 베이직
    비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다.
  • 베이직 컴파일러 - 프리베이직
    FreeBASIC은 QuickBASIC과 비슷한 문법을 가진 BASIC 프로그래밍 언어 컴파일러로, 콘솔 및 GUI 애플리케이션 생성, C 라이브러리 연동, 인라인 어셈블리, 멀티스레딩, QuickBASIC 호환성, 객체 지향 프로그래밍, 2D 그래픽 라이브러리 등을 지원한다.
  • 볼랜드 소프트웨어 - 터보 파스칼
    필립 칸이 개발하고 안데르스 헤일스베르그가 기반을 다진 터보 파스칼은 저렴한 가격, 빠른 컴파일, 사용하기 쉬운 IDE를 특징으로 1980년대 PC 프로그래밍에 혁신을 가져왔으며, 여러 기능 추가를 거쳐 델파이 등장 후 레거시 기술이 되었고 일부 버전은 프리웨어로 배포된다.
  • 볼랜드 소프트웨어 - 터보 어셈블러
    볼랜드에서 개발한 터보 어셈블러는 빠른 속도와 MASM과의 높은 호환성을 특징으로 하며, 어셈블리 프로그래밍 입문자를 위한 튜토리얼과 샘플 코드를 제공하지만, 참조 문서 부족은 단점으로 지적되었다.
  • 베이직 프로그래밍 언어 계열 - VB스크립트
    VB스크립트는 마이크로소프트에서 개발한 스크립트 언어로, 인터넷 익스플로러의 클라이언트 스크립트 언어 및 액티브 서버 페이지의 표준 언어로 사용되었으나, 윈도우 클라이언트 지원 중단 발표로 향후 윈도우 릴리스에서 제거될 예정이다.
  • 베이직 프로그래밍 언어 계열 - 비주얼 베이직
    비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다.
파워베이직 - [IT 관련 정보]에 관한 문서
기본 정보
윈도우 9.0 IDE용 파워베이직 및 컴파일된 윈도우 GUI 예시의 스크린샷.
출시일1989년
개발자Robert "Bob" Zale (b. 1945, d. 2012)
최신 버전10.0 (2011년 5월 4일)
영향을 받은 언어터보 베이직
운영체제윈도우 (32비트 전용)
MS-DOS
웹사이트파워베이직 공식 웹사이트

2. 역사

파워베이직의 역사는 1980년대 초, BASIC/Z라는 이름으로 CP/M과 MDOS용 최초의 대화형 컴파일러에서 시작되었다. 이 컴파일러는 이후 MS-DOS/PC DOS로 확장되었으며, 1987년 볼랜드에 의해 ''터보 베이직''이라는 이름으로 배포되었다.[1]

''터보 베이직''은 로버트 "밥" 제일(Robert "Bob" Zale)이 개발하였다. 1989년 볼랜드가 배포를 중단하자 제일은 이 제품을 다시 인수하여 '''파워베이직'''으로 이름을 변경하고, PowerBASIC Inc.를 설립하여 개발을 이어갔다.[1]

2. 1. 터보 베이직 (1987-1989)

볼랜드는 1987년에 ''터보 베이직''을 출시했습니다. 터보 베이직은 원래 로버트 "밥" 제일(Robert "Bob" Zale, 1945–2012)이 만들었으며, 볼랜드가 그에게서 인수했습니다.[1]

터보 베이직은 고전 베이직의 기능을 확장하여 호환성을 유지하면서 드로잉 API 및 마우스 접근과 같은 기능을 제공했습니다.[2]

당시 대부분의 베이직 구현과 달리, 터보 베이직은 MS-DOS용 네이티브 코드를 생성하는 완전한 컴파일러였습니다. 다른 구현 방식들은 인터프리터이거나 런타임 라이브러리에 크게 의존했습니다. 통합 개발 환경은 전통적인 베이직 디버깅을 위해 내부적으로 베이직 프로그램을 실행할 수 있었고, 터보 베이직 제품이나 런타임 라이브러리 없이 다른 시스템에서 실행할 수 있는 MS-DOS 독립 실행형 실행 파일을 생성할 수도 있었습니다.[2]

볼랜드가 1989년에 배포를 중단하기로 결정하자, 제일은 터보 베이직을 다시 사들여 '''파워베이직'''으로 이름을 변경하고, PowerBASIC Inc.를 설립하여 지원과 개발을 계속했습니다.[1]

2. 2. 파워베이직으로의 전환 (1989-)

볼랜드가 배포를 중단하기로 결정했을 때(1989년), 터보 베이직의 원래 제작자인 Robert "Bob" Zale(1945–2012)은 이를 다시 사들여 '''파워베이직'''으로 이름을 변경했다. 그는 PowerBASIC Inc.를 설립하여 지원과 개발을 계속했으며, 이후 제품은 PBDOS라고 불렸다.[1]

파워베이직은 윈도우용 BASIC 컴파일러를 개발했으며, 먼저 주력 제품인 PBWIN을, 그 다음으로 PBCC를 개발했다.[1]

2. 3. Robert Zale 사후 (2012-)

로버트 "밥" 잘레(Robert "Bob" Zale, 1945–2012)는 2012년 11월 6일에 사망했다.[1] 이후 한동안 회사 운영이 중단될 것이라는 추측이 있었으나, 그의 아내 비비안 잘레(Vivian Zale)는 2014년 3월 8일 파워베이직 포럼에 회사가 계속 운영될 것이라는 성명을 게시했다.[1] 2015년 5월 10일, 비비안 잘레는 파워베이직 컴파일러의 새 버전 작업이 계속 진행되고 있다고 발표했다.[1]

2016년 11월 2일, 비비안 잘레는 회사 매수자를 찾을 의향이 있다고 발표했다.[1] 2017년 1월 31일, 애덤 드레이크(Adam Drake)는 드레이크 소프트웨어가 PowerBASIC, Inc.로부터 파워베이직 소스 코드를 인수하여 제품의 기능을 업데이트하고 개선할 의향이 있다고 발표했고, 이는 비비안 잘레가 포럼 게시물을 통해 회원들에게 지원에 감사를 표하며 확인되었다.[1]

밥 잘레가 사망했을 당시, PBWin11과 PBCC7은 베타 테스트 중이었고, 64비트 컴파일러와 PB/Pro(하나의 컴파일러에서 PBWin과 CC)는 알파 단계에 있었다.[1] 그러나 파워베이직 제품의 개발은 중단되었다.[1] 2024년 5월 현재, v10.03(13년 전) 이후 새로운 버전은 출시되지 않았으며, 64비트 버전이나 베타 릴리스도 발표되지 않았다.[1] 개발 활동은 보고되지 않았고, IDE에 대한 올바른 DPI 설정을 추가하는 것과 같은 수정 사항도 출시되지 않았다.[1] PowerBASIC Tools LLC는 여전히 32비트 윈도우 컴파일러의 새 라이선스를 판매하고 있다.[1]

3. 컴파일러

PowerBASIC 프로그램은 자체적으로 실행되며 실행 시 런타임 파일을 사용하지 않는다. 모든 컴파일러 버전에서 응용 프로그램은 외부 라이브러리 없이 컴파일되지만, 필요할 경우 해당 라이브러리를 사용할 수 있다. PBDOS는 16비트 DOS MZ 실행 파일을 생성하고, PBWIN과 PBCC는 32비트 PE 파일을 생성한다.

3. 1. PBDOS (PowerBASIC for DOS)

PBDOS는 통합 개발 환경(IDE)을 포함하며 도스 3.30 및 이후 모든 버전을 지원한다.[9]

3. 2. PBCC (PowerBASIC Console Compiler)

PBCC는 윈도우 9x 시리즈와 윈도우 NT 시리즈용 32비트 컴파일러로, 윈도우 XP, 윈도우 서버 2008, 윈도우 비스타, 윈도우 7 등을 지원한다. PBCC 응용 프로그램은 동적 링크 라이브러리(DLL)를 사용할 수 있다. 이 컴파일러에는 편집기와 단계별 디버거를 포함한 IDE가 함께 제공된다.

이 컴파일러를 사용하면 문자 모드 또는 그래픽 응용 프로그램을 생성하는 데 윈도우 프로그래밍에 대한 지식이 필요하지 않다. PBCC로 컴파일된 실행 파일은 공통 게이트웨이 인터페이스 실행 파일(웹 서버용)로도 사용할 수 있다.

PBCC는 DLL이 아닌 실행 파일만 생성한다.

3. 3. PBWin (PowerBASIC Compiler for Windows)

PBWin(PowerBASIC Compiler for Windows)은 32비트 PE 파일 및 DLL을 생성하는 파워베이직 컴파일러이다. 윈도우 9x 시리즈 및 NT 시리즈 운영체제를 지원하며, 통합 개발 환경(IDE)과 디버거를 제공한다.

3. 3. 1. DDT (Dynamic Dialog Tools)

응용 프로그램의 그래픽 사용자 인터페이스는 Windows API를 사용하거나 내장된 DDT 언어 확장을 사용하여 만들 수 있다. 특히 대화 상자와 하위 컨트롤의 생성 및 처리에 있어 Windows API 함수를 감싸는 BASIC 문장의 그룹을 통칭하여 동적 대화 상자 도구(Dynamic Dialog Tools, DDT)라고 한다. DDT를 사용하면 Windows API를 사용하여 유사한 프로그램을 만드는 것보다 코딩량이 줄어든다. DDT와 Windows API (SDK 스타일)를 사용하는 것은 상호 배타적이지 않다.

3. 3. 2. 평가판 버전

파워베이직은 PBWin v9.07 및 PB/CC v5.07의 이름을 각각 "클래식 PBWin" 및 "클래식 PB/CC"로 변경하고, 2016년 11월 1일에 PBForms v1.0 (파워베이직 폼)과 함께 온라인 상점에서 무료, 사용 제한 없는 체험판으로 잠시 제공했다.[11]

4. 프로그래밍 언어

파워베이직은 사용하기 쉽고 실행 속도가 빠른 네이티브 코드 BASIC 컴파일러이다.[13][14] 어셈블러를 지원하여 성능을 높일 수 있으며, 윈도우 컴파일러(PBWin & PBCC)는 x86 명령어 세트의 FPU, SIMD, MMX 등을 포함한 대부분을 지원한다.

구조화된 제어 구문으로는 `iterate`와 `exit`가 있다. `iterate`는 루프의 다음 반복으로 건너뛰고, `exit`는 루프, 조건문, 블록을 종료한다.

PBWin 및 PBCC는 COM 클래스 형태의 객체 지향 프로그래밍을 지원하며,[1] 그래픽 창을 만들 수 있다. GRAPHICs 구문은 윈도우 그래픽 장치 인터페이스(GDI) 함수보다 상위 수준이다.

4. 1. 특징

파워베이직은 사용이 간편하고 다른 언어에 비해 실행 속도가 빠르다는 장점을 가진 네이티브 코드 BASIC 컴파일러이다.[13][14]

컴파일된 코드는 대부분 충분히 빠르지만, 파워베이직 컴파일러는 성능을 더욱 높이기 위해 인라인 어셈블러를 지원한다. 이를 통해 중요한 루틴을 수동으로 최적화할 수 있다. 윈도우 컴파일러(PBWin & PBCC)는 x86 명령어 세트의 거의 모든 부분을 지원하며, 여기에는 FPU, SIMD, MMX가 포함된다. 다만, 일부 명령어는 시스템 프로그래머에게 유용하지만 지원되지 않는다. 지원되지 않는 명령어는 "db", "dw", "dd" 문을 사용하여 오퍼레이션 코드를 삽입하는 방식으로 추가할 수 있다. 어셈블러 코드 줄은 BASIC 코드 줄과 자유롭게 섞어 쓸 수 있지만, 두 유형의 코드가 서로 영향을 줄 수 있다는 점을 항상 고려해야 한다.

4. 2. Hello world 예제

PBCC를 사용한 헬로 월드 프로그램 예시는 다음과 같다. 기본적으로 PBCC는 실행 시 출력을 표시하기 위해 콘솔 창을 생성한다. 아래 예제에서 `Waitkey$`는 사용자가 표시된 텍스트를 볼 때까지 콘솔 창이 자동으로 닫히는 것을 방지한다.

```vbscript

Function PBMain

Print "Hello, World!"

Waitkey$

End Function

```

다음은 윈도우 "대화 상자" 메시지 상자를 표시하는 PBWin 버전이다.

```vbscript

Function PBMain

MsgBox "Hello, World!"

End Function

4. 3. 제어 구조

`GOTO`와 레이블 사용을 줄이는 구조화된 제어 구문은 다음과 같다.

  • `iterate`: 포함된 루프의 다음 반복으로 건너뛴다 (iterate do, iterate loop, iterate for). 이는 대부분의 언어에서 continue 문과 유사하다.
  • `exit`: 포함된 루프 (exit for, exit do, exit loop), 조건문 (exit if, exit select), 또는 블록 (exit function, exit sub) 바로 다음으로 실행을 보낸다. 이는 대부분의 언어에서 break 문과 유사하다.

4. 4. 객체 지향 프로그래밍

PBWin 및 PBCC는 COM 클래스 형태로 객체 지향 프로그래밍을 지원하지만, 컴파일러가 OOP 사용을 강제하지는 않으며 선택 사항이다. 이러한 컴파일러를 사용하면 인 프로세스 및 아웃 오브 프로세스 COM 서버를 구축할 수 있다.[1]

4. 4. 1. 그래픽

콘솔 컴파일러와 윈도우 컴파일러 모두 그래픽 창을 만들 수 있다. GRAPHICs 구문은 윈도우의 그래픽 장치 인터페이스(GDI) 라이브러리 함수보다 상위 수준이다.

5. 도구

파워베이직 개발을 지원하는 도구는 다음과 같다.


  • PB Forms: 별도로 구매 가능한 PBWin용 그래픽 사용자 인터페이스 디자인 도구 애드온이다. 윈도우 그래픽 사용자 인터페이스를 사용하여 폼을 생성하는 DDT 언어 확장을 통해 소스 코드를 자동 생성한다.
  • COM 브라우저: PBWin과 함께 제공되며, 형식 라이브러리 파일에 의해 설명된 COM 객체의 인터페이스, 메서드 및 속성을 노출한다. 파워베이직 코드에서 초기 바인딩 목적으로 COM 객체의 인터페이스 구조를 내보내고, COM 객체에 의해 노출된 인터페이스 멤버에 대한 구문 참조 및 컨텍스트 도움말을 제공한다.[12]

5. 1. PB Forms

PB Forms는 별도로 구매할 수 있는 PBWin용 그래픽 사용자 인터페이스 디자인 도구 애드온이다. 윈도우 그래픽 사용자 인터페이스를 사용하여 폼을 생성하는 DDT 언어 확장을 통해 소스 코드를 자동으로 생성한다.

5. 2. COM 브라우저

PBWin과 함께 제공되는 COM 브라우저는 형식 라이브러리 파일에 의해 설명된 COM 객체의 인터페이스, 메서드 및 속성을 노출하는 응용 프로그램이다. 파워베이직 COM 브라우저는 파워베이직 코드에서 초기 바인딩 목적으로 COM 객체의 인터페이스 구조를 내보내고, COM 객체에 의해 노출된 인터페이스 멤버에 대한 구문 참조 및 컨텍스트 도움말을 제공한다.[12]

6. 사용자 커뮤니티

파워베이직은 사용자들이 질문하고 지식을 공유할 수 있는 온라인 포럼을 제공했다.[18] 2012년 7월 8일 기준, 포럼에는 5,623명의 회원(그중 일부만 활동)이 있었고, 1998년 8월 26일부터 50,093개의 스레드, 408,642개의 게시물이 있었다. 소스 코드 섹션에만 3,768개의 스레드가 있었다.[19]

2024년 초, 파워베이직 메인 웹사이트가 '공사 중' 상태로 전환되었다. 이는 파워베이직 포럼에서 사용자 간의 활발한 토론으로 이어졌다. 안타깝게도 권리 소유자는 웹사이트가 다시 열리지 않을 것이라고 밝혔다.[20]

7. 서드파티 지원

다음은 파워베이직을 지원하는 서드파티 도구 및 개발사 목록이다.

참조

[1] 기타 Release of PowerBASIC 10.0 Compiler for Windows https://www.powerbas[...]
[2] 뉴스 PowerBASIC makes smooth move; Tech company finds region's affordability attractive. http://www.accessmyl[...] Sarasota Herald Tribune 2008-03-12
[3] 서적 PC Based Instrumentation and Control https://archive.org/[...] Elsevier 2005
[4] 웹사이트 An Introduction to PowerBASIC https://www.powerbas[...] 2010-12-07
[5] 웹사이트 PowerBASIC Update https://forum.powerb[...] 2014-03-08
[6] 웹사이트 PowerBASIC Plans https://www.powerbas[...] PowerBASIC, Inc. 2015-07-05
[7] 웹사이트 PowerBASIC Has a New Home https://forum.powerb[...] 2017-01-31
[8] 웹사이트 Thank You https://forum.powerb[...] 2017-02-12
[9] 웹사이트 PowerBASIC 3.5 for DOS https://www.powerbas[...]
[10] 웹사이트 PowerBASIC Compiler for Windows https://www.powerbas[...]
[11] 기타 PowerBASIC 9 for Windows and PowerBASIC Console Compiler 5 https://web.archive.[...]
[12] 웹사이트 Com Browser on PowerBASIC's website https://www.powerbas[...]
[13] 서적 New geometries for new materials https://books.google[...] Cambridge University Press 2006
[14] 서적 Chaos and Time-series Analysis https://books.google[...] Oxford University Press 2003
[15] 웹사이트 PowerBASIC Console Compiler https://forum.powerb[...]
[16] 웹사이트 PowerBASIC for Windows https://forum.powerb[...]
[17] 서적 Programming Windows Fifth Edition Microsoft Press 1998
[18] 웹사이트 PowerBASIC Peer Support Community help https://forum.powerb[...]
[19] 기타 PowerBASIC's vBulletin forum software statistics
[20] 기타 https://forum.powerb[...]
[21] 기타 Release of PowerBASIC 10.0 Compiler for Windows https://www.powerbas[...]



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

문의하기 : help@durumis.com