Lambda the Ultimate

Posted 2007. 12. 3. 03:02
블로그 제목을 "프로그래밍 언어 이야기"로 바꾸고 첫 포스팅입니다.

컴퓨터를 전공하는 후배들을 만나면 컴퓨터 쪽 정보를 얻기 위해 주로 가는 사이트나 구독하는 블로그, 잡지에 대해서 많이 물어봅니다. 사실 저는 관심 분야가 다양한 편이라 한 사이트를 정기적으로 방문하거나 하는 일은 잘 없습니다. (금방 열정이 식기 때문에...) 대신 주로 특정 주제를 가지고 검색을 했다가 관련 사이트들을 들어가보는 방식으로 새로운 것들을 보는 편이고요.

그런 저에게도 새로운 글이 올라오면 항상 체크하고 꼼꼼히 읽어두려고 노력하는 사이트가 하나 있는데 Lambda the Ultimate이라는 사이트입니다. 번역하면 [람다 최고]인 이 사이트는 주로 프로그래밍 언어 전공자들이 프로그래밍 언어에 대한 최신 소식을 전하고 자기들끼리 논쟁도 벌이는 곳입니다. 람다는 함수형 언어의 이론적 바탕이 된 람다 칼큘러스(lambda calculus)의 람다를 지칭하는 말이고요.

물론 [람다 최고]라는 이름에서 알 수 있듯이 주로 함수형 언어 관련 연구자들이 많이 포진해 있기 때문에 함수형 언어를 상당히 옹호하는 글이 많이 올라옵니다. 또한 주로 PL 전공자들이 많다보니 최신 논문이나 이론을 소개하는 등 상당히 학구적인 곳이기도 하고요. 물론 PyPy나 LLVM, IronPythonm EcmaScript 4 등 우리가 자주 듣는 프로그래밍 언어 관련 프로젝트에 대해서도 근황을 전하고 자기 의견을 피력하기도 합니다.

또 메뉴에 보면 Getting Started 항목도 있어서 프로그래밍 언어 관련 이론을 공부할 수 있는 기본적인 책이나 사이트들을 소개해 주고 있습니다. 학교에서 PL 전공하지 않는 이상 접하기 힘든 내용들을 많이 볼 수 있어서 초보자들에게는 매우 귀중한 자료입니다.

PL하면 단순히 자바나 파이썬 같이 새로운 언어를 만들어내는 것만으로 생각하시는 분이 많은데, PL 관련 이론은 프로그래밍 언어의 의미(semantic)를 정형적으로 정의하는 것부터 시작해서 타입 이론(type theory), 구현(implementation), VM이나 컴파일러와의 연계 등 많은 이슈들을 다루거든요.

저는 원래 주어진 프로그램을 분석해서 자동으로 오류는 찾아주는 정적 분석(static analysis)에 관심을 가진 후에 프로그래밍 언어 쪽도 아주 조금 공부하려고 마음을 먹게 되었는데 지금은 잘못된 디자인(대표적인 언어 C 언어)를 고치기 위해 많은 노력을 들이는 정적 분석보다는 처음부터 제대로 설계하자는 "언어 설계" 쪽에 더 관심이 많이 갑니다.

아직 아는 것보다 모르는 것이 더 많기에 공부하는 데로 조금씩 정리해서 써보려고 합니다.