- 마이크로소프트의 50년 혁신은 Altair BASIC 코드에서 시작되었음
- Office, Windows 95, Xbox, AI 이전에 존재한 최초의 제품
- 이 코드를 통해 개인용 컴퓨터 시대가 열렸으며, 마이크로소프트의 성장 기반이 되었음
내가 작성한 가장 멋진 코드
- 1975년, Bill Gates와 Paul Allen은 “모든 책상과 가정에 컴퓨터를”이라는 비전으로 Microsoft를 창립함
- 마이크로소프트가 50년을 맞이하게 된 것은 Steve Ballmer, Satya Nadella 같은 훌륭한 리더들과 수많은 직원들의 공이 컸음
- Gates는 이 기념비적인 순간을 맞이하며 기쁨과 동시에 아쉬움도 느꼈음
- 하버드의 PDP-10 앞에서 코딩하던 그 시절이 엊그제처럼 느껴짐
- 마이크로소프트의 시작은 1975년 Popular Electronics 잡지의 표지에서 본 Altair 8800 컴퓨터였음
- Altair는 MITS라는 소규모 전자회사에서 만든 키트형 PC로, 당시로서는 혁신적인 제품이었음
- 잡지를 본 순간, Gates와 Allen은 PC 혁명이 다가오고 있음을 직감하고 그 흐름에 동참하고자 결심함
BASIC 코드 작성을 결심한 계기
- 두 사람은 학생 시절, Lakeside 학교에서 컴퓨터에 매료됨
- Altair가 일반인에게도 프로그래밍 기회를 줄 수 있다는 사실에 감명을 받음
- Gates와 Allen은 Altair용 BASIC 언어를 개발했다고 MITS에 먼저 제안함
- 하지만 실제로는 아직 존재하지도 않는 소프트웨어였음, 그래서 직접 만들어야 했음
BASIC 언어의 기본 개념
- BASIC은 1964년, 다트머스 대학의 두 교수가 만든 초보자용 프로그래밍 언어임
- 컴퓨터 경험이 전혀 없는 사람도 짧은 학습만으로 직접 프로그램을 만들 수 있도록 설계되었음
- Gates와 Allen이 처음 배운 프로그래밍 언어였으며, 현재까지도 사용되고 있음
- BASIC은 영어처럼 컴퓨터에게 작업을 지시하는 언어로, 명령 실행, 수학 문제 해결, 기능 수행 등을 가능하게 함
BASIC을 컴퓨터가 이해하게 만드는 방법
- 문제는 컴퓨터가 BASIC을 이해하지 못한다는 점이었음
- Gates와 Allen은 BASIC 코드를 컴퓨터 명령으로 한 줄씩 번역해 실행하는 인터프리터(Interpreter) 를 만들기로 결정함
- 실시간 피드백을 제공해 초보자가 오류를 빠르게 수정할 수 있는 장점이 있었음
- 전체 프로그램을 한 번에 번역하는 컴파일러(Compiler) 방식도 고려했지만, 초보자 친화적인 인터프리터 방식이 더 적합하다고 판단함
개발 시작
- 당시 Altair에 쓰인 Intel 8080 칩이 없었기 때문에, Paul은 하버드의 PDP-10에서 해당 칩을 에뮬레이션하는 프로그램을 개발함
- Gates는 인터프리터의 메인 코드를 작성했고, 친구 Monte Davidoff는 수학 연산 모듈을 담당함
- 이 세 명은 두 달간 밤낮없이 작업하여, 실제로 존재하지 않던 소프트웨어를 완성해냄
메모리 제약 극복
- 당시 컴퓨터 메모리는 매우 비쌌고, Altair에 메모리를 추가하면 비용이 PC 가격보다 높을 수도 있었음
- BASIC 인터프리터를 4KB 이내로 구현하는 것이 목표였음
- 이렇게 하면 사용자들이 자신만의 프로그램을 실행할 수 있는 메모리를 확보할 수 있었음
- Gates는 다양한 메모리 최적화 기법을 사용해 이 목표를 달성함
마이크로소프트의 탄생
- 수많은 밤샘 작업 끝에 완성한 BASIC 인터프리터를 MITS의 대표 Ed Roberts에게 시연함
- 시연은 성공적이었고, MITS는 이 소프트웨어의 라이선스를 구매함
- 이 성공으로 Altair BASIC은 마이크로소프트의 첫 제품이 되었으며, Micro-Soft라는 회사명이 탄생함 (나중에 하이픈은 삭제됨)
- 이 코드 하나가 이후 50년간 이어질 마이크로소프트의 모든 혁신의 출발점이 되었음
- 보다 자세한 이야기는 회고록 Source Code 에서 확인 가능함
소스 코드 다운로드
- 마이크로소프트의 시작이 된 Altair BASIC의 원본 소스 코드를 직접 확인해볼 수 있음
- 지난 50년간 프로그래밍이 얼마나 발전했는지를 보여주는 역사적 자료로, Gates는 이 코드에 여전히 큰 자부심을 느낌
소스 코드 다운로드 (PDF)