BASIC (1964)
Entity (인물·조직)lectureverified2026-05-09

BASIC (1964)

#vch#lecture-intro#A-language#g2

BASIC (1964)

1. 한 줄 요약

BASIC(Beginner's All-purpose Symbolic Instruction Code)은 1964년 5월 다트머스 대학의 John G. KemenyThomas E. Kurtz비STEM 전공 학생들도 컴퓨터를 사용할 수 있게 하기 위해 만든 언어로, 1970~80년대 마이크로컴퓨터 시대에 프로그래밍의 대중화 를 일으킨 결정적 도구이다.

2. 등장 시기·배경

위키피디아는 BASIC 의 시점을 1964년 5월 로 명시하며, 다트머스 대학의 John G. KemenyThomas E. Kurtz 를 공동 창시자로 기록한다. 두 사람은 다트머스의 수학과 교수였으며, "every student on campus should have access to a computer" — 모든 학생이 컴퓨터를 사용할 수 있어야 한다는 신념으로 BASIC 과 Dartmouth Time-Sharing System(DTSS) 을 함께 개발했다.

탄생 동기는 위키피디아 표현 "to enable students in non-scientific fields to use computers"비과학 전공 학생을 위한 언어 였다. FORTRAN·COBOL·ALGOL 60 은 모두 전문가용 이었다. 1960년대 초반의 컴퓨터 프로그래밍은 펀치카드와 야간 배치 처리, 24시간 사이클의 어셈블리·FORTRAN 작업이 표준이었기에, 철학·역사·문학 전공 학생이 접근하기는 사실상 불가능했다.

DTSS 와의 결합이 결정적이었다. 시분할(time-sharing) 시스템 위에서 대화형(interactive) 프로그래밍이 가능해졌다. 학생이 터미널 앞에 앉아 BASIC 코드를 입력하면 즉시 실행되어 결과를 볼 수 있는 피드백 사이클이 24시간 → 1초로 단축 된 사건이다. 이는 본 강의 맥락에서 피드백 루프 단축 이라는 결정적 패턴의 첫 사례 중 하나다.

3. 핵심 특징

  1. 라인 번호 (line numbering) — 위키피디아 표현 "Programs used numbered lines (e.g., 10, 20, 30) for organization". 모든 문장이 숫자 라벨을 가짐. 보통 10·20·30 단위로 작성해 나중에 사이에 끼워넣기 가 가능.
  2. 단순한 문법 — 위키피디아 표현 "Designed to be intuitive and memorable compared to FORTRAN". LET A = 5, PRINT A, GOTO 100, IF A > 5 THEN GOTO 200. 30분 안에 첫 프로그램 작성 가능한 학습 곡선.
  3. 대화형 실행 (interactive REPL) — 위키피디아 표현 "The Dartmouth Time-Sharing System allowed immediate feedback". 즉시 실행, 즉시 결과. 펀치카드의 야간 사이클과 결정적 차이.
  4. GOTO·GOSUB·FOR 흐름 제어 — 위키피디아 표현 "Used GOTO, GOSUB, and FOR loops for program flow". GOSUB 는 서브루틴 호출(라인 번호로 점프), RETURN 으로 복귀. 단순하지만 비구조적 흐름 제어. 후일 스파게티 코드 의 원흉으로 비판받음.
  5. 메모리 효율 — 위키피디아 표현 "Minimal memory requirements made it ideal for microcomputers". 4KB·8KB·16KB ROM 에 들어갈 수 있는 작은 인터프리터. 1975년 Bill Gates·Paul Allen 의 Altair BASIC, 1977년 Apple II BASIC, 이후 Commodore·Atari·IBM PC 의 표준 탑재 언어가 됨.

4. 주 용도

위키피디아의 응용 분야 정리:

  • 교육 도구 — 1960년대 다트머스 표어 그대로 컴퓨터 입문 표준 언어. 1970~90년대 미국·한국·일본 대부분의 학교가 BASIC 으로 컴퓨터 수업 시작.
  • 마이크로컴퓨터 가정용 표준 — 1977년 Apple II 의 Integer BASIC·Applesoft BASIC, 1980년 IBM PC 의 BASICA·GW-BASIC, 1985년 QuickBASIC. 위키피디아 표현 "Dominant language on home computers throughout the 1970s-1980s".
  • 초기 비디오 게임 — 1970년대 잡지에 BASIC 게임 코드 전체 가 인쇄되어 독자가 직접 입력해 실행하는 문화. Creative Computing, BYTE, 한국의 마이컴 잡지.
  • 취미 프로그래밍 — 컴퓨터를 직접 소유한 첫 세대(1980년대) 의 입문 언어. 한국에서는 MSX·Apple II 호환기·재믹스 위에서 BASIC 이 표준.

문화적 영향은 압도적이다. 198090년대 한국 컴퓨터학원의 첫 수업은 BASIC 이었고, 그 세대(197080년생) 개발자들의 첫 프로그래밍 경험 이 BASIC 이다. Hello World10 PRINT "HELLO WORLD" / 20 GOTO 10 인 그 세대.

5. 그 시대의 설계 도구 매핑 ★

BASIC 시대(1964~1990년대)의 설계 도구는 역설적으로 매우 흥미롭다. 언어 자체가 단순했기에, 설계의 없음 이 곧 SE 의 학습 사례가 되었다.

설계 도구역할
플로차트여전히 1차 설계 언어. 1970~80년대 학교 수업에서 플로차트로 알고리즘 그리기 → BASIC 으로 옮기기 가 표준 커리큘럼. 본 강의 핵심 명제의 가장 정형화된 교육 패턴.
★ 라인 번호 계획 시트라인 번호가 프로그램 구조 자체이므로, 종이 위에 어느 라인에 무엇이 들어갈지 미리 계획. 1099: 초기화, 100199: 메인 루프, 200~299: 서브루틴 ... 같은 번호 영역 분할 패턴.
★ GOTO 점프 차트 (jump chart)라인 번호 사이의 GOTO 점프를 화살표로 그린 도면. 깔끔한 차트는 깔끔한 코드를 만들고, 어지러운 차트는 스파게티 코드 가 됨. 설계의 가시화 가 코드 품질을 좌우한 첫 시각적 사례.
★ 변수 명세표BASIC 은 보통 변수 이름이 한 글자(A, B, C ...)였기에 어떤 글자가 무엇을 의미하는지 종이 위에 사전 정의가 필수. 후일 데이터 사전(data dictionary)의 학습용 원형.
★ "스파게티 코드" 반면교사1968년 Dijkstra 의 Go To Statement Considered Harmful 비판이 BASIC 시대에 현실의 사례 로 매일 입증됨. "GOTO 를 너무 많이 쓰면 코드가 면이 된다" 는 직관이 BASIC 학습자에게 평생 기록됨. SE 의 부정적 학습 사례.

핵심은 BASIC 이 단순한 언어이기에, 오히려 설계의 중요성을 가장 직관적으로 가르쳐준 언어 였다는 사실이다. 강의 핵심 명제 — 설계 없이는 코딩이 안 된다 — 의 가장 고통스러운 사례. 1980년대의 모든 BASIC 학습자가 설계 없이 코드를 짜다가 스파게티가 되는 경험을 직접 했다.

6. 언어 그룹 분류

명령형(imperative)·절차형(procedural)·비구조적(unstructured) 패러다임. 1980년대 후반의 Structured BASIC(QuickBASIC, GFA-BASIC) 부터 SUB·FUNCTION·DO...LOOP 같은 구조화 요소가 추가되었으나, 초기 BASIC 의 라인 번호·GOTO 중심 모델이 정체성. 후예: Visual Basic(1991, GUI 시대), VBA(엑셀 매크로 언어), VB.NET. 산업적으로는 사실상 끝났지만 교육 언어 로서의 정신은 Python·Scratch 가 계승.

7. 강의 도입 활용 포인트

BASIC 한 줄 — 10 PRINT "HELLO" / 20 GOTO 10 — 은 1970~80년대 세대 개발자들의 공통 기억 이다. 강의 도입에서 "여러분의 부모님 세대가 처음 만난 코드는 이것이었습니다" 라고 보여주면, 즉시 시대의 변화를 체감하게 된다. 그 다음 "그 시대에도 종이 위 플로차트를 그리고 코드를 옮겼다" 라는 사실을 박으면, 강의 핵심 명제 — 설계 없이는 코딩이 안 된다 — 가 부모 세대도 똑같았다 는 세대 가교 메시지로 변환된다. AI Native 시대의 학생들에게 가장 강력한 시간축 정렬 도구.

출처

그룹 시리즈

synthesis/group-g2 (시대 그룹 종합 카드)