메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

컬럼/인터뷰

프로그래밍 언어의 다음 세대

한빛미디어

|

2010-08-04

|

by HANBIT

16,691

제공 : 한빛 네트워크
저자 : Mac Slocum
역자 : 김수은
원문 : The next wave of programming languages

이번 년도 첫번째 Emerging Languages Camp에서 OSCON은 새로운 프로그래밍 언어로서 선보여질 것이다. 나는 BankSimple의 공동 창립자이자 캠프의 공동 창시자인 Alex Payne과 왜 새로운 프로그래밍 언어가 등장하고 그 중 어떤 언어가 그의 관심을 끄는지에 대해 이야기했다.

Emerging Languages Camp의 블로그에서 종종 당신은 새롭게 등장한 언어들이 새로운 프로그래밍의 문제점들을 풀려고 시도한다고 말했습니다. 현재 직면하고 있는 문제들에는 어떤것들이 있습니까?

Alex Payne Alex Payne: 모든 사람들이 가장 많이 이야기 하고 있는 것은 동시성 처리입니다. 이번 캠프에서 우리는 많은 수의 동시성 처리에 관한 캠프 참가자를 받았습니다. 해결책은 아마도 사람들에게 여러 개의 물리적인 기계가 상당히 명료한 방법으로 계산을 하도록 할 수도 있고, 하나의 기계나 혹은 하나의 가상 기계가 각각 다른 동시성 처리의 패러다임을 가지고 처리하게 할 수 있습니다. 이것은 아주 흥미로운 문제이지요. 얼마나 연관되어 있느냐에 따라 상충되는 되는 문제들이 많이 생겨납니다. 몇가지 다른 문제들로는 코드의 표현성과 유지성입니다. 이것은 새로 등장한 문제들의 가장 중요한 부분은 아닙니다만, 이질적인 경험과 교육수준을 가진 전문적인 프로그래머들이 처음 어떤 분야에 발을 들일 때, 더 많은 언어를 읽을 수 있는 능력을 가진 사람이 우선권을 가지게 되었습니다. 더 이상 대학의 무척 아카데믹한 컴퓨터 연구실에서 LISP를 쓰는 수도승 같은 전문가도 없고, 처음 코딩을 하기 전까지 수 주의 교육이 진행되는 IBM같은 커다란 산업적인 조직도 없습니다. 새로 등장한 많은 언어들은 단지 유지보수의 틀 안에서 탐험하는 것이지요.

캠프의 언어에 관한 토론이 진행될 것이라고 알고있는데 어떤 것이 당신의 눈길을 사로잡고 있습니까?

AP: Gilad Bracha가 Newspaek라는 언어에 관해 소개할텐데 이것은 Bracha의 자바에 관한 경험과 Smalltalk, 그리고 Lisp에서 얻은 아이디어의 특이한 조합의 언어입니다. 프로그래밍 언어 디자인 커뮤니티에서는 아주 작긴 합니다만, Newspeak는 큰 화제입니다. Newspeak에 관해 주변에서 진행되는 토론은 매우 흥미롭습니다.

Rich Hickey는 Clojure에 관해 이야기할 것입니다. 나는 그가 발표를 했던 몇몇 회의에 참석했었는데 그는 언제나 수학, 물리, 문학의 흥미로운 비유를 통해 말합니다. Clojure는 매우 실험적인 언어로는 매우 드물게 산업에 사용되고 있습니다. Clojure 이상의 아이디어들이 많이 나와있고, 사람들은 실제로 Clojure를 선택하고 있습니다.

Matt MacLaurin의 Kodus는 시각적인 언어로 본래 Xbox 의 어린이용 게임을 위해 만들어졌습니다. 비주얼 프로그래밍 언어는 한동안 있어 왔지만, 이것은 아주 실용적이고 응용되었습니다. Kodu는 또한 엄청나게 Camp의 리스트들의 것과는 다릅니다.

Jonathan Edwards는 MIT AI 프로그램에 근무하고 있고 지난 수년간 좀처럼 볼 수는 없었던 Subtext라는 것을 작업했습니다. 그는 그 프로젝트를 Coherence라는 이름으로 재구성했습니다. 저는 정말 그가 이야기 하는 것을 흥미있게 들었습니다. 무척 추상적이기는 했지만요. 대부분의 사람들은 언어를 작업할 때 될 수 있으면 빨리 코딩 단계에 들어가려 합니다 손이 근질근질 하기 때문이지요. Edwards는 손을 놓고 좀더 학문적으로 접근합니다. 그는 몇 년간이나 이 언어를 가지고 시험을 하고 있지요.

Alan Eliasen은 Frink라는 언어를 작업했습니다. 저는 이 언어에 대해 들어본 적은 없었지만 그가 이 캠프에 관해 알게 되었고 저에게 볼드체로 된 이메일을 보냈습니다. 내용은 이러했지요 : "제 언어는 정말 굉장힙니다. 당신은 제게 꼭 발표할 자리를 주셔야 할 거에요 왜냐하면 저는 당신의 컨퍼런스에서 가장 핫한 존재가 될 테니까요. 저는 캠프에 온 사람들을 계속 즐겁게 할 겁니다."

Frink는 근본적으로는 계산을 위한 언어입니다. 하지만 이 언어의 컨셉은 다양한 구성단위로 되어 있어서 쉽게 다른 단위들을 전환하여 계산할 수 있습니다. 이것은 모두 과학적인 계산을 위해 디자인되어 있지만, 당신이 어떤 계산을 위해 디자인된 언어를 상상할 때 보다는 깔끔한 문장으로 되어 있는 것들이 있습니다

Slava Pestov는 Factor라는 언어에 대해 말할 것입니다. Factor는 Forth와 같은 stack-based 언어입니다. 그와 Factor를 작업한 사람들은 믿을 수 없을 정도로 많은 양의 일을 Factor의 컴파일러와 가상머신의 최적화를 위해 해냈습니다. 한달에 한번 정도 그들은 블로그를 통해 Factor가 어떻게 진행되고 있는지를 알립니다. 근본적으로 모든 사람들이 프로그램 언어의 획기적인 돌파구를 마련한 것 같습니다.

Emerging Languages Camp에 대한 아이디어는 어디서 얻으셨나요?

AP: 저는 지난해 Foo Camp에 참가해서 새로운 프로그래밍 언어와 그것으로부터 사람들이 어떤 탐험을 원하는지에 대한 세션에 참가했습니다. The Emerging Languages Camp는 그 결과입니다. 저는 이 캠프가 끝날 때쯤 Foo Camp 세션에서의 피드백이 얼마나 될런지는 잘 모르겠습니다. 하지만 아주 최근에, 방 한가득 가득 찬 사람들을 보면서 며칠을 보내는데 이 캠프가 아주 흥미로운 방법이라고 생각했습니다. 그것이 아주 큰 동기가 되었습니다.

캠프가 어떤 성과를 냈으면 좋겠다고 생각하십니까?

AP: 저는 꽤 많은 숫자의 언어 디자이너가 아닌 참가자가 있다는 느낌을 받았습니다. 왜냐하면 그들은 저처럼 일하고 있는 프로그래머로써 더 나은 툴을 찾고 있기 때문이지요. 진정한 목표는 공통된 부분을 찾을 수 있도록 실제로 연결을 만드는 것입니다. 실제 사람들은 이미 Camp 메일링 리스트에서 서로를 발견하고 있습니다.저는 이 이후에도 이런 대화들이 지속되기를 원합니다.
TAG :
댓글 입력
자료실

최근 본 상품0