DSL in Ruby
루비스러운 코드에서 이런 말을 했다.
도에인 언어를 만들겠다고 시작하는 것이 아니라, 루비스러움을 추구하다보니 최종 결과물이 도메인 언어처럼 보이는 것이다.
이는 내가 주장하는 말은 아니고, Jamis Buck을 비롯한 루비 커뮤니티의 영향을 받은 것이었다. 오늘 비슷한 언급을 찾았다. 아래는 Obie Fernandez가 Agile DSL Development in Ruby에서 Jamis Buck
의 말을 인용한 것이다.

루비의 문법, 구체적으로는 심볼, 블록, 모듈, 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)