2007년 06월 28일
아주 오랜만에 일 관련 포스팅 - 루비나 펄이냐
우리 회사는 두 파로 쫘악 갈려져 있었다. 생긴 것도 비슷하고 말 하는 것도 비슷하나 성격은 양극인 폴과 오스카씨가 각각 두목격이었는데.
공통점을 대자면:
- 둘 다 둥글둥글한 스타일이다. 키도 좀 작고 어깨 넓고 배 좀 나왔고 다리 엄청 굵은, 좀 씨름선수 스타일
- 둘 다 서른에도 금발이다. (백인들은 연한 금발로 보통 태어나서 나이를 먹으며 머리색깔이 검어진다. 지금은 완전히 흑발인 양파 신랑님도 여섯 살 까지는 금발이었다 -_-a 희한한 것들)
- 둘 다 눈이 파랗고 볼이 분홍빛이라 자이언트 사이즈 베이비 같다.
- 둘 다 두꺼운 스웨터 몇 개와 티셔츠 몇 개, 청바지 몇 개로 버틴다 (이건 컴공들 다 그런가;; )
- 둘 다 차분차분 조근조근 말 하는 스탈이다.
그런데 일 방식으로 들어가면 둘은 정말 천지차이다.
오스카:
-_-a
오스카를 아는 이들은 다 그를 괴물이라 칭한다. 이유가 있다. 한참 잘 나갈 때에는 열여덟시간 스트레이트 코딩하고 책상에 잠시 엎드려 잤다가 커피 한 잔 마시고 또 열여덟시간 스트레이트 코딩 마라톤 뛰는 인간이었다. 여친 생기고 나서는 '퇴근'이 무엇인지 발견했다 -_-; 요즘에는 주말중 사무실에 안 들어와 있어도 수전증이 그리 심하진 않단다.
일 속도가 엄청나기 때문에 남한테 일을 못 맡긴다. 저녁까지 일하고 빠이빠이 퇴근했더니 그 다음날 아침에 시스템을 완전히 뒤집어 놓았다는 보고가 손발가락 다 합친 것보다 많았다. 누구한테 설명하느니 그냥 내가 다 끝내지 하는 스타일인데.
그만큼 _설계_란 개념이 좀 덜하다. 하루 종일 생각하면 정말 오래 한 거다. 뭐 홀린 사람처럼 인터넷 뒤져서 정보를 찾아내어 우선 도전해 본다. 안 되면 될때까지 패서 되게 한다. 코드 예쁘고 지랄이고 그런 거 필요 없다. 요구 사항대로 하면 되는 거다.
오스카는 혈혈단신으로 은행 패키지를 개발해서 지금까지 개발 관리 운영 보수 유지까지 혼자 다 한다 -_-a 우리 회사에서 수익성으로만 치면 걔 혼자 버는게 스무명 버는 거보다 더 할 거다. 대신 그 엄청난 은행 패키지는.....
단지 30개의 cgi 파일이라는 무서운 사실. 얼마나 긴지는 묻지 마라. CGI 파일 서른개. 템플릿 파일 서른개. 그 외에 stored proc 수백개가 그 시스템 전부다. 미적 감각이란 건 개나 주라고 해라. 제대로 정보 처리만 하면 되는 거다. (사실 오스카는 색맹이란 걸 모두다 너무 늦게 깨달았다 =_=) 오스카와 같이 일하는 데이브씨는 그나마 고등학교 동창이니까 그만큼 오래 버텼다. 그 팀에는 사람 더하려 해도 못 더한다. 시스템을 완벽하게 이해하고 알고 있는 오스카씨와 그런 오스카씨 옆에서 삶의 더러운 면을 뼈저리게 겪으며 겨우 살아남은 데이브씨만 있을 뿐이다. 괜히 얼쩡거리다가 벼락맞는 수가 있다.
폴:
폴. 옷 입는 것만 보면 컴공인데 하는 짓은 완전 게이다. 이 아저씨 청소 강박증 있다. 종이 위에 선 하나 그려도 자 찾기 전엔 안 긋는다. 책상은 먼지 한 점 없이 깨끗하며 차 역시 당장 가지고 모터쇼 나가도 될 만큼 깨끗하다. 집 공사 할 때 시공업자들이 몇이나 gg 치고 나가게 만들었다는 전설의 인간이다. 뭐 하나도 똑바로, 제대로, 그리고 우아하게 해야 한다. 코딩 할 때도 이 아저씨 '우선 되는지 안 되는지 대충' 이딴 거 절대 못 한다. 파일 시스템을 어떻게 할 건지, 무슨 이름으로 저장할 건지, 체인지 컨트롤은 어떻게 할 건지 먼저 계획을 해 놓아야 새로운 문서를 작성할 수 있는 분이다. 보통 한 달 동안 열심히 머리속에서 설계만 하고 두달 째 되는 날 첫날부터 코딩 시작하여 2주 후면 너무나도 예쁜 다이어그램으로 표현되는 시스템을 완성해서 내놓는다. 그리고는 그 다음 달부터 마음에 안 드는 지저분한 부분 고치느라고 바쁘다. 원래 자바 프로그래머였는데 (이 성격에 펄 프로그래머로 시작했을리가 없다) 펄을 해야 하게 되면서 이 아저씨 곧바로 자바 스트러츠를 펄로 쓰는 작업에 돌입했다 (...-_) 그렇게 만들어진 것이 우리 회사 내에서 쓰고 있는 프레임워크. 펄 언어를 얼마나 자바스럽게 만들 수 있는지 증명한 인간승리라고나 할까.
오스카. 색맹이다. 디자인 같은 거는 개나 주라고 하는 인간이다. 폴. 인터페이스가 정갈하지 않으면 일을 못한다.
오스카. 일이 밀렸으면 무조건 패기 시작한다. 폴. 일을 시작하기 전에 어떻게 처리할 것인지 머리에 쭉 리스트 되지 않음 키보드 건드리지도 않는다.
오스카. 돈 되는 것부터 먼저 한다. 폴. 일은 '제대로' 해야 한다고 믿는다. 돈은 2차적 문제다.
지금 현재 오스카 팀은 둘인데 폴 팀 열명이 버는 것보다 더 잘 번다. -_-a 그러나 오스카 팀은 오스카일 뿐이고, 오스카가 아니라면 스무명 투입해도 처리 안 될 거다. 폴 팀은 열 명이지만 인원 바꾸고 돌리는 것이 가능하다.
그러나 아무래도 사내 자체의 프레임워크는 문제가 있다고 결론을 내린 바, 루비로 바꿀까 하고 있는데, 두 주 전부터 폴 팀 다섯과 오스카까지 여섯이 루비로 현재 회사 시스템을 짜보는 실험중이다.
그런데 마른 하늘에 날벼락 떨어지는 일이 생겼다.
오스카랑 폴이 동의한다 ㅡ0ㅡ 루비로 가자! 아자아자 가자....라고 외친다. 이런 천지개벽할 일이.
오스카와 폴 저리가라 할 정도로 깐깐한, 속에 뭐가 들었는지 아무도 모르는 마이클씨가 반기를 들었다. 마이클 씨는 참 희한한 카리스마가 있다. 생긴 것도 하는 짓도 상당히 털털해 보이고 농담 가득한데 이상하게 감히 범점할 수 없는 오오라 ㅡㅡa (사이비 종교 교주 같은 면인가?) 아마도 회사 통틀어 제일 똑똑한 사람일 텐데 - 오스카나 폴도 만만하진 않다 - 내 죽기 전엔 볼 수 없으리라 믿었던 오스카-폴 연합 전선에 마이클이 브레이크 걸고 있다. 루비, 정말 performance 로 모드펄을 이길 수 있을까인데.
그런 _의심/도전_을 받았는데 오스카가 가만 있을리 없지. 오늘 아침 정전 된 동안 잠깐 얘기하더니 열두시도 되기 전에 오퍼레이션 팀에서 서버 네 개 뽑아왔다 =_= 오스카 사전에 미루기란 없다. 오스카가 서버 설치하고 난리치는 동안 폴씨는 바로 서버 용량이랑 프로세서 계산에 들어갔다. 마이클에 따르면 현재 모드펄 수준으로 루비 서버를 돌리려면 서버 용량을 여덟배로 늘려야 할 거란다. 세 명 태어난 날은 다르고 (..) 성격 역시 다를지 몰라도 한 가지의 공통점은 있다. __충동적 정보 수집증__. 누군가 질문을 했는데 대답 못하면 무조건 찾아봐야 성이 풀린다.
오늘 오후, 오스카는 서버 세팅에 분주했고 폴은 한 구석에 앉아서 벽 바라보고 있고 마이클은 인상 퍽퍽 그리면서 서버 괴롭힐 구상하며 사무실 화이트 보드에 괴기스러운 그림을 그려대고 있다. (먼 뜻인지 며느리도 모른다.)
마이클 승이면 펄로 쭉 나간다.
오스카+폴 승이면 루비온레일즈로 바꾼다.
옆에서 계약직 CEO 랑 PM, 세일즈 팀 - 유태인 팀 - 은 불안하게 쳐다보고 있다. 돈 되야 할 텐데 말이다.
그 뒤에서 개발자들은 반반으로 쭉 갈려서 응원중이다. 신랑님은 루비 못 믿는다 편이고 나 역시 좀 그랬으나 오늘 폴한테 교육 받고 루비 지지로 맘 바꿨다. 신랑님 배신감에 부르르 떤다.
예전에 치고 받고 싸울 땐 몰랐는데, 오스카랑 폴, 비슷하게 생긴 두 사람이 나란히 서서 얘기하는 거 보니까 되게 웃기다. 갓난애 얼굴 둥그스럼한 몸매의 오똑이 두마리;; 그리고 마이클씨 조용히 짱박혀서 코딩할 때도 다크 포스가 폴폴 풍기더니 앞에 서서 2:1로 싸우는 거 보니까 진짜 사이비 교주 시켜주고 싶다. 하기야 신랑님도 나랑 놀아줄 땐 정신연령 다섯살로 보여도 미팅할 때 보면 정중하지만 싸가지 없게 팍 잘라버리는 거 잘 해서 무섭더만.
(난 역시 루비냐 펄이냐 논란보다 쌈질 구경이 더 재밌었던 거샤; IT 밸리에 올릴까 했는데 기술적인 내용은 하나도 없군. 헉.)
말했다시피 어제까지만 해도 난 펄 신도였으나 예쁘고 깨끗하고 간결하고 Ajax 기본으로 장착되어 있는 루비를 폴 씨가 정성스레 보여주시는 바람에 넘어갔다. 개발일 때려쳤는데 갑자기 코딩하고 싶어질 정도로.
루비 쓰시는 분들, 루비 온 레일즈 performance 는 괜찮나요? 큰 프로젝트에 써도 상관 없나요? 데이터베이스 처리 많이 하는
프로젝트 써보신 분들 있음...;;
# by | 2007/06/28 04:26 | work - IT | 트랙백(1) | 핑백(1) | 덧글(23)








☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
제목 : 어떤 언어가 좋을까? - 스크립트 언어
요즘 루비건 파이썬이건 이래저래 이야기가 많다. 루비는 Ruby on Rails 라는 걸출한 프레임웍 덕분에 한창 뜨는 언어이고, 자 웹에서 사용되는 고전적인 스크립트 언어인 PHP를 두고 보자 이녀석을 웹에 붙였을때는 상당히 빠르게 작동하며, 리소스 사용량도 그다지 크지 않다. 캐슁 모듈을 덧붙였을경우에는 상당히 경이적인 속도를 자랑한다. 거기다 APM이라는 사실상 표준적인 구성과 C와 비슷한 스타일의 문법은 프로그래머의 진입장벽도 확 낮춰주......more
... 루비냐 펄이냐 오늘 오후 두시에서 네시까지 걸친 루비 프레젠테이션 폴의 꼼꼼하고 정성스런 조사결과 및 눈돌아가게 하는 데모와 오스카의 칼쓰마 가득한 연설에 사이비 교주 마이 ... more
그거 참....
후기가 기대 되네요.
몇몇 서비스들은 루비온레일즈로 개발되기는 한데, 말씀하시는 것처럼 큰 프로젝트에서 사용한 사례는
아직까지 한국에서는 없는 것 같아요.
근데 생산성은 루비가 훨씬 나을겁니다. 오스카+폴이 아마 찬성표를 던졌던게 그런거 아닐까요. 뭐 그게 차이가 꽤나긴 하지만, 얼마나 언어에 최적화 시켰냐도 차이가 분명 나다 보니 어떤 스타일로 코드를 쓰느냐도 중요해서 일반적인 비교는 쉽지 않을것 같네요.
http://shootout.alioth.debian.org/gp4sandbox/benchmark.php?test=all&lang=perl&lang2=ruby
요건 젠투에서 루비랑 펄이랑 배틀 붙인건데, 루비보다 펄이 빠르긴 합니다. 저도 알고리즘 공부할때 그런 부분을 봤구요..
근데 펄의 문제점은 아무래도 코드가 요즘 언어들(?)에 비해서 드러운(?) 경향이 있다 보니(뭐 사실은 이것도 오해가 다분한게 정규식이 다른언어에 비해 좀 난무하는 경향이 있다 보니..).. 펄 6.0은 나아진다는 이야기가 간간히 들리지만, 지금까지 이야기로는 그것도 그닥 믿기가 어렵네요.
그리고 펄이나 이런거 보다 루비나 파이썬같은 온라인 커맨드 인터프리터가 있는 언어는 디버깅이나, 프로그래밍이 옛날에 비해서 엄청 쉽습니다. 이것도 무시못할 요인중 하나죠.
근데 차라리 파이썬이 펄이랑 비교했을때 비슷하거나, 요즘엔 더 빠릅니다. 그리고 파이썬도 컴파일이 가능한넘이 있다 보니, 아무래도 속도가 좀더 낫죠. 그냥 파이썬으로 옮기는게 어떨까요? 문법도 간단하고, 라이브러리도 펄에 비하면 좀 적지만 그래도 꽤 되다보니.. 뭐 웹프레임웍이야 조프건 드장고건 있으니 (뭐 아작스가 레일즈만큼은 안되는거 같습니다만)
근데 유지보수라는 패러미터가 들어가면 퍼포먼스도 퍼포먼스지만, 결론은 보수가 쉬우면 장땡입니다. 퍼포먼스는 아주 키리티컬하지 않은이상 부차적인 문제가 되더군요.
근데 루비가 파이썬보단 좀 소스가 드러워지는 경향(?)이 있는듯 합니다. 파이썬은 너무 정적이고 교조적인(?) 스타일이 있다 보니, 딱딱한 느낌이 있어서 보기가 편한데(?) 루비는 하고싶은건 다 추가한다(?) 라는 느낌에 가까워서 프로그래머가 장난칠 여지가 많아 보이더군요. 어차피 생산성은 둘다 비슷하지 않을까요? 요즘 언어의 성격이 그런데..
두 사람 타입 이야긴 줄 알았습니다. 한 사람은 단단하고 불같고 화르르 타는 루비 같은 사람, 다른 한 사람은 상처 잘 받고 은은하고 동글동글한 진주 같은 사람......뭐 이런 이야기. -_-
역시 컴공들의 언어는 지구어가 아니군요. (아...소외감) ㅠ.ㅠ
대표적인게 Catalyst(http://www.catalystframework.org/), Jifty (http://jifty.org/) 등등
심지어 Ruby의 탄생지인 일본도 Perl이 득세를 하고 있으며 일본에서 만들어진 Perl Web framework도
Egg( http://egg.bomcity.com/ ), Tripletail ( http://tripletail.jp/ ) 등 여러개 있습니다.
Perl이 가독성이 떨어진다 코드가 더럽다 이런건 다른 언어의 열성 전도자들이 주로 사용하는 약간의 편견을 포함한 말인것 같습니다.
http://kldp.org/node/74080#comment-347790 의 글을 참고로 하세요.
Perl은 한물간 언어가 아닙니다. 세계적인 투자은행 모건스텐리에서도 기간언어로 사용하고 전세계적으로 사용자 층도
그들이 나서고 나대지 않을뿐이지 여타 스크립트 언어들에 비해서 훨씬 많습니다.
하늘꽃+frogshoe// 네네 마이크로 렌딩 패키지라 한국 은행 생각하시면 안 될 거에요 ㅋㅋ
하츠네//에이 잘 하시겠죠 ㅎㅎ
EDiLL+nansunho// 재미있게 읽어주셔서 감사 =)
백승우// 그런 거였나요 ㅎㅎ
민서대디// 아직도 싸움은 이어지고 있습니다 =_= 작은 프로젝트만 루비로 해보자는 쪽으로 해결 날 것 같아요.
ziozzang// 펄이 빠르죠. 그런데 코딩은 님 말씀대로 루비가 빠를 것 같아요. 그리고 펄 6.0 은 정말 나온다 나온다 하면서 거의 활동 중지 상태고요. 쩝.
마르슬랭// ㅎㅎ 근데 진짜 글케 생겼어.
카시아파// 아하하하. 프로그래밍 언어 이름이에요 ㅋㅋ
시퍼렁어// =)
엔드로// 그게 문제죠 -_-;
aero// 네 저희 회사 거의 골수 펄 프로그래머들이라 catalyst, mason 다 해 봤는데 아무래도 펄 6.0 폼새를 보아할 때 차라리 루비로 바꾸는 것이 낫지 않을까 하는 사람들이 생긴 거죠. 아직 회사 반은 골수 펄 신도들이에요 =)
얼마전에 있었던 ROR 컨퍼런스 글을 읽어보니 그에 대한 것도 이제 준비가 돼 있는 것 같아요.
그나저나 자바 하시던 분이 펄을 배우면서 바로 스트러츠를 펄로 포팅하다니.
남아공에는 괴물 개발자들만 계시나요?
루비나 파이썬이나 다 훌륭한 언어들이니 역시 나머지 부분은 개인의 선호도와 역량과, 철학의 문제겠군요. 그외의 이유들은 결국 다 갖다 붙이는 것이 아닌가 싶습니다. (사실 펄이 지겨운데 루비가 해보고 싶다던가... 파이썬이 가독성이 좋으니까라던가... :-)
패키지의 서버배치에 까지 염두해준 디자인이 필요하므로 논외로 하고,..
모드루비는 모드펄이나 모드피와이에 비해 구현이 상당부분 뒤처저 있지만 그래도
루비에 YARV(바이트코드 인터프리터)가 충분히 병합되어지면 모드펄 이상의 충분한 성능이 예상됩니다.
개인적인 생각으론 언어적인 이유가 아닌 시스템적인 이유로
아직까지는 루비를 다른곳도 아닌 은행업무에 까지 도입한다는 것엔 무조건 반대입니다.
펄은 자유스러우면서도 내재된 엄한 규칙이 있지만 루비는 규칙마저 코더에게 일정부분 양허되어 있어
코더가 맘을 잘못 먹으믄 유지 관리에 엄청난 애를 먹을 수도 있지요.
이런 이유로 펄에게 오스카가 필요하다면 루비에겐 폴이 필요하지 않을까 생각되네요.
루비로 블로그 15분이면 만드는 스크린 캐스트가 있죠? 그런식이면 펄과 카탈리스트로는 5분이면 똑같이 다 만듭니다.
http://www.perl.com/pub/a/2005/06/02/catalyst.html?page=2
Ajax까지 사용한 wiki를 만드는 내용입니다.
그리고, 맨날 나오는 얘기가 코드가 지저분하다인데, 그게 왜 단점만 되는지 모르겠습니다.
무슨 코드로 아트를 추구하는 컨테스트가 아니라면 당장 코드모양새에 신경안쓰고 개발속도만 빨리나와서 결과가 나온다면 장점 아닐까 합니다.
그리고 나중에 시간이 여유가 있음 그때 좀 다듬고 이쁘게 만들면 되는거 아닌가요?
요즘 그래서 리팩토링이니 뭐니 하는거 아닌가 합니다.
펄이고 루비이고간에 어차피 계속 코드는 다듬어가야되는 시간은 비슷할건데..
처음부터 어떻게 완벽한 코드를 작성하고 결과를 바랄수 있는 경우는 없죠.
keedi// 펄 전문가들이라 생각하는 것도 비슷할 듯 한데 또 그건 아니더라고요. 자바 바람과 C# 바람, 파이썬 바람이 불 때에도 저희 회산 무풍지대였는데 갑자기 루비 때문에 시끌시끌. :)
허달수// 좋은 생각인 것 같습니다 =) 신랑님도 비슷한 이유로 결사 반대중인데 어떻게 될지는 ㅡㅡ
김민수// 네, 저희도 카탈리스트로 갈까 해서 많이 알아봤었는데 결국 저희가 직접 만든 프레임워크보다 못하다에 결론을 내렸었어요.
사실 코드가 지저분하다가 문제가 아니라, 저희가 원하는 프레임워크 기능이 펄 기반으로 한 패키지에는 잘 없고, 사내 프레임워크로 밀고 나가려면 폴이 몇 달 아예 일을 쉬고 프레임워크 업데만 해야 하고, 펄 6 은 아직 소식이 없고 하니까 유지 보수하기 쉬울 듯 한 루비 쪽으로 생각해 보자~ 하는 거죠.
말씀드렸다시피 펄의 자바화에 성공하신 폴이기 때문에 (...-_-) 코드는 전혀 지저분하지 않아요. 대신 리팩터를 너무나게 심각하게 하는 바람에 인풋 박스 하나 넣는 데에 파일 열세개를 IDE 없이 수작업 해야 한다는 그런 슬픈 사실이. (그래도 코드는 엄청 이뻐요 -_- 자바보다도;;)
의견 감사드립니다 =)
한번 보고 싶어요~~ 터프가이!!
사실 펄 개발자들이 루비에 많이 끌리는 경향이 있는데, 흡사한 면이 많기 때문이겠죠.
문법이나 구조적으로 펄보다 루비가 좀 더 정돈된 경향이 있어서 루비가 좋긴하지만,
RoR 을 사용한다면 절대 반대할 것 같습니다. ^^
단순 SI 가 아닌 이상 프레임웍(직접 개발한 것이 아닌)에 의존하는 것은 좋지 않다고 생각하거든요.