[용어로 보는 컴퓨터 역사 61] 리스프

리스프(LISP)는 60년 미국 MIT 연구소에서 존 매카시 등 프로그래머들이 만든 프로그래밍 언어다.

리스트 프로세싱(List Processing)의 준말로 프로그램과 데이터가 모두 리스트형태로 표현되는 것이 특징이다. 즉 모든 프로그램이 데이터처럼 취급돼 데이터나 프로그램 수정이 쉽다. LISP는 다른 프로그래밍 언어에서와 같이 특수한 표기법을 필요로 하지 않는다.

LISP는 컴파일러 개발과정에서 탄생했다. 58년 MIT에서는 인간의 언어를 기계어로 바꿔주는 컴파일러를 개발하고 있었는데 서브루틴 링크와 자료구조에서 중요한 스택 핸들링, 삭제를 위한 방법으로서 기존의 것과는 다른 방식의 프로그래밍 언어 개발이 가능함을 인식하게 됐다. 몇몇 프로그래머들은 프로젝트의 주목적을 컴파일러에서 LISP개발로 전환해 60년 LISP 개발 프로젝트를 끝마쳤다.

LISP의 개발 주역들은 다양한 함수를 어셈블리 언어로 컴파일링할 수 있고 이를 LISP 환경으로 이식하기 위한 서브루틴을 만들기 시작함으로써 읽기와 프린트리스트 구조를 포함하는 특이한 형태의 프로그래밍 언어를 탄생시킨 것이다.

프로그램은 포트란에서 리어셈블할 수 있는 M-expressions로 불리는 구어식 표현으로 제작됐다. 즉 x+3y+z를 (PLUS X (TIMES 3 Y) Z)나 (ALL (X) (OR (P X) (Q X Y)))와 같은 형식으로 표기함으로서 READ와 PRINT가 가능하고 프로그램은 상징적인 정보를 표준확장적인 표기법으로 표현하는 것이 가능하다. LISP는 프로그램에서 함수가 차지하는 비중이 크다는 것이 특징이며 인수분해나 미적분, 정리증명, 자연어 처리 등에 응용할 수 있다.

현재는 60년대 개발된 LISP에 기능을 추가한 커먼 리스프나 프란츠 리스프 등 변종이 사용되고 있다.

<이규태 기자>


브랜드 뉴스룸