나의 첫 Ruby 사용기
2008/04/06 01:58 3일 전부터, 등하교길에 大山님의 웹 개발 2.0 루비 온 레일스를 읽기 시작했습니다. 그런데, 학교에서 Tokenizing하는 과제를 하나 던져주더군요. 한 줄을 읽어서, 예약어, 변수명, 숫자, 연산자 등등으로 쪼개어 화면에 찍어주는 간단한 과제입니다.
이래저래 몇번 해본 내용이고, 다른 과목에서도 비슷한 걸 해서, "또?!"하고 생각했었습니다만, 과목이 프로그래밍언어라서 그런지 교수님께서 떡밥을 던져주시더군요. "언어는 아무거나 써도 되요." 오오. 코딩하는 과제에 있어서 이보다 매력적인 조건이 또 뭐가 있겠어요? C++을 쓰면 훨~씬 편한데, 오직 C언어로만 하라는 다른 과목의 교수님은 정말 미웠다고요. -_-
게다가, 교수님께 따로 물어보니, 꼭 유한상태기계 방식으로 하진 않아도 된다고 하시길래, 루비에서 정규표현식으로 샤샤샥~해서 매우 짧은 코드를 만들기로 했습니다.
루비로 코딩을 해보는 것은 처음이었습니다만.. 곡괭이책(책버전/웹버전)을 뒤적여가면서 코드를 작성해나가는데, 이야아.. 자질구레한 것을 다 지원해주는 것이 참 마음에 들더군요. 처음 써보는 언어라서 라인수에 비해 굉장히 오래 걸리긴 했습니다만, C/C++로 했으면 150줄은 넘었을텐데, 처음 써 본 루비로 30줄로 끝내버려서 조금은 뿌듯합니다. (걸린 시간만 보면 500줄은 쓴 기분입니다만. -_-)
이런 말랑말랑한 언어들을 쓰다보면, 이렇게 문법이 유연한 native 언어도 있었으면 좋겠다는 생각을 자주 합니다. Haskell처럼 Script이면서 강타입인 언어가 있으면, native 컴파일 언어이면서 Duck타입인 언어도 있어야 하지 않겠어요? native로 컴파일 되면서, 말랑말랑한 뭐 그런 언어 없을까요? 뭐, py2exe 같은 것은 논외로 하고요.
-- Jong10
Trackback URL : http://www.jong10.com/trackback/241
-
저도 그런 스크립트 있었으면 합니다..
-
Perl 6나 Boo에 대해서 알아보세요. 생각해보니 Boo는 네이티브 컴파일은 안되는군요;
-
아. Perl 6도 그러고보니 네이티브 컴파일이 아니라 Parrot VM 위에서 돌아가는 바이트코드만 뱉는 거였네요. (ㅈㅅ)
-
루비도 gem에 ruby2exe이란게 있긴 하더군요. rubyscript2exe이란 것도 있는 것 같고.. (같은건가?)
다만, 이런 비공식 네이티브 컴파일러들은 공식 언어의 버전을 못따라가서 쫌.. ㅋ


