트루 베이직
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
트루 베이직은 1985년에 소개된 구조적 프로그래밍을 지원하는 베이직 언어의 한 버전이다. 다트머스 베이직의 파생형인 스트럭쳐드 베이직(SBASIC)과 ANSI 표준 BASIC 제정 노력을 거쳐 개발되었다. MS-DOS, 마이크로소프트 윈도우, 클래식 맥 OS 등 다양한 운영체제를 위한 컴파일러 버전을 제공했으며, 행렬 산술, 재귀 함수, 전역 및 지역 변수 등을 지원한다. 하지만, 일부 평가와 비판도 존재하며, CPU 사용률 문제 등이 지적되기도 했다.
더 읽어볼만한 페이지
- 베이직 인터프리터 - 비주얼 베이직
비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다. - 베이직 인터프리터 - 큐베이직
큐베이직은 GW-BASIC을 대체하기 위해 개발된 퀵베이직 컴파일러 기반의 인터프리터로, MS-DOS, 윈도우, IBM PC DOS 등에서 사용되었으며, 4개의 예제 프로그램과 이스터 에그를 제공한다. - 베이직 프로그래밍 언어 계열 - VB스크립트
VB스크립트는 마이크로소프트에서 개발한 스크립트 언어로, 인터넷 익스플로러의 클라이언트 스크립트 언어 및 액티브 서버 페이지의 표준 언어로 사용되었으나, 윈도우 클라이언트 지원 중단 발표로 향후 윈도우 릴리스에서 제거될 예정이다. - 베이직 프로그래밍 언어 계열 - 비주얼 베이직
비주얼 베이직은 1991년 마이크로소프트에서 출시된 GUI 기반 응용 프로그램 개발에 강점을 가진 프로그래밍 언어이며, 윈도우용 응용 프로그램 및 데이터베이스 조작 프로그램 개발에 주로 사용되었고, 2005년 표준 지원이 중단되었다. - 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 브루클린 미술관
브루클린 미술관은 1823년 브루클린 견습생 도서관으로 시작하여 현재 약 50만 점의 소장품을 보유한 뉴욕 브루클린 소재의 미술관으로, 다양한 분야의 예술 작품을 전시하며 특히 아프리카 미술과 여성주의 미술에 대한 기여가 크다. - 공식 웹사이트에 알 수 없는 변수를 사용한 문서 - 광주지방기상청
광주지방기상청은 광주광역시와 전라남도 지역의 기상 예보, 특보, 관측, 기후 정보 제공 등의 업무를 수행하는 기상청 소속 기관으로, 1949년 광주측후소로 설치되어 1992년 광주지방기상청으로 개편되었으며, 기획운영과, 예보과, 관측과, 기후서비스과와 전주기상지청, 목포기상대를 두고 있다.
2. 역사
트루 베이직의 역사는 다트머스 베이직의 파생물인 스트럭쳐드 베이직(SBASIC)으로 거슬러 올라간다. SBASIC은 1975년 또는 1976년에 출시되었는데, 다트머스 타임 섀어링 시스템(DTSS)에 BASIC의 메인라인 버전으로 설치되지는 않았다. 얼마 지나지 않아 케머니 교수는 ANSI 표준 BASIC을 생성하려는 노력에 참여했다. 이러한 노력은 처음에 미니멀 베이직에 초점을 맞추었고 이후 작업은 풀 베이직(Full BASIC)을 목표로 했다.
트루 베이직은 구조화된 프로그래밍으로 구현한 베이직 언어 버전이므로 줄 번호와 GOTO 문을 사용하여도 되지만 필수적이지 않다.
1985년 제리 푸어넬 (Jerry Pournelle)은 트루 베이직이 일반 베이직이 하지 않는 어떠한 것도 하지 않는 것처럼 보이며, 그 작동 방식이 논리적이거나 직관적이지 않다고 비판했다.[8] 그는 오류 발생 시 이를 출력하는 기능이 누락되어 "진단을 위한 출력문 삽입" 방식으로 대화형 디버깅을 쓸 수 없다는 점을 지적하며, 자신은 마이크로소프트와 CBASIC을 계속 사용할 것이라고 밝혔다.[8][2]
wikitext
1980년대 초, 마이크로소프트 베이직이 사실상의 표준이 되면서 ANSI의 노력은 무의미해졌다. 그러나 케머니와 커츠는 SBASIC의 개념과 ANSI 표준 BASIC 노력을 도입하기 위한 노력을 계속하기로 결정했고, 이것이 트루 베이직이 되었다.
초기에 다트머스 베이직 7을 기반으로 한 트루 베이직은 1985년에 소개되었으며, MS-DOS, 마이크로소프트 윈도우 및 클래식 맥 OS 용 컴파일러 버전이 있다. 한때 TRS-80 컬러 컴퓨터, 아미가 및 아타리 ST 컴퓨터용 버전과 유닉스 명령줄 컴파일러가 제공되었다.
3. 특징
트루 베이직에서는 초기부터 다트머스 베이직에 있었지만 마이크로컴퓨터 버전의 베이직 인터프리터에서는 거의 삭제되어 있던 행렬 산술에 대한 명령문의 기능을 제공한다. 또한 재귀 함수와 서브루틴을 작성할 수 있도록 전역 변수 및 지역 변수를 구현하고 있다.
트루 베이직의 설계자들은 언어를 하드웨어 독립적으로 만들고 싶었기 때문에 트루 베이직 소스 코드는 모든 버전의 컴파일러에서 동일하게 잘 실행될 것으로 예상되며, 대부분의 경우 그들은 이러한 노력은 성공한다. 사용자의 단점으로는 기계의 일부 기능에 직접 액세스할 수 없다는 것이 있었지만 이러한 단점은 특별히 어셈블리 언어로 작성된 호출 가능 함수 및 서브루틴의 사용으로 해결할 수 있다.
최신 버전의 트루 베이직에서는 이전 기능 중 일부는 차단되어 있다. 다음은 최신 코드의 예시이다.
```basic
RANDOMIZE
SET WINDOW 0,20,0,20
SET COLOR 5 ! 펜과 텍스트 색상을 5로 설정, 트루 베이직은 0-15가지 색상을 가집니다.
PRINT "Welcome To ..." ! 사용자 화면에 "Welcome To ..."를 출력합니다.
DO ! 루프 시작
LET x=rnd*20 ! 'x'의 값을 '0'과 '20' 사이의 임의의 숫자로 설정합니다.
LET y=rnd*20 ! 'y'의 값을 '0'과 '20' 사이의 임의의 숫자로 설정합니다.
Pause .1 ! 1/10초 대기
PLOT TEXT, at x, y: "Fabulous Wikipedia!" ! 'Fabulous Wikipedia!'를 'x'와 'y' 좌표에 출력합니다.
LOOP ! 루프 종료
END ! 프로그램 종료
```
이 간단한 프로그램은 화면의 왼쪽 상단 모서리에 "Welcome To ..." 텍스트를 출력한 다음, 무한 루프로 들어가 임의의 좌표에 "Fabulous Wikipedia!"를 출력한다.
```basic
! 차 그리기
SET WINDOW 0,20,0,20
SET COLOR 5
BOX AREA 2,6,2,3
BOX AREA 9,13,2,3
BOX AREA 16,20,2,3
SET COLOR 249
PLOT LINES :0,5;20,5
FLOOD 10,1
BOX KEEP 0,20,0,5 IN road$
BOX CIRCLE 2,3,5,6
FLOOD 2.5,5.5
BOX CIRCLE 5,6,5,6
FLOOD 5.5,5.5
SET COLOR 35
PLOT LINES :2.5,6;5.5,6
PLOT LINES :5,6;8,6;8,8;6,8;6,10;2,10;2,8;0,8;0,6;3,6
FLOOD 4,8
SET COLOR 248
BOX AREA 4,5,8,9
BOX KEEP 0,8,5,10 IN car$ ! 'car$'에 차 저장
FOR x=1 TO 20 STEP 1 ! 'for' 루프 생성
BOX SHOW road$ AT 0,0
BOX SHOW car$ AT x,5
PAUSE .1
CLEAR
NEXT x ! 'for' 루프 종료
END ! 프로그램 종료
4. 평가 및 비판
일부 사용자는 트루 베이직 프로그램과 편집기가 CPU (또는 코어)의 100%를 사용하는 것에 대해 불만을 제기했다.[9][10][11][12] 이는 편집기와 사용자 프로그램이 키보드와 마우스 이벤트를 지속적으로 폴링하는 루프를 사용하기 때문으로 보인다. 이 문제는 적어도 2010년 말부터 알려졌으나,[9] 2014년 초까지도 해결되지 않았다.[12][3][6]
5. 추가 자료
참조
[1]
웹사이트
BASIC: The Language that started a revolution
http://www.linuxvoic[...]
2022-06-25
[2]
뉴스
PCs, Peripherals, Programs, and People
https://archive.org/[...]
2016-03-20
[3]
웹사이트
CPU Usage
http://www.truebasic[...]
2014-07-26
[4]
웹사이트
CPU usage at 100%
http://www.truebasic[...]
2014-07-26
[5]
웹사이트
CPU usage
http://www.truebasic[...]
2014-07-26
[6]
웹사이트
A few more editor bugs
http://www.truebasic[...]
2014-07-26
[7]
웹인용
BASIC: The Language that started a revolution
http://www.linuxvoic[...]
2022-06-25
[8]
뉴스
PCs, Peripherals, Programs, and People
https://archive.org/[...]
BYTE
2016-03-20
[9]
웹인용
CPU Usage
http://www.truebasic[...]
2014-07-26
[10]
웹인용
CPU usage at 100%
http://www.truebasic[...]
2014-07-26
[11]
웹인용
CPU usage
http://www.truebasic[...]
2014-07-26
[12]
웹인용
A few more editor bugs
http://www.truebasic[...]
2014-07-26
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com
