[일상다반사] 나의 첫 프로그램 - Sun, Jan 31, 2021
종이키보드를 열심히 눌렀던 그 시절이 그립다.
84년 오락실과 갤러그
원래 오늘은 인생의 첫번째 비디오 게임에 대해서 쓰려고 했었다. 1983년 당시 7살인 나는 대학생 외삼촌과 함께 부산 사직동에 있던 오락실을 처음 가게 되었다. 당시의 그 놀라운 추억이란! 아직도 그 때의 냄새와 색깔, 분위기가 기억이 날 정도로 강렬한 추억이었다. 여튼 이 이야기는 다음에 다시 하기로 하자.
주제를 갑자기 바꾸게 된 이유
맛있는 점심을 먹고 독서를 하고 싶어서 아무 책이나 손에 들었는데, 최근에 구매한 브라이언 커니핸의 유닉스의 역사였다. 아스키 아트로 되어 있는 표지부터 완전 내 취향이다. 몰입해서 앞부분을 읽다 보니, 저자가 대학생 시절 인턴을 가서 실패한 경험을 마주하게 되었다.
포트란에 대한 훌륭한 책을 보면서 공부했는데, 언어의 규칙은 완전히 이해했지만 어떻게 프로그램을 작성해야 하는지 알 수 없었다.
돌이켜 보면 나는 평균 이하의 인턴이었다. (중략) 코볼은 프로그램을 조직화하기 위한 기능을 거의 지원하지 않았고 구조적 프로그래밍이라는 개념도 아직 발명되기 전이었다. (중략) 당시 작성한 코드는 끝없는 IF 문의 연속이었다.
이 글을 만나서 무척이나 반가웠다. 브라이언 커니핸 같은 대가도 처음 프로그래밍을 할 때 이런 시행착오를 겪었다는 것에도 반갑기도 했고, 문득 나의 첫 프로그래밍 경험이 생각났다.
나의 첫 프로그램
나의 첫 프로그램은 국민학교 4학년때였다. 당시 나는 서울 개포동의 구룡국민학교라는 곳을 다니고 있었다. 정확히 기억은 안 나지만 4학년부터 한 달에 1번 정도 컴퓨터 실습이 있었던 것 같다. 컴퓨터 실습 시간에 원래 뭘 하는지는 모르지만 나는 그 한 시간을 알차게 쓰기 위해서 누나가 가지고 있던 MSX BASIC 책을 혼자서 미리 공부했다.
일단 처음 한 일은 알파벳을 외우는 것이었다. 다행히 종이로 되어 있는 키보드 자판을 어딘가에서 구해와서 그것을 보면서 자판과 알파벳을 열심히 외웠다. 정확한 타법을 몰라서 독수리 타법과 비슷한 방법으로 연습했는데, 어찌나 열심히 연습했던지 나중에는 A부터 Z까지 10초안에 타이핑 할 수 있게 되었다.
두 번째 한 일은 컴퓨터 없이 프로그램을 짜 본 것이었다. 프로그램을 이해하는 일은 너무나도 어려웠지만 정말 신나는 일이었던 것 같다. 대략 첫 번째 프로그램은 이런 식이었다.
10 A=10
20 B=20
30 C=A+B
40 PRINT C
50 END
RUN
30
OK
저 프로그램을 열심히 외워서 첫 번째 실습에서 성공했을 때의 감격이란! 기억이 맞다면 당시 실습실에는 아마 삼성 SPC-500이라는 컴퓨터가 있었다. 원래 수업시간에는 타이핑 연습과 공을 맞추는 게임을 시켜줬었는데 그것들은 전혀 눈에 들어오지 않았다.
여러가지 고비들
프로그래밍을 혼자 공부하려니까 정말 어려웠다. 다음 도전 과제는 1부터 10까지 더하는 프로그램이었는데 전혀 알 수가 없었다.
- “왜 A라는 변수 하나에 1부터 10까지 못 더할까?”
- “A = A + 1 B = B + A 이건 대체 뭐야?”
- “GOTO, IF THEN 이건 무슨 뜻일까?”
한달 정도 고민해서 다음 달 실습에서는 결국 이 프로그램을 이해할 수 있었다.
웹 사이트를 이용해서 짜 봤는데 그럭저럭 짤 수 있었다. 다행이다.
계속되는 고난들
컴퓨터 공부는 산 넘어 산이었다. 여러 데이터를 읽는 READ-DATA 구문, 반복문을 처리하는 FOR-NEXT, 이중 반복문, 서브루틴을 실행하는 GOSUB-RETURN, 배열을 처리하는 DIM, 이차원, 삼차원 배열, 음악을 연주하는 PLAY, 그림을 그리는 여러 명령들, 당시에는 생소한 개념인 SPRITE, 키보드로 입력을 받는 INPUT, INKEY$, 끝없는 명령들을 때로는 좌절하고 때로는 극복하면서 즐겁게 프로그램을 배웠다.
다가온 포기의 순간
정말 안타까운 일이지만 당시로서는 도저히 이해할 수 없는 명령이 있었는데, 다름 아닌 PEEK와 POKE이다. 결국 이 명령은 집에 컴퓨터가 생기고 나서 애플 베이직과 6502 기계어를 배우면서 이해를 하게 되었지만 그건 거의 1년이나 지난 뒤의 일이고, 아쉽게도 이 두 명령을 이해하지 못해 나는 베이직의 세계와 이별하게 되었다.
다시 프로그래밍의 세계로
앞서 언급한 것처럼 어느날 아버지가 무려 60만원이라는 거금을 들여 세운상가의 아프로만이라는 가게에서 짭 애플2+ 컴퓨터를 사오신 것이다. 너무너무 멋진 그린 모니터의 애플2는 잠들어 있던 나의 프로그래밍 영혼을 깨웠고, 덕분에 나는 개발자가 되었다. 애플2에서는 포트리스와 유사한 게임을 직접 만들었었는데, 그건 다음 시간에.