이럴수가, 왜 이걸 이제야 발견한거지?!
Monad: The Future of Windows Scripting.
c|net News.com인지 Slashdot Review의 며칠 지난 Podcast를 듣다가 Monad에 대해서 얼핏 듣게 되었고, 훌륭한 인터뷰 비디오를 찾아서 볼 수 있었다. Jeffrey가 셸을 사용하는 관리자들의 "automation"을 너무나도 멋지게 설명하는 바람에 완전히 몰입했다. 전통적인 셸 스크립팅이 온통 parsing에만 시간을 쏟게 만든다는 점에 크게 동감했다. Unix의 도구들이 왜 그토록 간단한 일만 하는 대신, pipe 따위로 composition을 통해서 사용하는 모델을 쓰는가에 대한 견해도 들어볼만 하다. msh는 text stream이 아닌 object stream으로 pipe를 만든다는 설명을 할 때, 예전에 분석결과 통계처리 시스템을 구현하면서, 재황이형이랑 셸처럼 생긴 strongly typed functional language를 만들면 좋겠다고 이야기를 나눴던 생각이 떠올랐다. 사실, 처음에 Monad란 이름을 보고는 FP에서 말하는 monad를 바탕으로 혹시 effect를 전부 값으로 다룰 수 있는 셸인가 기대하면서 지켜봤는데, 별로 심각한 프로그래밍 언어 이론들에 바탕을 두지는 않은 것 같았다. 그냥 GUI와 CLI 등의 구별 없이 모든 일을 "하나"로 다 할 수 있게 한다는 의미에서 "Monad"란 이름을 붙인 것 같다.
Monad가 소개된지 1년도 넘었다는 사실을 보면서 경악을 금치 않을 수 없었다. Slashdot만 계속 보고 있었으면 작년에 이미 알 수 있었을텐데.. 요즘엔 PowerShell이라고 불리는 것 같기도 하고, Microsoft에 Script Center란 곳도 있구나. 물론 MS를 비웃는 이야기들도 있지만.
아무튼 윈도우즈도 드디어 좀 쓸만한 껍데기를 갖게 될 모양이다. 물론 Vista에 들어가냐마냐로 떠들썩한 것 같긴 하지만. .net 기반이라하니 mono project에서도 그대로 쓸 수 있을지도 모르겠다. 근데 얼핏 syntax만 살펴보기에는 너무 복잡한 것 같기도 하고.
Scheme shell이라든지 Perl shell 등도 살펴보면서 셸 프로그래밍의 미래에 대해서 좀 생각해봐야겠다.

daybreaker
pcpenpal
netj
DBMwS