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

한빛출판네트워크

IT/모바일

텍스트는 프로그래머의 은총알(Silver Bullet)인가?

한빛미디어

|

2014-05-16

|

by HANBIT

19,561

제공 : 한빛 네트워크
저자 : Simon St. Laurent
역자 : 이준하
원문 : Is Text the Programmer’s Silver Bullet?

프로그래밍은 텍스트의 세계와 떨어질 수 있을까?

Simon St. Laurent 나는 사용자와 개발자의 문화를 비교한 그렉 윌슨(Greg Wilson)의 글을 좋아한다. 이 글을 공유하면 개발자 문화의 값어치가 어떤지 확인해볼 수 있다. 공개적인 자리에서 프로그래밍 인터페이스를 이야기하면서 그래픽 인터페이스도 나름 한몫을 한다는 의견을 낼 때면 텍스트가 프로그래밍의 핵심이라고 생각하는 사람들의 분노를 자아낸다. 그들은 가끔 통합개발환경(IDE)에 눈길을 주기도 하지만 텍스트 편집기, 특히 명령 줄 인터페이스를 대단히 중요한 도구로 여긴다.

콜비 대학교 컴퓨터 공학과 교수인 브루스 맥스웰(Bruce Maxwell)은 텍스트의 힘에 대해 다음과 같이 표현하고 있다.
“나는 여러 학생이 텍스트 파일을 편집하는 것이 좀 더 빠르고 쉬우며 정확하다고 같은 결론에 도달하는 것을 발견했다. 물론 내가 80년대 C 언어를 다루던 방식을 학생들에게 강요한 것은 아니다. 학생들 스스로 찾아낸 것이다.

간단히 정리해보면 일반적인 그래픽 도구는 적절한 디자인 공간에서 적절한 작업 형식에 따라 멋진 결과물을 만들어낼 수 있다. 하지만 아이디어나 개념, 요구사항을 구체화할 때가 되면 이런 것만으로는 부족하고 좀 더 세밀한 작업을 위해 가장 범용적인 도구에 의지해야 한다. 텍스트 편집기와 프로그래밍 언어 말이다.“
맥스웰 교수의 발견은 맞았다.

오픈 소스 콘퍼런스인 오스콘(OSCON)에 처음 참석했을 때 점심 시간에 프로그래밍 언어나 원칙에 대한 깊은 논쟁 대신 빔(Vim)이 좋은지 이맥스(Emacs)가 더 좋은지 이야기하거나 쉘에 대해 이야기를 하는 것을 보고 깜짝 놀랐다. 언어의 경계를 넘나들며 텍스트에 이르는 여러 방법에 대해 다른 생각이 있다. 심지어는 같은 조직 내에서도 다양한 생각이 나타난다. (음, 적어도 통합개발환경만 고집하지는 않았다)

대부분 프로그래밍 언어는 자신만의 독특한 특징을 가지고 있지만, 여전히 텍스트 기반으로 동작하는 방식을 유지하고 있다. 웹 프론트 엔드에서 사용하는 로직도 HTML, CSS, 자바스크립트와 같은 텍스트로 만들어진다. 약간의 차이가 있는 것처럼 보이지만 모든 것은 텍스트로 만든다. 나는 GUI 방식으로 멋진 인터페이스를 만드는 하이퍼카드(HyperCard)의 기능을 무척 좋아한다. 하지만 나만의 로직을 만들어야 할 때는 하이퍼토크(HyperTalk)를 찾는다. 또한, 엑셀(Excel)은 데이터와 로직을 조합해 사용할 수 있는 프레임워크를 제공한다. 하지만 이런 기능이 강력하게 동작하는 것은 보이지 않는 곳에 숨어 있는 텍스트 기반의 프로그래밍 언어가 있기 때문이다. 나는 프로그래프(Prograph)를 사용해 새로운 것을 만들어내는 것을 좋아한다. 시간이 지나더라도 무언가를 만지작거리고 있을 것이다.

컴퓨팅은 숫자에서 텍스트로 일찌감치 전환되면서 엄청나게 많은 사람이 참여할 수 있게 됐다. 바이너리나 16진수를 능숙하게 다룰 수 있는 사람이 여전히 필요하지만, 대부분 개발자는 사람에게 익숙한 기호를 다루는 환경에서 일하고 있다. 복잡한 방식으로 기호를 사용하는 것은 전통적인 형식의 텍스트에 비해 사람들에게 익숙하지 않을 수 있지만, 이것 역시 텍스트다.

텍스트는 개발자에게 좀 더 유연함을 제공해준다. 텍스트를 사용하면 메타 수준의 조작과 검색, 바꾸기, 비교, 주석 기능을 제공하며 다양한 도구와 통합할 수 있다. 보통은 마이크로소프트 워드를 사용하면서 코드를 사용하지 않겠지만 나는 그렇지 않다. 그래픽 기반의 웹브라우저에서 자바스크립트 콘솔은 괴상한 기능처럼 보이지만 개발자에게는 강력한 힘을 더해준다. 코드를 정규 표현식으로 바꾸는 것은 매우 조심스럽다. 하지만 가끔 무척 유용할 때가 있다. 텍스트 편집기는 종종 개발 환경이 되기도 한다.

1986년 프레더릭 브룩스(Fred Brooks)는 은총알은 없다(No Silver Bullet)라는 글에서 프로그래밍의 복잡성에 대해 다양한 관점을 이야기하면서 이를 해결할 방법은 없다고 했다. 특히 그래픽 기반의 프로그래밍 환경은 너무 제한적이라면서 "소프트웨어는 시각화하기에는 너무 어렵다. 그런 방식은 전혀 설득력이 없고 흥미로운 것은 더욱 아니다. 여러 노력에도 불구하고 아직 세상에 나오지 못하고 있다. 앞으로도 그렇게 되지 않을 것이라 확신한다" 고 이야기했다. 그리고 "이미 프로그래밍 환경에 대해서는 큰 성과가 나오고 있어 앞으로 더 나은 성과를 기대하기는 어렵다" 고 이야기하고 있다.

브룩스는 텍스트의 힘을 직접 이야기하지 않았다. 1986년 쓴 글에서 새로운 기술이 보여줄 앞날을 이야기했고 텍스트 기반의 시스템에 여러 해를 보냈다. 내 생각에는 텍스트가 가진 힘에 대해 표현한 대목은 이렇다. "통합된 프로그램 인터페이스와 일반화된 도구에 대한 문제는 통합된 파일 형식으로 해결됐다."

나는 플로우 기반 프로그래밍을 구현한 그래픽 인터페이스를 만드는 것을 꿈꾼다. 그리고 전문 개발자가 아니더라도 프로그래밍이 좀 더 사람에게 친근하기 접근할 수 있는 방법도 고민하고 있다. 하지만 대부분 개발자와 프로그래밍은 앞으로도 컴퓨터 구조를 다루기 위해서는 텍스트를 사용할 것이다.

텍스트는 오래된 은총알일지도 모른다. 하지만 매우 효율적이다. 지금도 어디선가 새롭게 텍스트를 쓰는 방법을 알아가고 있는 개발자를 찾을 수 있을 것이다.
TAG :
댓글 입력
자료실