GW 베이직

GW-BASIC
GW 베이직
GW-BASIC 3.23.png
개발자마이크로소프트
첫 등장1983; 39년 전 (1998년)
안정적 해제
3.23 / 1988; 34년 전 (1998년)
OS도스
면허증소유권
MIT 라이센스(v1.0)[1]
영향을 받은
IBM Cassette BASIC, IBM Disk BASIC, IBM BASICA
영향받은
QBASIC, QuickBasic, MSX BASIC

GW-BASICIBM BASICA로부터 마이크로소프트가 개발한 BASIC 프로그래밍 언어의 방언이다.BASICA와 기능적으로 동일하며, BASIC 인터프리터는 완전 자급자족 실행형이며, 원본 IBM PC에서 발견된 카세트 BASIC ROM이 필요하지 않다.MS는 MS-DOS 운영 체제와 함께 IBM PC 호환 제품과 함께 제공했다.

그 언어는 단순한 게임, 비즈니스 프로그램 등에 적합하다.MS-DOS의 대부분의 버전에 포함되었기 때문에, 그것은 또한 컴퓨터 프로그래밍의 기초를 배우는 많은 프로그래머들에게 저렴한 방법이었다.[2][3]마이크로소프트는 또한 GW-BASIC과 호환되는 BASIC 컴파일러인 BASICOM을 더 빠른 속도가 필요한 프로그램에 판매했다.

Mark Jones Lorenzo에 따르면, 언어의 범위를 고려할 때, "GW-BASIC은 Altair로 거슬러 올라가는 Microsoft 라인 번호 BASIC 계열의 ne 플러스 울트라일 것이며, 아마도 일반적으로 라인 번호 BASIC일 것이다."[4]

MS-DOS 5.0의 출시와 함께 GW-BASIC은 별도로 제공되는 QuickB의 통역 부분을 약간 줄인 QBASIC이 자리를 잡았다.ASIC 인터프리터 및 컴파일러 패키지.[5]

2020년 5월 21일 마이크로소프트는 GitHubMIT 라이선스 하에 GW-BASIC 1.0용 8088 조립자 소스 코드를 공개했다.[1]

특징들

IBM BASICA와 GW-BASIC은 주로 MBASIC 버전 5.x의 포트지만, IBM PC 하드웨어를 위한 기능이 추가되었다.BASIC-80 5.x와 BASICA/GW-BASIC의 일반적인 특징은 다음과 같다.

  • 그런데...WEND 루프
  • 최대 40자의 변수 이름
  • OPTION BASE 문: 배열 변수의 시작 인덱스를 0 또는 1로 설정
  • 동적 문자열 공간 할당
  • 쉼표와 같은 필드 구분 문자를 무시하도록 허용한 LINE INPUT
  • 컴퓨터 언어 루틴 실행을 위한 Call 문
  • 체인 및 병합 명령
  • 프로그램을 토큰화된 이진 형식 또는 ASCII 텍스트로 저장하는 기능

이전 Microsoft BASIC 구현의 공통적인 특징인 공간을 생략하여 프로그램 라인을 "크런치"하는 기능은 BASIC-80 5.x와 BASICA/GWBASIC에서 제거되었다.

PEEK/POK 문을 사용하지 않는 BASIC-80 프로그램은 GW-BASIC에서 실행되며, BASICA는 사운드, 그래픽, 메모리 명령과 같은 IBM PC용 많은 기능을 추가한다.BASIC-80에 없는 기능으로는 파라미터 없이 RND 기능을 실행할 수 있는 기능과 프로그램을 "보호된" 포맷으로 저장하는 기능도 있어 LIST링되는 것을 방지한다.BASICA는 또한 8비트 버전의 BASIC에서는 허용되지 않았던 COS, SIN, ATN과 같은 수학적, 삼각함수와 함께 이중정밀 숫자를 사용할 수 있게 한다.이 기능은 일반적으로 활성화되지 않았으며 시작 시 선택적 매개 변수 /D가 필요했다.GWBASIC /D. BASIC의 메모리 풋프린트는 사용했을 경우 약간 증가하였다.

Microsoft는 1986년 v3.20까지 MS-DOS의 일반 버전을 제공하지 않았다. 그 이전에는 모든 운영 체제가 OEM 버전이었다.OEM에 따라 BASIC은 BASICA 중 하나로 배포되었다.EXE 또는 GWBASIC.실행. 전자는항상 로서 온 IBMBASICA와 안 된다 혼동해서는.COM 파일.BASIC의 일부 변형에는 특정 기계를 지원하는 추가 기능이 있다.예를 들어, DOS의 AT&T와 Tandy 버전은 향상된 사운드와 그래픽 기능을 지원하는 특별한 GW-BASIC을 포함하고 있다.

GW-BASIC의 초기 버전은 1983년 Compaq Portable과 함께 출시된 Compaq DOS 1.13에 포함된 것으로 IBM BASICA 1.10과 유사했다.디스크 액세스에 CP/M에서 파생된 파일 제어 블록을 사용하며 하위 디렉터리를 지원하지 않는다.이후 버전에서는 하위 디렉터리, 향상된 그래픽 및 기타 기능을 지원한다.

GW-BASIC 3.20(1986)은 EGA 그래픽 지원(BASICA 또는 GW-BASIC의 버전이 VGA를 지원하지 않음)을 추가했으며, QBASIC으로 대체되기 전에 출시된 마지막 주요 신판이다.

헤라클레스 그래픽 카드 구매자들은 720×348 단색 그래픽에 대한 지원을 추가하는 HBASIC이라고 불리는 카드의 유틸리티 디스크에서 GW-BASIC의 특별 버전을 받았다.BASICA/GW-BASIC의 다른 버전은 헤라클레스 그래픽을 지원하지 않으며 SIMCGA와 같은 제3자 CGA 에뮬레이션의 사용을 통해서만 그 카드에 그래픽을 표시할 수 있다.

GW-BASIC은 다트머스 BASIC을 기반으로 한 명령줄 기반의 통합 개발 환경(IDE)을 갖추고 있다.커서 이동 키를 사용하여 화면에 표시되는 모든 라인을 편집할 수 있다.또한 화면 하단에 기능 키 단축키도 포함되어 있다.BASIC의 다른 초기 마이크로컴퓨터 버전과 마찬가지로 GW-BASIC은 로컬 변수 등 구조화된 프로그래밍에 필요한 구조가 많이 부족하고, GW-BASIC 프로그램은 해석된 언어였기 때문에 비교적 느리게 실행되었다.모든 프로그램 라인에 번호를 매겨야 하며, 번호가 없는 모든 라인은 즉시 실행되어야 하는 직접 모드의 명령으로 간주된다.프로그램 원본 파일은 일반적으로 키워드를 대체하는 토큰과 함께 이진 압축 형식으로 저장되며, ASCII 텍스트 형식으로 저장할 수 있는 옵션도 있다.[6]

GW-BASIC 명령줄 환경에는RUN, LOAD, SAVE, LIST현재 프로그램 또는 운영 중단SYSTEM; 이 명령들은 프로그램 문으로도 사용될 수 있다.GW-BASIC에서는 구조화된 프로그래밍에 대한 지원이 거의 없다.전부IF/THEN/ELSE 조건문은 반드시 한 줄에 작성되어야 한다.WHILE/WEND문장은 여러 행을 묶을 수 있다.함수는 단일 회선을 통해서만 정의할 수 있다.DEF FNf(x)=<mathematical function of x>문(예:DEF FNLOG(base,number)=LOG(number)/LOG(base)변수의 데이터 유형은 변수 이름의 끝에 있는 문자로 지정할 수 있다.A$한 줄의 문자인데A%정수변수 그룹은 또한 다음을 사용하여 이름의 초기 문자를 기반으로 기본 유형으로 설정할 수 있다.DEFINT, DEFSTR등, 진술서.이러한 타이핑 문으로 식별되지 않는 미신고 변수의 기본 유형은 단일 정밀 부동소(32비트 MBF)이다.[7]

GW-BASIC은 조이스틱라이트 펜 입력 장치를 사용할 수 있다.GW-BASIC은 파일 및 COM 포트에서 읽고 쓸 수 있으며, 포트에 대한 이벤트 트래핑도 할 수 있다.원본 IBM PC의 카세트 테이프 포트 인터페이스는 호환성에 구현된 적이 없기 때문에 카세트 작동이 지원되지 않는다.GW-BASIC은 를 이용하여 간단한 음악을 연주할 수 있다.PLAY문, 음악 매크로 언어로 표현된 일련의 음이 필요한 경우(예:PLAY "edcdeeL2edfedL4c". 를 통해 보다 낮은 수준의 제어가 가능하다.SOUNDIBM 기계의 표준 내부 PC 스피커에 대한 헤르츠 단위의 빈도와 클럭 틱의 길이에 대한 주장을 다룬 문장.따라서 소리는 '비즈니스' 기계에 적합하게 단일 채널 신호음과 휘파람으로 제한된다.Tandy 1000과 같은 가정용 PC는 최대 3채널의 음향을 허용한다.SOUND그리고PLAY명령어[7]

이름

이니셜 "GW"가 무엇을 의미하는지 몇 가지 이론이 있다.회사의 BASIC 컴파일러 라인에서 표준을 개발한 마이크로소프트 초기 직원 그레그 휘튼은 빌 게이츠가 GW-BASIC이라는 이름을 선택했다고 말한다.휘튼은 그것을 Gee-Wiz BASIC이라고 부르며 게이츠가 그의 이름을 따서 프로그램의 이름을 지었는지 확신하지 못한다.[8]Microsoft Press의 Microsoft User Manual(마이크로소프트 프레스)에서도 이 이름으로 언급하고 있다.[citation needed]그것은 또한 수많은 그래픽 명령 때문에 Gee-Whiz라는 별명을 얻었을지도 모른다.[8]이니셜의 기원에 관한 다른 일반적인 이론으로는 "그래픽스와 윈도우", "게이트, 윌리엄"(당시 마이크로소프트의 사장), 또는 "게이트 휘튼"(프로그램의 두 주요 디자이너) 등이 있다.[9][10]

참고 항목

참조

  1. ^ a b Turner, Rich. "Microsoft Open-Sources GW-BASIC". Windows Command Line. Microsoft. Retrieved May 22, 2020.
  2. ^ KindlyRat. "GW-BASIC". Archived from the original on 2005-07-26. Retrieved 2009-11-10.
  3. ^ Leon. "GWBASIC Games & Other Programs". Archived from the original on 2009-10-26. Retrieved 2009-11-10.
  4. ^ Lorenzo, Mark (2017). Endless Loop: The History of the BASIC Programming Language. Philadelphia: SE Books. p. 122. ISBN 978-1974-27707-0.
  5. ^ "Microsoft BASIC version information". Retrieved 2008-06-12.
  6. ^ "GW-BASIC Documentation and Utilities". Archived from the original on 2007-12-17.
  7. ^ a b "GW-BASIC User's Guide". 1987. Retrieved 2008-06-28.
  8. ^ a b Gregory Whitten (2005-04-13). "GW-BASIC". Archived from the original on 2008-09-20. Retrieved 2008-06-29.
  9. ^ "Linux Dictionary:G". Retrieved 2008-06-28.
  10. ^ "GW-BASIC". 2005-04-13. Archived from the original on 2008-06-29. Retrieved 2008-06-28.

외부 링크