Ruby를 활용한 DSL(Domain Specific Language) 구축의 힘
Ruby는 내부 DSL과 외부 DSL의 경계를 허물 정도로 DSL 구축에 탁월하며, 유연한 문법과 강력한 기능(eval, 바인딩, 후위 조건문 등)을 제공합니다.
Ruby를 활용한 DSL(Domain Specific Language) 구축의 힘
Ruby는 내부 DSL과 외부 DSL의 경계를 허물 정도로 DSL 구축에 탁월하며, 유연한 문법과 강력한 기능(eval, 바인딩, 후위 조건문 등)을 제공합니다.
제네릭 및 메타프로그래밍 모델 탐구: Go, Rust, Swift, D 그리고 그 이상
제네릭은 다양한 타입의 요소를 처리하는 코드 작성 문제를 해결하며, 이를 위한 두 가지 주요 접근 방식은 '박싱(Boxing)'과 '모노모피즘(Monomorphization)'입니다.
Advent of Eternal Champions I: Ruby 메타프로그래밍을 활용한 창의적 퍼즐 해결
Ruby의 const_missing 후크를 활용하여 정의되지 않은 상수를 동적으로 캡처하고 퍼즐의 입력 데이터를 처리하는 고급 메타프로그래밍 기법을 제시합니다.
Ruby와 Lisp: Lisp의 정신이 Ruby에 미친 영향
Lisp의 핵심 철학인 '코드는 데이터'와 '표현식 중심 사고'는 Ruby의 유연한 메타프로그래밍 및 DSL 구축 능력에 깊은 영향을 주었습니다.
Ruby와 Lisp: 루비가 계승한 리스프의 철학과 유연성
루비의 창시자 마츠는 루비가 Perl, Smalltalk뿐만 아니라 Lisp의 영향을 받았음을 인정했으며, 특히 코드를 유연하게 조작하고 확장하는 리스프의 철학적 가치를 핵심적으로 수용했습니다.
프로그래밍 Ruby 4 (6판): 실용주의 프로그래머 가이드
Ruby 4의 최신 기능을 반영한 '프로그래밍 Ruby' 6판은 Matz의 언어를 배우고 Ruby의 발전에 발맞추기 위한 종합 가이드입니다.
엘로퀀트 루비, 제2판
Ruby 언어에 대한 깊이 있는 이해와 숙련된 프로그래머처럼 사고하는 방식을 통해 더 명확하고 효율적인 Ruby 코드를 작성하는 방법을 제시합니다.
Lisp이 Ruby에 남긴 유산: 함수형 철학의 현대적 재해석
Ruby의 핵심 기능인 블록, 클로저, 심볼 등은 Lisp의 함수형 프로그래밍 개념을 현대적이고 친숙한 구문으로 재구성한 결과다.
#metaprogramming
https://ruby-news.dev/articles/lisp-s-influence-on-ruby
Lisp이 Ruby에 남긴 유산: 함수형 철학의 현대적 재해석
Ruby의 핵심 기능인 블록, 클로저, 심볼 등은 Lisp의 함수형 프로그래밍 개념을 현대적이고 친숙한 구문으로 재구성한 결과물이다.