Linux 버전의 PowerShell?

마이크로소프트에서 최근에 PowerShell 로 CMD 를 대체하려 한다는 뉴스와 함께, 마소가 PowerShell 을 Linux 로도 포팅했다는 소식이 소개되면서 PowerShell 과 유닉스 파이프에 대한 토론이 있었습니다.

그것에 대해 적었던 내용들을 포스팅 합니다.

유닉스 철학의 포인트들중 일부: 바이너리 헤이터, 텍스트 성애자. 그것도 플랫하고 멍청한(KISS) 텍스트를.

McIlroy, the head of the Bell Labs CSRC (Computing Sciences Research Center), and inventor of the Unix pipe, summarized the Unix philosophy as follows[1]:

This is the Unix philosophy: Write programs that do one thing and do it well. Write programs to work together. Write programs to handle text streams, because that is a universal interface.

약간 유사한 예가 아닐까 하는게, 우리가 매일 짜는 프로그램들을 예로, 프로그램은 신택스적으로 괴앵장히 구조화된 예술품이지만, 우리는 오직 플랫한 텍스트 파일로만 컴파일러와 대화를 하죠.

물론 다 좋은건 아니고, 이런 철학의 후유증으로 텍스트를 해킹질해야 하는 것도 유닉스 철학이라고 그들은 우기죠 주장하죠.

당연히 그럴만도 한게, 타입 없는 텍스트가 일반성은 가장 좋지만 타입 있는 객체가 훨씬 편할 때가 많죠. (그렇지 않으면 왜 타입을 발명했으랴)

그 체현중의 하나로 유닉스의 후계자로 기대받던 Plan9 는 타입 있는 객체를 지원 했던 것 같고, 이 아이디어가 그시대에 최초로 나왔던 것 같은데 출처를 못찾겠네요.

하지만 헤비한 쉘스크립트나 헤비한 펄 스크립트는 구시대의 일이고, 요즘은 뭐 조금만 복잡해지면 다 python (이나 ruby) 로 하죠.

Hacker News 에서 본 코멘트인데,

To me, it’s a matter of cultural differences. Think of it this way: a shell operates in two mode, script or interactive (the new fancy word now is REPL). How much time does your average PowerShell user spend in REPL mode?
In comparison, a Unix hacker spends all his time in the shell, even for doing the most trivial tasks. As you practice more and more, the shell becomes a favorite way to operate a computer.

즉 문화의 차이가 크다, 인거 같은데. 뭐 요즘은 마소가 Linux 를 사랑하는 격변의 시대이니, 구시대의 앙금과 사랑 다 중요하지 않고,

리눅스 버전의 PowerShell 이 유닉스문화에 새로운 바람을 불어넣을지가 오히려 더 기대되는군요 ^_^

References

[1] Doug McIlroy on Unix programming: https://en.wikipedia.org/wiki/Unix_philosophy#Doug_McIlroy_on_Unix_programming

Advertisements

댓글 남기기

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s