Header

  1. View current page

    딥뿔이 자라나는 노트

Profile_image?t=1225424611&type=big
나를 바꾼 똑똑한 생활 습관, 스프링노트 - 여러분도 지금 시작해보세요!
71

DSL in Ruby

루비스러운 코드에서 이런 말을 했다.

 

도에인 언어를 만들겠다고 시작하는 것이 아니라, 루비스러움을 추구하다보니 최종 결과물이 도메인 언어처럼 보이는 것이다.

 

이는 내가 주장하는 말은 아니고, Jamis Buck을 비롯한 루비 커뮤니티의 영향을 받은 것이었다. 오늘 비슷한 언급을 찾았다. 아래는 Obie FernandezAgile DSL Development in Ruby에서 Jamis Buck

의 말을 인용한 것이다.

 

89/262824606_aa3f5777e3.jpg

 

루비의 문법, 구체적으로는 심볼, 블록, 모듈, eval 류의 메서드, define_method, alias_method, Module#included, Class#inherited 등의 기능이 루비 코드를 자연스럽게 'DSL'로 인도한다는 것이다.

 

그리고 레일스가 잘 만들어서 DSL이 되어버린 가장 유명한 예이다. 하지만, 레일스 코드처럼 읽기 편한 프로그램을 만드는 일은 쉽지만은 않다. 읽는 것과 쓰는 것은 완전히 다른 일일 것이다. 루비 메타 프로그래밍이 '5분만에 블로그 만들기'처럼 만만하지많은 않다. 연습이 필요하다.

 

 

History

Last edited on 09/04/2007 15:16 by deepblue

Comments (0)

You must log in to leave a comment. Please sign in.