GW 베이직
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
GW-BASIC은 1980년대 마이크로소프트에서 개발한 BASIC 프로그래밍 언어의 인터프리터 버전이다. MBASIC 5.x를 기반으로 IBM PC 하드웨어 기능을 추가했으며, `WHILE...WEND` 루프, 최대 40자 길이의 변수 이름, `OPTION BASE` 문 등을 지원한다. GW-BASIC은 `PEEK`/`POKE` 문을 사용하지 않는 BASIC-80 프로그램을 실행할 수 있으며, IBM PC의 사운드, 그래픽 기능을 활용한다. 명칭 'GW'는 'Gee-Whiz', '그래픽 및 윈도우', '게이츠, 윌리엄' 등 다양한 설이 존재한다.
더 읽어볼만한 페이지
- 1983년 개발된 프로그래밍 언어 - Occam
Occam은 1980년대에 개발된 동시성 프로그래밍 언어이며, 들여쓰기와 채널을 통한 통신을 특징으로 하며, `SEQ`, `PAR`, `ALT` 등의 명령어를 사용하고 여러 버전으로 발전했다. - 1983년 개발된 프로그래밍 언어 - C++
C++는 비야네 스트롭스트룹이 개발한 다중 패러다임 프로그래밍 언어로, C를 기반으로 객체 지향 프로그래밍과 제네릭 프로그래밍을 지원하며 다양한 분야에 사용되고, 꾸준한 표준 업데이트를 통해 기능이 확장되었지만 복잡한 문법으로 높은 학습 곡선을 가진다. - 베이직 인터프리터 - 비주얼 베이직
비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다. - 베이직 인터프리터 - 큐베이직
큐베이직은 GW-BASIC을 대체하기 위해 개발된 퀵베이직 컴파일러 기반의 인터프리터로, MS-DOS, 윈도우, IBM PC DOS 등에서 사용되었으며, 4개의 예제 프로그램과 이스터 에그를 제공한다. - 마이크로소프트 베이직 - 비주얼 베이직
비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다. - 마이크로소프트 베이직 - 알테어 베이직
알테어 베이직은 빌 게이츠와 폴 앨런이 알테어 8800 컴퓨터를 위해 개발한 BASIC 인터프리터로, 마이크로소프트의 초기 성공에 기여하고 소프트웨어 저작권 논쟁을 촉발했으며 MS-DOS로 전환될 때까지 핵심 사업으로 남았다.
| GW 베이직 - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 기본 정보 | |
![]() | |
| 개발 연도 | 1983년 |
| 개발자 | 마이크로소프트 |
| 최신 버전 | 3.23 |
| 최신 버전 출시일 | 1988년 |
| 영향을 받은 언어 | IBM 카세트 베이직 IBM 디스크 베이직 IBM BASICA |
| 영향을 준 언어 | QBasic QuickBasic MSX 베이직 |
| 운영 체제 | 도스 |
| 라이선스 | 독점 소프트웨어 |
| 라이선스 상세 | MIT 라이선스 (v1.0) |
| 웹사이트 | 마이크로소프트 GW-BASIC 오픈 소스 발표 |
2. 기능
GW-BASIC은 다음과 같은 기능을 가지고 있다.
- `WHILE...WEND` 루프[6]
- 최대 40자 길이의 변수 이름[6]
- 배열 변수의 시작 인덱스를 0 또는 1로 설정하는 `OPTION BASE` 문[6]
- 동적 문자열 공간 할당[6]
- 쉼표와 같은 필드 구분 문자를 무시할 수 있는 `LINE INPUT`[6]
- 기계어 루틴을 실행하기 위한 `CALL` 문[6]
- `CHAIN` 및 `MERGE` 명령어[6]
- 토큰화된 바이너리 형식 또는 ASCII 텍스트 형식으로 프로그램 저장 가능[6]
- 매개변수 없이 `RND` 함수 실행 가능[7]
- `LIST`되지 않도록 프로그램 "보호" 가능[7]
- `COS`, `SIN`, `ATN`과 같은 수학 및 삼각 함수에 배정밀도 숫자 사용 가능 (시작 시 `/D` 매개변수 필요)[7]
- 구조적 프로그래밍 지원 부족[7]
- `IF`/`THEN`/`ELSE` 조건문은 한 줄에 작성[7]
- `WHILE`/`WEND` 문은 여러 줄 그룹화 가능[7]
- 함수는 단일 줄 `DEF FNf(x)=` 문으로 정의[7]
- 변수 이름 끝 문자로 데이터 유형 지정 (예: `A$`는 문자열, `A%`는 정수)[7]
- `DEFINT`, `DEFSTR` 등으로 변수 그룹의 기본 유형 설정 가능[7]
- 선언되지 않은 변수의 기본 유형은 단정밀도 부동 소수점(32비트 MBF)[7]
- 조이스틱 및 광선 펜 입력 장치 사용 가능[7]
- 파일과 COM 포트에서 읽고 쓰기, 포트 이벤트 트래핑 가능[7]
- 카세트 테이프 포트 인터페이스 미지원[7]
- `PLAY` 문으로 간단한 음악 재생 (예: `PLAY "edcdeeL2edfedL4c"`)[7]
- `SOUND` 문으로 PC 스피커를 통해 단일 채널 삐 소리와 휘파람 출력 가능[7]
- Tandy 1000용 GW-BASIC은 `SOUND` 및 `PLAY` 명령에 대해 최대 3개 사운드 채널 허용[7]
3. 명칭
"GW"가 무엇을 의미하는지에 대한 몇 가지 이론이 있다. 마이크로소프트의 BASIC 컴파일러 라인 표준을 개발한 초기 직원인 그레그 휘튼은 빌 게이츠가 GW-BASIC이라는 이름을 선택했다고 말한다. 휘튼은 이를 지휘즈 베이직(Gee-Whiz BASIC)이라고 부르며 게이츠가 자신의 이름을 따서 프로그램 이름을 지었는지 여부는 확실하지 않다고 한다.[8] 마이크로소프트 프레스의 마이크로소프트 사용자 설명서에서도 지휘즈 베이직(Gee-Whiz BASIC) 이름으로 참조된다. 수많은 그래픽스 명령으로 인해 지휘즈(Gee-Whiz)라는 애칭이 붙었을 수도 있다.[8] 이니셜의 기원에 대한 다른 일반적인 이론으로는 "그래픽 및 윈도우", "게이츠, 윌리엄"(당시 마이크로소프트 사장), 또는 "게이츠-휘튼"(프로그램의 두 주요 설계자) 등이 있다.[9][10]
4. 헬로 월드 예제
gwbasic
10 PRINT "Hello, World!"
RUN
```
이 코드는 GW 베이직에서 "Hello, World!"를 출력하는 간단한 예제이다.
참조
[1]
웹사이트
GW-BASIC
http://www.geocities[...]
2009-11-10
[2]
웹사이트
GWBASIC Games & Other Programs
http://peyre.sqweebs[...]
2009-11-10
[3]
서적
Endless Loop: The History of the BASIC Programming Language
SE Books
2017
[4]
웹사이트
Microsoft BASIC version information
http://www.emsps.com[...]
2008-06-12
[5]
뉴스
Microsoft Open-Sources GW-BASIC
https://devblogs.mic[...]
Microsoft
2020-05-22
[6]
웹사이트
GW-BASIC Documentation and Utilities
http://www.xs4all.nl[...]
[7]
웹사이트
GW-BASIC User's Guide
http://www.xs4all.nl[...]
2008-06-28
[8]
웹사이트
GW-BASIC
https://web.archive.[...]
2005-04-13
[9]
웹사이트
Linux Dictionary:G
http://www.tldp.org/[...]
2008-06-28
[10]
웹사이트
GW-BASIC
https://web.archive.[...]
2005-04-13
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
