PowerBASIC

PowerBAS
PowerBAS
PowerBasic-screen-shot.png
PowerB 스크린샷ASIC for Windows 9.0 IDE 및 컴파일된 Windows GUI의 예.
개발자로버트 "밥" 잘레 (b. 1945, d. 2012)
처음 등장한1989년; 33년 전 (2011년)
안정된 릴리스
10.0 (2011년 5월 4일, 11년 전(2011-05-04))[1]
OSWindows(32비트만), MS-DOS
웹 사이트www.powerbasic.com
영향을 받다
터보 베이직

PowerBASIC(이전의 Turbo Basic)은 PowerB의 여러 상용 컴파일러 브랜드입니다.베이직 프로그래밍 언어의 사투리를 컴파일하는 ASIC Inc.MS-DOS 버전과 Windows 버전 모두, 후자의 2종류가 있습니다.콘솔과 윈도MS-DOS 버전은 QBasic QuickBASIC과 유사한 구문을 가지고 있습니다.Windows 버전에서는 BASIC 구문을 확장하여 많은 Windows 기능을 포함하며, 이 문장은 Windows API 호출과 조합할 수 있습니다.

역사

DOS 컴파일러의 첫 번째 버전은 CP/M 및 MDOS용 최초의 인터랙티브 컴파일러인 BASIC/Z로 출판되었다.나중에 MS-DOS/PC DOS로 확장되어 1987년에 볼랜드가 Turbo Basic으로 배포하였다.

터보 베이직은 원래 로버트 "밥" 잘레(1945–2012)가 만들고 볼랜드가 그에게서 구입했다.볼랜드가 출판을 중단하기로 결정했을 때(1989년), Zale은 그들에게서 그것을 다시 사들여 PowerB로 개명했다.ASIC 및 PowerB 셋업ASIC Inc.는 그 지원과 개발을 계속하기 위해 나중에 PBDOS로 [2][3][4]불리게 되었다.

PowerBASIC는 Windows용 BASIC 컴파일러를 개발했습니다.처음에는 PBWIN(그 주력 제품)이, 그 후, 다음에 설명하는 PBCC가 있습니다.

2012년 11월 6일, PowerB를 만든 Robert Zale은ASIC, 죽었습니다.한동안 그 회사는 영업을 중단할 것으로 추정되었다.그의 아내 Vivian Zale씨는 2014년 3월 8일 PowerB에 글을 올렸다.ASIC는 회사가 계속 [5]운영된다는 성명을 포럼에 올립니다.2015년 5월 10일, Mrs. Zale은 PowerB의 새로운 버전에 대한 작업이 계속되고 있다고 발표했습니다.ASIC [6]컴파일러

2016년 11월 2일, 비비안 잘레는 회사의 구매자를 찾겠다는 의사를 밝혔다.

2017년 1월 31일 Adam Drake는 Drake Software가 PowerB를 인수했다고 발표했습니다.PowerB의 ASIC 소스 코드ASIC, Inc.[7] 제품 업데이트 및 기능 개선을 목적으로 합니다.이것은 나중에 Vivian Zale에 의해 확인되었고, 회원들의 [8]지원에 감사하는 글을 게시했다.

Bob Zale이 사망했을 때, PBWin11과 PBCC7은 베타 테스트 중이었고, 64비트 컴파일러와 PB/Pro(1개의 컴파일러로 PBWin과 CC)는 알파 스테이지에 있었습니다.단, PowerB의 개발ASIC 제품은 중지되었습니다.v10.03(2022년 5월 현재 11년 전) 이후 새로운 버전은 출시되지 않았습니다.64비트 버전 또는 베타 릴리스는 발표되지 않았습니다.개발 활동은 보고되지 않았습니다.IDE 의 올바른 DPI 설정 추가등의 수정은 릴리스 되지 않았습니다.PowerBASIC Tools LLC는 아직 32비트 Windows 컴파일러용 새로운 라이선스를 판매하고 있습니다.

컴파일러

PowerBASIC 프로그램은 자급자족하며 실행 시 파일을 사용하지 않습니다.컴파일러의 모든 버전에서 응용 프로그램은 외부 라이브러리 없이 컴파일되지만 필요에 따라 이러한 라이브러리를 사용할 수 있습니다.PBDOS는 16비트 DOS MZ 실행 파일을 생성하고 PBWIN과 PBCC는 32비트 Portable Executable(PE; 포터블 실행 파일) 파일을 만듭니다.

터보 베이직

Borland의 Turbo Basic은 도면 API 및 마우스 액세스와 같은 (호환성을 해치지 않고) 클래식 베이직으로의 확장을 포함하고 있습니다.

당시 대부분의 베이직 구현과 달리, 터보 베이직은 MS-DOS를 위한 네이티브 코드를 생성하는 풀 컴파일러였다.다른 구현은 인터프리터이거나 런타임 라이브러리에 크게 의존했습니다.통합 개발 환경에서는 기존의 BASIC 디버깅을 위해 BASIC 프로그램을 내부적으로 실행하거나(아래 샘플 참조), Turbo Basic 제품이나 런타임 라이브러리가 없는 다른 시스템에서 실행할 수 있는 MS-DOS 독립 실행형 실행 파일을 생성할 수 있습니다.

코드 예시

다음 프로그램은 Turbo Basic이 지원하는 ALGOL과 같은 BASIC 방언의 예입니다.전통적인 BAS과 달리IC[표창 필요한]고 제한되어 통제 구조와 ALGOL-like은 서브 루틴으로에 대한 지지를 얻라인 번호를 이용했다, 현대 기본 방언들 이 기간에서 시작하여 줄 번호를 선택적 그리고 제어 구조와 서브 루틴 definit를 추가함으로써 이 언어 현대 구조화된 프로그래밍 스타일과 호환이 가능하도록 만들기까지 확장되었다.구조화된 프로그래밍에 필요한 이온입니다.

입력 "이름이 무엇입니까?"", n$ 인쇄하다 "안녕하세요"; n$ 하다   s$ = ""   입력 "별을 몇 개 인쇄하시겠습니까?"; s   위해서 i = 1 로. s     s$ = s$ + "*"   다음 분. i   인쇄하다 s$   하다     입력 "별을 더 인쇄하시겠습니까?"; q$   고리 하는 동안에 (q$) = 0   q$ = LCASE$(왼쪽(q$, 1)) 고리 하는 동안에 q$ = "y" 인쇄하다 "안녕히 계세요"; n$ 

(s$스트링과s는, 단일 슬롯의 부동 소수점(숫자)입니다.이들은 별개의 변수입니다.)

이 시대의 다른 볼랜드 제품과 마찬가지로 코드는 통합 개발 환경에서 실행됩니다.

PowerBASDOS용 IC(PBDos)

PBDOS에는 통합 개발 환경(IDE)이 포함되어 있어 DOS 3.30 이후의 [9]모든 버전을 지원합니다.

PowerBASIC 콘솔 컴파일러(PBCC)

PBCC는 Windows XP, Windows Server 2008, Windows Vista, Windows 7 등의 Windows 9x 시리즈Windows NT 시리즈 운영체제용 32비트 컴파일러입니다.PBCC 응용 프로그램은 DLL(Dynamic Link Library)을 사용할 수 있습니다.컴파일러에는 에디터와 스테핑 디버거를 포함한 IDE가 포함되어 있습니다.

이 컴파일러를 사용하여 문자 모드나 그래픽 애플리케이션을 작성하기 위해 Windows 프로그래밍에 대한 지식이 필요하지 않습니다.PBCC 컴파일된 실행 파일은 Common Gateway Interface 실행 파일(웹 서버용)로도 사용할 수 있습니다.

PBCC는 DLL이 아닌 실행 파일만 만듭니다.(PBWin(아래 참조)은 둘 다 생성할 수 있습니다.)

PowerBASIC 컴파일러 Windows 버전 (PBWin)

PBWin은 Windows XP, Windows Server 2008, Windows Vista, Windows 7, Windows 8(8.1), Windows [10]10 Windows 9x 시리즈 및 Windows NT 시리즈 운영 체제와 호환되는 32비트 컴파일러입니다.PBWin은 동적 링크 라이브러리를 만들 수 있습니다.PBWin 애플리케이션은 다이내믹 링크 라이브러리를 읽을 수 있습니다.PBWin에는 컴파일러, 에디터 포함 IDE 및 스테핑 디버거가 포함되어 있습니다.

동적 대화 도구(DDT)

Windows API 또는 기본 제공 DDT 언어 확장을 사용하여 응용 프로그램의 그래픽 사용자 인터페이스를 만들 수 있습니다.Windows API 기능을 정리하는 BASIC 문의 그룹(특히 대화 상자 및 자녀 컨트롤의 작성 및 처리)은 Dynamic Dialog Tools로 통칭됩니다.DDT를 사용하는 경우 Windows API를 사용하여 유사한 프로그램을 만드는 경우보다 코딩이 덜 필요합니다.DDT와 Windows API(Microsoft Windows SDK에서와 같이 SDK 스타일이라고도 함)의 사용은 서로 배타적이지 않습니다.

컴파일러 시용판

PowerBASIC는 PBWin v9.07과 PB/CC v5.07을 각각 "Classic PBWin"과 "Classic PB/CC"로 개명했으며, 2016년 11월 1일 온라인 스토어를 통해 PBFors v1.0B와 함께 무료, nag 없는 트라이얼 버전으로 단기간 동안 제공하였다.ASIC 폼).[11]

도구들

PB 폼

PowerBASIC Forms는 별도 구매가 가능하며 PBWin용 그래픽 사용자 인터페이스 설계 도구 애드온입니다.Windows 그래픽 사용자 인터페이스를 사용하여 양식을 생성하는 DDT 언어 확장을 사용하여 소스 코드를 자동으로 생성합니다.

COM 브라우저

파워BASIC COM Browser는 PBWin에 부속되어 있으며 타입 라이브러리 파일로 기술되어 있듯이 COM 객체의 인터페이스, 메서드 및 속성을 공개하는 어플리케이션입니다.파워BASIC COM 브라우저는 PowerB의 조기 바인딩을 위해 COM 객체의 인터페이스 구조를 내보냅니다.ASIC 코드 및 COM [12]오브젝트에 의해 공개되는 인터페이스 멤버에 대한 구문 참조 및 컨텍스트 도움말을 제공합니다.

프로그래밍 언어

특성.

PowerBASIC는 네이티브 코드 BASIC 컴파일러로, [13][14]다른 언어에 비해 사용 편의성과 속도가 뛰어나다는 것이 장점이라고 보고되고 있습니다.컴파일된 코드는 대부분의 용도로는 충분히 빠르지만 컴파일러는 중요한 루틴의 수동 최적화에 사용할 수 있는 인라인 어셈블러도 지원합니다.Windows 컴파일러(PBWin & PBCC)는 FPU, SIMD, MMX거의 모든 x86 명령 세트를 지원합니다.단, 주요 예외는 시스템 프로그래머에게 도움이 되는 몇 가지입니다."db", "dw" 및 "dd" 문과 함께 opcode를 삽입하면 지원되지 않는 명령을 삽입할 수 있습니다.어셈블러 코드의 행은 BASIC 코드의 행과 자유롭게 교차할 수 있지만, 항상 두 종류의 코드 사이의 잠재적인 상호작용을 고려해야 합니다.

안녕 세계

Hello world는 프로그래밍 언어에서 사용되는 구문의 매우 작은 예를 제공하기 위해 사용되며, 종종 주어진 프로그래밍 언어에서 가능한 가장 작은 프로그램입니다.

다음으로 PCC hello 월드 프로그램의 예를 나타냅니다.기본적으로는 PBCC는 실행 시 출력을 표시하는 콘솔창을 만듭니다이 예에서 Waitkey$를 사용하면 오퍼레이터가 표시된 텍스트를 볼 때까지 콘솔창이 자동으로 닫히지 않습니다.

기능. PBMain    인쇄 "안녕, 월드!"   Waitkey $  끝. 기능. 

Windows 의 「다이얼로그」메시지 박스를 표시하는 PBWin 버전을 다음에 나타냅니다.

기능. PBMain    메시지 박스 "안녕, 월드!"  끝. 기능. 

객체 지향 프로그래밍

PBWin 및 PBCC는 COM 클래스 형식의 객체 지향 프로그래밍을 지원하지만, 컴파일러는 OOP를 사용하도록 강요하지 않습니다.그것은 옵션일 뿐입니다.이러한 컴파일러를 사용하여 프로세스 내 및 프로세스 외 COM 서버를 구축할 수도 있습니다.

그래픽스

콘솔 컴파일러와 Windows 컴파일러 모두 그래픽 창을 만들 수 있습니다.GRAPHICs 문은 Windows의 GDI(그래픽스 디바이스 인터페이스) 라이브러리 [15][16]함수보다 높은 수준입니다.

GRAPHIC 문의 요소

GRAPHIC WINDOWS는 각각 대화상자의 클라이언트 영역을 채우는 단일 컨트롤을 포함하는 전용 대화 상자입니다.그래픽 컨트롤은 그래픽 창과 동일한 그래픽 그리기 기능을 지원하는 하위 창입니다.그래픽스 비트맵도 정의되어 그래픽 그리기 기능을 지원하지만 Windows 비트맵이나 DIB 섹션과 같은 순수 메모리 개체로 사용됩니다.GRAPHIC 스테이트먼트에는 키보드와 마우스를 취급하는 스테이트먼트가 포함되어 있습니다.그래픽 대상에 대한 문자 출력은 FONT NEW 문에 지정된 글꼴을 사용합니다.

GRAPHIC WINDOW 응용 프로그램 만들기

그래픽 창은 그리기 작업을 수행할 수 있는 정적 컨트롤을 포함하는 Windows 대화 상자와 동일합니다.하나의 BASIC 문장으로 그래픽 창이 생성되고 그래픽 창의 크기, 위치 및 제목이 지정됩니다.GRAPHIC WINDOW에 WNDPROC를 지정할 필요는 없습니다.GRAPHIC WINDOW 응용 프로그램의 간단한 소스 코드 예는 다음과 같습니다.

#컴파일 실행 PBCC6 또는 PBWIN10 컴파일러 사용 #어둡다 모든.  기능. PBMain     현지의 GW ~하듯이 Dword     그래픽 창을 기동합니다.     그래픽스  신규 "창 표시", 100, 100, 200, 200 로. GW     컬러 디스크를 표시하다     그래픽스 타원 (10, 10)-(190, 190), %rgb_빨간색, %rgb_Sea Green(시그린), 0     키를 누르기를 기다리다     그래픽스 Waitkey $ 끝. 기능. 
PB GRAPHIC 문과 GDI API의 비교

PB GRAPHY 문을 사용하여 먼저 그래픽(WINDOW, 비트맵 또는 컨트롤)을 현재 그래픽 대상으로 선택한 다음 다시 식별할 필요 없이 그래픽에 대한 작업을 수행합니다.모든 도면 작업에 디바이스 컨텍스트 핸들이 필요한 GDI API 접근 방식과 비교해 보십시오.

PB GRAPHIC 문을 사용하여 브러시 또는 펜을 개별 엔티티로 정의할 필요가 없으며 WM_PAINT 및 WM_ERASEBKGND 등의 Windows 메시지에 대한 응답으로 GRAPHIC 타깃을 다시 그릴 필요도 없습니다.

GRAPHIC 표적이 부착된 경우 특별히 요청될 때까지 그리기 작업 결과를 버퍼링하는 REDRAW 옵션을 지정할 수 있습니다.이 기술을 사용하면 GDI API를 사용할 때 메모리 DC에 그리는 기술과 유사한 방법으로 깜박임을 줄일 수 있습니다.

GDI API의 GetPixel/SetPixel과 유사한 방식으로 GROFHIC GET SET PIXEL 문을 사용하여 픽셀 작업을 수행할 수 있습니다. GROFHIC GET BITS는 전체 비트맵을 동적 문자열로 로드할 수 있습니다.이것은 문자열로 조작하거나 배열에 매핑하여 조작할 수 있습니다.GRAPHIC SET BITS에 의해 GRAPHIC 표적에 다시 배치할 수 있습니다.

GRAPHIC 문과 Windows GDI API의 상보성

GRAPHIC 문에는 일반적으로 사용되는 GDI API 함수가 모두 포함되어 있지만, 포함되지 않은 GRAPHIC 대상의 HDC를 취득하여 GDI API 함수를 사용할 수 있습니다.

사용자 커뮤니티

PowerBASIC는 사용자들이 질문을 하고 [18]지식을 공유할 수 있는 온라인 포럼을 제공한다.2012년 7월 8일 현재 포럼 회원 수는 5,623명(그 중 극히 일부만 아직 활동 중)이며 1998년 8월 26일 이후 408,642개의 게시물로 구성된 50,093개의 스레드가 포함되어 있습니다.Source Code 섹션에만 3,768개의 [19]스레드가 포함되어 있습니다.

서드파티 지원

레퍼런스

  1. ^ PowerB 릴리즈ASIC 10.0 컴파일러 Windows 버전
  2. ^ "PowerBASIC makes smooth move; Tech company finds region's affordability attractive". Sarasota Herald Tribune (October 2000). 2000-10-10. Retrieved 2008-03-12.
  3. ^ Michael H. Tooley (2005). PC Based Instrumentation and Control. Elsevier. pp. 214. ISBN 0-7506-4716-7.
  4. ^ "An Introduction to PowerBASIC". Archived from the original on 2011-05-27. Retrieved 2010-12-07.
  5. ^ Zale, Vivian. "PowerBASIC Update". PowerBASIC Forums. PowerBASIC. Retrieved 5 July 2015.
  6. ^ Eccles, John. "PowerBASIC Plans". PowerBASIC Forums. PowerBASIC, Inc. Archived from the original on 24 September 2015. Retrieved 5 July 2015.
  7. ^ Drake, Adam (January 31, 2017). "PowerBASIC Has a New Home". PowerBASIC Support Forums. Archived from the original on 2017-02-19.
  8. ^ Zale, Vivian (February 12, 2017). "Thank You". PowerBASIC Support Forums. Archived from the original on 2017-02-19.
  9. ^ "PowerBASIC 3.5 for DOS". Archived from the original on 2016-01-17.
  10. ^ "PowerBASIC Compiler for Windows". Archived from the original on 2008-03-08.
  11. ^ PowerBASWindows 및 PowerB용 IC 9ASIC 콘솔 컴파일러 5: 2016-10-05에 99달러 89달러, 2016-11-06에 0달러 0달러, 2016-12-18에 0달러 0달러, 2017-02-28에는 제공되지 않습니다.
  12. ^ "Com Browser on PowerBASIC's website".
  13. ^ 신소재를 위한 새로운 기하학, 에릭 A.Lord, Alan Lindsay Mackay, Srinivasa Ranganathan, 2006, Cambridge University Press, ISBN 0-521-86104-7("매우 심플한 사용자 인터페이스... 기본 C++의 속도와 파워...")매우 빠르게 실행") Google Books
  14. ^ 혼돈과 시계열 분석, 줄리앙 C.Sprott, Oxford University Press, 2003, ISBN 0-19-850840-9("학습이 쉽고 강력하며 지금까지 접한 C 컴파일러 중 가장 빠름") Google Books
  15. ^ "PowerBASIC".
  16. ^ "PowerBASIC".
  17. ^ Petzold, Charles(1998).프로그래밍 Windows 제5판, Microsoft Press, ISBN 978-1-57231-995-0
  18. ^ "PowerBASIC".
  19. ^ PowerBASIC의 vBulletin 포럼 소프트웨어 통계 정보

외부 링크