베이직-8
BASIC-8패러다임 | 필수적 |
---|---|
개발자 | DEC |
처음 등장한 | 전 |
OS | TSS/8 |
영향을 받다 | |
다트머스 바스IC | |
영향받은 | |
BASIC-PLUS, Microsoft BASIC |
BASIC-8은 Digital Equipment(DEC) PDP-8 시리즈 미니컴퓨터의 BASIC 프로그래밍 언어입니다.동사가 최초로 공개한 베이직 사투리로, 그 성공으로 DEC는 장래의 머신, 특히 PDP-11 시리즈의 베이직 PLUS를 위한 새로운 베이직 사투리를 생산하게 되었습니다.DEC는 BASIC을 채택함으로써 그 시대의 표준 교육용 및 유틸리티 프로그래밍 언어로서 이 언어의 사용을 강화했습니다.그 때문에, 1970년대 중반의 마이크로 컴퓨터의 발매에 있어서, BASIC은 주요한 언어가 되었습니다.
역사
David Ahl은 1969년에 교육 판매 부문을 확장하는 DEC에 입사했습니다.이 부서는 주로 PDP-8 미니컴퓨터를 고등학교와 [1]대학에 판매하는 업무를 맡았다.1960년대 후반의 일반적인 싱글 유저 머신의 가격은 10,000달러(2021년의 77,900달러 상당)이며, 대용량 스토리지 및 기타 [2]주변기기는 포함되지 않았습니다.이 무렵 휴렛패커드(HP)와 허니웰은 교육 시장에서 인기를 끌고 있는 시분할 기능을 갖춘 새로운 16비트 미니컴퓨터를 선보였다.특히 HP Time-Shared BASIC을 탑재한 HP의 16비트 HP 2100은 매우 인기가 있었고, HP는 프로그래밍 및 교육 시장에 [3]판매하기 위해 HP2000으로 패키지화했습니다.HP2000은 PDP-8보다 훨씬 더 비쌌지만, 많은 사용자 간에 액세스를 공유하기 때문에(일반적으로 한 번에 최대 16대) 유효 비용은 단일 사용자 머신보다 훨씬 낮았습니다.
당시 DEC는 JOSS의 축소판인 FOCAL이라는 교육용 언어를 대대적으로 홍보하고 있었다.이 언어에는 PDP-8의 4KB 코어 메모리를 포함하여 극히 제한된 메모리에서 실행할 수 있는 많은 기능이 있습니다.이것은 개념적으로 BASIC과 유사하며, 특히 프로그램을 입력하는 대화형 방법과 프로그램의 일반적인 레이아웃에서 그러합니다.Ahl은 사용자로부터 제출받은 FOCAL 프로그램을 취합하여 학과 EDU 뉴스레터에 [1]게재하였습니다.
Ahl은 잠재 고객이 적어도 DEC가 위치한 보스턴 지역 이외에서는 FOCAL에 관심이 없다는 것을 알게 되었습니다.BASIC은 이 시기에 이미 널리 사용되고 있으며, BASIC의 교육 프로그램 및 게임 라이브러리가 증가하고 있습니다.이들은 거의 항상 HP2000 사투리로 뉴스레터 형식으로 발행되고 있으며, BASIC 프로그램의 양은 FOCAL을 압도하고 있었습니다.Ahl은 [2]BASIC을 제작하기 위한 DEC 관리 부문이나 소프트웨어 개발 부문에 관심이 없었고, 라인업 내 다른 머신에 대한 FOCAL 지원에도 관심이 없었습니다.그는 또한 다른 회사가 그 [1]언어의 버전을 제작할 수 있도록 허용한다는 생각에 점점 더 적대적인 태도를 보이고 있다고 지적했다.
PDP-8이 교육 시장에서 경쟁하기 위해서는 BASIC이 필요하다는 결론을 내리고, 그는 [1]BASIC을 개발하기 위해 브루클린 지역 프로그래머를 고용했다.이것이 BASIC-8이 되었습니다.그 흡수를 돕기 위해, 알은 개인적으로 몇몇 인기 있는 FOCAL 프로그램들, 특히 그가 [4]하무라비라고 이름붙인 달 착륙자와 수메르 게임들을 포팅했다.BASIC-8은 즉시 베스트셀러가 되었고, 1970년대 초에는 교육 시장에서 다시 한번 인기 있는 선택지가 되었습니다.동사는, HP2000과 같은 방법으로 시스템을 패키징하기 시작했습니다.각종 [5]요구에 맞춘 「Edusystems」시리즈를 준비하고 있습니다.
DEC는 계속해서 FOCAL을 홍보하고 있지만, BASIC-8의 출시와 함께 거의 즉시 사용이 중단되었습니다.DEC는 궁극적으로 PDP-8에 5개의 다른 BASIC을 제공하게 되며, 각각의 BASIC은 원래의 최소 구현의 한계를 보완하게 됩니다.1970년 PDP-11이 출시되면서 완전히 새롭고 크게 확장된 방언인 BASIC-PLUS가 [1]제공되었다.고객들은 사투리 사이의 차이에 대해 불평했지만, 알은 나중에 그가 그렇게 세세한 부분까지 꼼꼼하게 따졌더라면 제품을 [2]출시하는 데 2년이 더 걸렸을 것이라고 주장했다.
Ahl은 또 다른 신기한 사실도 알아차렸다.그들이 EDU 뉴스레터를 발행하기 시작했을 때 그들은 DEC의 300개 교육 사이트에 각각 10명씩 2000~3000명의 구독자를 예상하고 있었다.18개월 만에 발행부수는 교육 분야의 모든 컴퓨터보다 훨씬 많은 2만부에 달했다.그가 물어봤을 때, 그는 많은 가입자들이 DEC는 고사하고 컴퓨터조차 가지고 있지 않다는 것을 발견했고, 컴퓨터가 어떻게 교육에서 사용될지에 대한 아이디어를 얻기 위해 그것을 읽고 있었다.이를 통해 교육용 컴퓨터 [2]잡지를 조기에 검토하게 되었습니다.변함없이 EDU의 가장 인기 있는 섹션은 BASIC 목록, 특히 게임이었습니다.이것은 그가 1973년의 101 BASIC Games로 가장 인기 있는 프로그램, 특히 Super Star Trek을 책 형태로 모으기로 결심하게 만들었다.이 책은 세 번의 [1][6]인쇄에 걸쳐 수만 부가 팔렸다.
교육 부문의 일부 성공에도 불구하고, 1973-1975년 경기 후퇴가 시작되었을 때, DEC는 그룹의 규모를 줄이기로 결정했다.Ahl이 부서를 내버려 둬야 한다고 불평하자 그의 상사는 그를 해고 대상자 명단에 올렸다.마지막 월급을 받기도 전에, 그는 새로 [6]결성된 하드웨어 그룹에 재취업되었다.PDP-8 기반의 올인원 설계와 새로운 PDP-11 기반의 약간 더 큰 시스템, 두 대의 작은 프로토타입 컴퓨터를 생산했다.사내의 다른 부문에서는, 이러한 매상이 자사의 매상을 해치는 것을 염려해, 시스템에 반대하는 움직임이 생기기 시작했습니다.결국 Ken Olsen의 책상에 도달했고, Ken Olsen은 왜 누군가가 개인 [6]용도로 컴퓨터를 원하는지 이해할 수 없다고 말했습니다.그 프로젝트는 [1]중지되었다.
Ahl은 회사를 그만두고 AT&T의 교육 영업부에 입사했다.Ahl은 DEC를 떠나기 전에 EDU를 계속 발행했지만, 그가 떠나면서 회사가 그것을 포기하기 전까지 한두 판만 더 발행되었다.이 때문에, HP는, People's Computer Company 의 뉴스레터와 급속히 성장하고 있는 미네소타 교육 컴퓨팅 컨소시엄(MECC) 컬렉션에 BASIC 프로그램을 폭넓게 배포하고 있었습니다.교육 시장을 겨냥한 EDU와 같은 뉴스레터가 부족하다는 것을 알고 Ahl은 곧 Creative Computing 매거진을 시작했고 나중에 AT&T를 떠나 풀타임으로 [1]제작했습니다.1975년 그는 101 BASIC Games의 판권을 DEC로부터 구입하여 BASIC Computer Games로 재출시하였다.이 책은 백만 장이나 팔린 최초의 컴퓨터 [1][6]책이 되었다.
HP의 사투리는 Integer BASIC과 Atari BASIC을 포함한 많은 초기 개인용 컴퓨터 BASIC 구현의 기초를 형성했습니다.빌 게이츠는 고등학교 때 BASIC-PLUS를 사용했고, 이것이 1975년에 Altair BASIC이 된 기초를 형성했다.여러 플랫폼용 Microsoft BASIC의 개발과 판매는 DEC의 사투리를 HP의 버전이 [1]아닌 가정용 컴퓨터의 사실상의 표준으로 만들었다.
묘사
대부분의 베이직 버전과 마찬가지로 베이직-8은 사용자가 명령을 입력하고 즉시 응답을 받는 '즉시 모드' 또는 명령을 사용하여 나중에 실행할 수 있도록 엔트리를 저장하는 '지연 모드'로 동작할 수 있습니다.RUN
. 지연 모드는 텍스트 행의 시작 부분에 행 번호를 입력하면 트리거됩니다.BASIC-8 에서는, 회선 번호의 범위는 1 ~[7]2046 이며, PDP-8 은 12 비트머신이며, 통상은 -2048 ~+2047 의 값을 1 [8]단어로 나타내고 있습니다.
이 시대의 많은 미니멀 베이직 구현에서 공통적으로 볼 수 있듯이IF
문은 분기 수행에만 사용할 수 있습니다.THEN
는 점프하는 행 번호 뒤에 와야 하므로 이후 BASIC에서 흔히 [9]볼 수 있는 임의의 스테이트먼트를 포함할 수 없습니다.따라서IF X=10 THEN 150
유효했습니다.IF X=10 THEN X=X+1
그렇지 않았다.대체양식은IF X=10 GO TO 150
GOTO의 공백은 일부 방언에서와 같이 선택사항이 아닙니다.IF
또는 독립형 [10]선언문으로서요.서브루틴은 다음을 사용하여 지원되었습니다.GOSUB...RETURN
에서 호출할 수 없었습니다.[11]IF
스테이트먼트를 [a]참조해 주세요.루프는 다음과 같이 실행할 수 있습니다.IF...THEN
또는 사용FOR...TO...STEP...NEXT
를 클릭합니다.[10]
대부분의 베이직과 달리LET
는선택사항이아닙니다.[12]또한모든과제에사용해야합니다.변수 이름은 단일 문자 또는 문자 및 단일 [13]숫자일 수 있습니다. DIM
를 사용하여 1차원 배열과 2차원 [14]배열을 정의할 수 있습니다.부동소수점 숫자 형식에는 -38 ~ [15]+38의 유효 자릿수와 지수가 8개 포함되어 있습니다.산술에는 표준 수학 기호가 사용되었습니다.+
,-
,*
,/
그리고.^
(텔레타입 모델 33은 위 [16]화살표로서 표시됨) 표준 기능을 포함하고 있습니다.SIN
,COS
,TAN
,ATN
,EXP
,LOG
,ABS
,SQR
,INT
,RND
그리고.SGN
.[17] 문자열 변수나 함수는 지원되지 않았습니다.부울 비교IF
포함된 스테이트먼트=
,<
,>
,>=
,<=
그리고.<>
를 클릭합니다.[13] DEF FN
는 사용자 정의 [18]함수로 지원되었습니다.
PRINT
지원되는 콤마와 세미콜론을 [19]모두 사용하여 여러 출력을 표 형식으로 띄우거나 공백 없이 띄울 수 있습니다. INPUT
는지원되어1개의스테이트먼트에서여러입력정보를읽을수있었지만프롬프트는지원되지않았습니다.[20]파일 조작 명령어가 없기 때문에 프로그램 내의 모든 데이터는DATA
스테이트먼트 및 읽기READ
를 클릭합니다.[21] RESTORE
를 반환했다READ
의 시작으로 돌아가서DATA
list. 일부 [22]방언에서 볼 수 있는 옵션 행 번호는 없었습니다.
REM
,STOP
그리고.END
명령어 [13]리스트를 완성합니다.
실행
BASIC이 사용자가 볼 수 있는 전체 환경이었던 대부분의 경쟁 미니 컴퓨터 기반 시스템과 초기 가정용 컴퓨터와는 달리 BASIC-8은 기본 TSS/[23]8 운영 체제의 명령줄에서 실행할 수 있는 많은 프로그램 중 하나였습니다.따라서 일반적으로 BASIC 자체에 관련되어 있는 명령어는 다음과 같습니다.RUN
또는LIST
는 적절한 언어의 일부가 아니라 셸의 일부이므로 프로그램 내에서 사용할 수 없습니다.이는 에디터와 런타임은 완전히 [24]다른 프로그램이었던 많은 초기 BASIC 환경에서 흔히 볼 수 있는 현상입니다.
BASIC 프로그램은 명령줄에서 BASIC-8을 시작하고 입력하거나 EDIT-8과 같은 텍스트 에디터를 시작하고 코드를 텍스트 파일로 입력하여 입력할 수 있습니다.두 경우 모두 BASIC 코드는 순수 텍스트로 저장되며 사용자가 입력한 추가 문자를 유지합니다. 공백 없이 코드를 입력하여 파일을 더 [7]콤팩트하게 만들거나 들여쓰기 [25]루프에 공백을 추가할 수 있습니다.
BASIC을 시작할 때 입력 가능NEW
기존 프로그램을 클리어하거나OLD
기존 파일을 로드합니다.언제든지 할 수 있다SAVE
작업 파일 또는UNSAVE
기존 저장된 파일을 삭제합니다. CATALOG
저장된 프로그램 [24]파일 목록을 생성했습니다. LIST
소스 코드를 인쇄하고 시작 및 끝 행 번호에 대해 두 개의 쉼표로 구분된 값을 사용하여 제한할 수 있습니다.LIST 10,200
를 클릭합니다.[26][b] DELETE
프로그램에서 일련의 행을 삭제했습니다.RUN
실행이 시작되어 있습니다.BYE
BASIC을 종료하고 TSS/8 [27]명령줄로 돌아갑니다.
내부적으로는 메모리 사용을 최소화하기 위해 필요에 따라 로드된 5개의 서브 프로그램으로 구성되어 있었습니다.이것들은EDITOR
,COMPILER
,LOADER
,INTERPRETER
그리고.ERROR
. 컴파일러는 하위 수준의 언어를 생성하지 않았기 때문에 현대적인 의미에서 컴파일러가 아니었다. 현대 용어로는 "토키나이저" 또는 프런트 엔드라고 불린다.그 목적은 BASIC 소스 코드를 해석하고 그것을 일련의 "토큰"으로 변환하는 것이었다.이것은 다양한 키워드와 명령어를 나타내는 한 단어로 된 숫자이다.그 후 인터프리터가 결과 토큰화된 코드 실행을 시작하도록 지시받는 동안 결과는 메모리에 남았습니다.ERROR가 BASIC의 에러 번호를 텍스트 출력에 매핑했습니다.메모리 내의 테이블, SYPTBA는 [28]디스크상의 프로그램 위치를 포인터로 하고 있습니다.
메모들
레퍼런스
인용문
- ^ a b c d e f g h i j Ahl 2013년.
- ^ a b c d 앤더슨 1984, 페이지 70
- ^ "Hewlett/Packard Computers".
The 2000A was the first HP 2000 time share system on the market ca. 1969
- ^ McCracken, Harry (29 April 2014). "Fifty Years of BASIC, the Programming Language That Made Computers Personal". Time.
- ^ edusystem handbook (PDF). DEC. January 1973.
- ^ a b c d 앤더슨 1984, 페이지 72
- ^ a b 1969년 매뉴얼, 2.2페이지
- ^ "DEC's Blockbuster: The PDP-8". Computer History Museum.
- ^ 매뉴얼 1969, 2.15페이지
- ^ a b 매뉴얼 1969, 2.16페이지
- ^ 1969년 매뉴얼, 3.6페이지
- ^ 매뉴얼 1969, 2.13페이지
- ^ a b c 매뉴얼 1969, 2.8페이지
- ^ 매뉴얼 1969, 2.11, 2.17페이지
- ^ 1969년 매뉴얼, 2.7페이지
- ^ 매뉴얼 1969, 2.5페이지
- ^ 매뉴얼 1969, 2.6페이지
- ^ 매뉴얼 1969, 3.5페이지
- ^ 매뉴얼 1969, 3.1페이지
- ^ 1969년 매뉴얼, 3.7페이지
- ^ 1969년 매뉴얼, 2.4페이지
- ^ 1969년 매뉴얼, 3.9페이지
- ^ 매뉴얼 1969, 1.1페이지
- ^ a b 매뉴얼 1969, 4.1페이지
- ^ 매뉴얼 1969, 2.12페이지
- ^ 매뉴얼 1969, 4.2페이지
- ^ 매뉴얼 1969, B.1페이지
- ^ 1969년 매뉴얼, D.1페이지
참고 문헌
- BASIC-8. DEC. March 1969.
- Ahl, David; Ahl, Betsy (3–4 April 2013). "Dave Ahl and Betsy Ahl" (Interview). Interviewed by Kevin Savetz. ANTIC: The Atari 8-Bit Podcast.
{{cite interview}}
: CS1 maint: 날짜 형식(링크 - Anderson, John J. (November 1984). "Dave tells Ahl – the history of Creative Computing". Creative Computing. pp. 66–74.