국어사전 그대로 언어는 "생각이나 느낌을 음성 또는 문자로 전달하는 수단 및 체계"를 말합니다.
사람과 사람 사이에 '언어'를 통해서 우리는 생각과 의견을 전달할 수 있게되죠. 우리는 일상적으로 배우게 되지만, 언어는 다른 동물에게서 발견되지 않는 인간 고유의 것입니다. 보통 지역 / 민족 / 국가에 따라서 사용하는 언어는 다른데요. 각각의 언어는 규칙 / 말하는 방식 / 어순 / 문자가 서로 달라서 서로 호환되지 않습니다. 따라서, 우리는 한국어를 잘 사용해서 의사소통을 하고 있지만, 영어를 쓰는 사람에게 말을 하거나, 상대방의 말을 이해할 수 없으므로 힘들게 영어를 배워야 하는 현실에 있습니다.
아무튼, 뛰어난 인간은 컴퓨터라는 기계와 대화(!)하기 위해서 독특한 언어를 만들기도 했습니다. 여러분이 보시는 이 블로그 역시 그런 (프로그래밍) 언어의 산물이죠. 익히 들어온대로 원래 컴퓨터는 수많은 0과 1만을 받아들일 수 있습니다. 하지만 인간은 0과 1보다는 훨씬 복잡한 체계로 사고하고 있으며, 인간에게 있어서 0과 1로 무언가 이해할 수 있는 문장 체계를 만드는 것은 아주 힘든 일입니다. (간단히 9312를 이진수로 바꿔보세요)
이 어려움을 딛고 컴퓨터를 이해시킬 수 있는 방법은 뭐가 있을까요?
해답은 컴퓨터가 이해할 수 있는 0과 1로 변환하는 능력이 있으면서, 인간이 쉽게 이해할 수 있는 규칙으로 된 보다 '복잡한 언어'를 만드는 것입니다. 그리고 이런 일을 하는 언어들이 꽤 많이 있습니다. 물론 우리가 사용하는 언어만큼은 아니지만요. 흔히 프로그래밍 언어라고 부르는 언어들이죠.
그 많은 언어 중에서 파이썬(Python)이란 놈이 있습니다. 위키피디아에서 파이썬(Python)을 찾으면 이런 정보가 나오는군요.
파이썬(Python)은 1991년 프로그래머인 귀도 반 로섬(Guido van Rossum)이 발표한 고급 프로그래밍 언어로, 플랫폼 독립적이며 인터프리터식, 객체지향적, 동적 타이핑(dynamically typed) 대화형 언어이다. 파이썬이라는이름은 귀도가 좋아하는 코미디〈Monty Python's Flying Circus〉에서 따온 것이다.
뭐라고 하는건지... ㅡㅡ;; 코미디 프로그램(방송)에서 따왔다는 것과 1991년에 만들어졌다는 정보를 얻을 수 있을 뿐 무슨 말인지 솔직히 잘 이해가 안갑니다. 수많은 언어들은 그 나름의 장점을 가지고 있습니다. 그리고 그 장점을 십분 발휘해서 알맞는 분야에서 활용되기 있기 마련이죠. 예를 들면, 지금 20-30대 나이면서, 예전에 컴퓨터 학원을 다녔던 분들이면 기억하실지 모르는 BASIC이라는 언어는 그 이름답게 쉽고 간단한 문법이 장점이였습니다. 그래서 초보 입문용으로 사용됐던 것이죠. 또, 비슷한 시기에 배워보셨을 Fortran이란 언어는 수학계산에 강력한 힘을 발휘했었습니다.
이제 거의 모든 사람이 사용하는 인터넷. 인터넷의 시대가 오면서 '인터넷'에 강한 힘을 발휘하는 프로그래밍 언어가 생겨났습니다. 그리고 이제 소개시켜드릴 장고(Django)가 등장하게 됩니다. 장고는 프로그래밍 언어 그 자체는 아니고, 앞서 설명한 파이썬(Python)에 기반해서 작성된 웹 어플리케이션 프레임워크의 이름입니다. 간단히 말하면 웹에서 동작하는 프로그램(예를들어, 게시판/블로그 같은)을 개발하기 위해서 필요한 것들을 한데 모아놓은 꾸러미를 의미하고, 그걸 만드는데 파이썬(Python)이란 언어를 사용했습니다.
장고(Django)의 가장 큰 장점은 대부분의 장고 개발자들이 강조하듯 '쉽고 빠르다'는 것입니다.
다른 도구에 비해서 아주 빠르게 결과물(프로그램)을 생산할 수 있어서 무엇보다 프로토타입을 생성할 때 아주 유용할 것이고, 그보다 한발 더 나아가 서비스를 위한 개발을 진행함에 있어서도 생산성면에서 강력한 힘을 낸다고 합니다.
실제로 저희 회사(유저스토리랩)의 모든 서비스들도 이 장고(Django)에 기반해서 개발이 진행되고 있습니다.
기획-개발 초기 단계에서 제가 예상했던 것보다 훨씬 빠른 속도에 놀랐던 기억이 있는데요. 이를테면 어떤 페이지를 만든다고 할 때, 논의를 통해서 파워포인트 등으로 스토리보드를 그리는 작업을 진행하면, 이를 바탕으로 디자인과 개발을 진행하게 되는데요. 장고(Django)를 사용한 개발은 생산 속도가 아주 빨라서 파워포인트로 스토리보드를 그리는데 드는 시간보다 더 빠르게 프로그램 결과물을 만들곤 했습니다. 수정하기도 쉬워서 흔히 말하는 테스트가 중심이 되는 개발작업(Test-driven development)에 정말 보물같은 존재였는데요.
이번에 국내에 장고(Django)에 관한 책이 출판됐습니다. 사실 대부분의 사람에게 장고와 그 기반으로 돌아가는 파이썬도 낯선 언어지만, 지금까진 그걸 배우기 위해서 또 낯선 언어인 영어로 배워했으니 보급이 만만치 않았던 면이 있습니다. 이번 기회에 훨씬 많은 사람들이 장고에 빠져들 것 같군요.
특히, 이 책을 번역하신 분이 회사에서 개발자로 계시며, 진행중인 프로젝트를 모두 장고(Django)로 개발하는데 주도하셨던 Spike님이라 저희에게도 감격스럽습니다. 원서에 기준이 됐던 장고 버전이 번역 완료 후, 새로운 버전으로 변경된 탓에 탓에 다시 모든 코드를 가장 최신 버전환경에서 테스트하고, 수정하셨던 에피소드도 있었는데요.
장고(Django)를 통하면 보다 많은 사람이 '언어' 자체를 배우는데 시간을 소비하기 보다는 실제 목표인 '더 빠른 결과물'을 이뤄내는데 도움이 된다고 합니다. 물론 세상의 모든 일이 그러하듯 장고(Django)라는 프레임워크 또한 만능은 아닙니다. 문득, 얼마 전에 읽었던 '아웃라이어'라는 책이 생각나는군요.
한국인이 서양인에 비해서 수학이나 산수를 잘하는 이유에 관한 내용이였는데, 영어의 SEVEN(7), EIGHT(8)는 음절 자체가 긴데 반해 한국은 칠(7), 팔(8)로 아주 짧습니다. 그만큼 기억하기 쉽고, 암산으로 무언갈 계산하기 쉽다는 것이죠. 그렇다고 한국인이 모두 산수에 만능인건 아닐텐데요.
장고나 파이썬 또한 개발을 도와주는 아주 유용한 도구들이지만, 그걸 사용한다고 모두가 멋진 개발 결과물을 만들 수는 없습니다. 다만, Spike님의 말에 의하면 굳이 파이썬을 몰라도, 개발에 대해서 잘 모르더라도 큰 어려움 없이 배울 수 있을 정도로 쉽다고 하는군요.
저도 책이 세상에 나오면 뭘 하나 만들어봐야겠군요. 장고(Django) 만세!
Trackback
Trackback Address :: http://www.userstorylab.com/story/trackback/23
-
Subject : 유노의 생각
Tracked from yuno815's me2DAY 2009/04/08 16:25 del.내가 번역한 책은 아니지만, 유저스토리랩이라는 이름을 가지고 세상에 나가는 우리 회사 구성원의 첫번째 결과물. 장고 만쉐이~
-
Subject : 심지어(?) 기획자나 디자이너도 다룰 수 있는 웹 프로그래밍 개발 꾸러미, django(장고)
Tracked from 한날의 낙서 2009/04/08 22:18 del.웹 기획자나 디자이너도 조금만 노력을 들이면 웹 프로그래밍을 할 수 있는 개발 꾸러미가 있다. 내 생각엔 이 꾸러미가 디자이너들이 능숙하게 다루는 포토샵보다, HTML과 CSS로 만든 문서가...



Comments
만세~ ^^
장고 책이 점점 더 많아졌으면 좋겠어요 ^^
우와 놀랍군요 전 개발자가 아니지만 우연찮은 기회에 원서를 구하게되어 개발한번해볼까 하는 욕심이 생기더군요. 국내에 책이 발매된것과 유저스토리랩에 계신분이 번역하신 줄은 뫘습니다. 멋지군요!