2010년 2월 28일 일요일

Method Chaining

메소드가 자신(this)을 리턴하여 메소드에 메소드를 연결하며 호출할 수 있게하는 기법의 정확한 이름은 Method Chaining이다(http://martinfowler.com/dslwip/MethodChaining.html). 이전 포스트에서 DML-style operations라고 표현해도 되나 의문을 가졌었는데 잘못된 것이다. Java 7에서는 이 기법이 아주 이디엄이 돼버렸는데 Chained Invocation으로 불린다.

 

소트웍스 앤솔러지를 보면 이와 비슷한 방법으로 마틴 파울러가 ruby 위에서 DSL을 구축해 나가는 과정의 글이 나온다. method chaining을 사용하여 문제영역을 표현하는 방법을 보이는데 언어위에서 DSL을 구축하는 방법으로 쓰이는 것이다(물론 ruby라는 동적 언어의 장점을 사용하여 DSL을 구축하는 방법이 추가되어 있다). 병특 시절 실용주의 프로그래머를 보면서 DSL에 매력을 느꼈었다. 그런데 좋긴 좋은데 언어 위에 다른 언어를 만들어 낸다는 내용을 읽으며 뭔소린가 하던 기억이 난다. 그리고 대신 Lex & yacc 펼쳤다는 ㅎ.

 

묵혀둔 질문 몇 개가 한 번에 해결됐다.

GUI 한 번 하려다가.

인터넷에서 찾아보고 결론은 shoes 괜찮아 보인다였다. 그러나 모든 사이트가 열리지 않자 이것 저것 찾아본 결과 shoes를 제작한 _why가 활동을 접었다는 내용을 찾았다. 이미 오래된 이야기였다.

 

On 19 August 2009, his online presence was drastically truncated; his accounts on Twitter and GitHub were shut down, along with many of his personally maintained sites. His projects have since been collected and centralized on the whymirror GitHub account. -- [출처 : 위키피디아]

 

 

_why가 트위터를 지우기 전에 마지막으로 작성했다던 내용

 

If you want your programming to be remembered, make a game.
Everything else you write will be obsolete in a year, and won't run on available systems in two or three.
Yet people spend huge amounts of energy on systems to keep games alive.
 
programming is rather thankless.
you see your works become replaced by superior works in a year.
unable to run at all in a few more. -- [출처 : kldp]

 

결국 Tcl/Tk 를 깔고 쓰고있긴 한데 씁쓸하다.

어머 5등

 

깜짝이야.

2010년 2월 16일 화요일