사이드바 영역으로 건너뛰기

Pragmatic Programmer와 Pragmatism에 대한 단상

대학교 3학년때였던 것 같습니다.

당시 저는 전산과 철학이라는 두 관심 영역을 식탐하던 때였습니다. 당시 저는 꽤 거창했는데.. 전산은 제 업을 위해, 철학은 사는 방법을 구하기 위해 공부하고 싶었습니다.

'전산이라는 분야에 철학적인 요소를 찾을 수 없을까?' 가끔 고민하곤 했는데 현대 사상에 대한 강의를 듣던 중 Pragmatism에 대한 사조를 배우게 되면서 이 질문의 답을 찾은 것 같은 느낌이 들었습니다.

Pragmatism은 그리스어인 'Pragma'에서 어원적인 개념을 도입하고 있으며 Pragma란 '행위'를 의미한다고 합니다.

이 사상은 개척시대 미국에서 발달됐는데.. 기존에 관념(Idea)적이고 형이상학적인 철학사조를 무의미하다고 여기고 행위(실용, 유용)적인 측면에서 철학적 사고를 진행해야 한다는 입장입니다.

즉, 관념이나 이론은 행위로 증명, 연관됐을 때 유의미하며, "관념의 대상이 행위와 관련이 있는 어떤 결과를 초래하느냐. - 그 관념이 어떤 성과를 나타내고, 유용한 것으로 현상화 됐을 때"에 따라 의미여부가 결정된다고 합니다. - "관념의 의미는 그 대상을 초래하는 결과에 있다." - 제임스

이를테면... 기존의 세계관에 비추어볼 때, 플라톤이 말하는 이데아 세계에서의 (추상적이고 관념적인) '의자'는 실세계에 전혀 의미가 없으며 실제 만지고 사용할 수 있는 (질료와 형상화된) 의자만이 의미가 있다는 입장입니다.

pragmatism의 대표적인 예는... 신이라고 하는 관념은 신을 믿음으로써 용기, 동기가 생기는 결과가 초래한다면 신이란 관념의 의미가 부여됍니다.

즉, "결과(혹은 유용성)가 관념을 규정한다."


이 사상은 미국에서 프론티어 정신과 함께 미국 개척을 이끄는 사상으로 적용되었으며.. 제가 이 사상을 프로그래머로서 가져야할 태도로 설정한 이유는 패턴이건 방법론이건 어떤 기술이건 그 이론(관념)이 유용함을 증명하기 위해선 이상적인 시스템을 구축함으로써 가능하다는 태도가 너무도 매력적이었기 때문입니다.

즉, 내가 만약 제일 이상적인 S/W를 만들었다면 내가 적용한 방법이 제일 유용하다.!! .........ㅋ

사실.. 제 기억의 편린으로 pragmatism이 잊혀질 즈음... objectworld 선배들과 술자리에서 우연히 (경원형으로 부터) 이 책의 이름에서 "pragmatic"이란 단어가 귀에 꼿혔을 때 이 책을 꼭 읽어야 겠다는 생각이 들었었고 곧바로 e-book을 구해서 탐독하기 시작했습니다. (그래서 경원님이 꼭 스터디를 함께하면 좋겠다는.. ^^)

사실.. Pragmatic Programmer가 Pragmatism을 적용한다고 하기엔 너무 거창하지만 (Pragmatic하지만 Pragmatism은 아닌 것 같은.. ^^)... Pragmatic Programmer는 다른 책과 다르게 몇 가지 기억이 묻어있는 책이 되었습니다... ^^



보태기 하나..!!

요즘.. 논어를 틈틈히 보고 있는데요... 교과서적인 얘기 같지만 이런 구절이 있습니다.

“배우고 시간날 때마다 그것을 실천에 옮긴다면 어찌 즐겁지 않겠는가?” 子曰: "學而時習之, 不亦說乎?"

공자가 말하는 '실천'이란 덕목도 Pragmatic과 연관이 있을 것 같습니다. 순수학문을 하지않는 우리에게 있어 배움이라던가 지식은 실천이 없으면 지적 허영이나 의미 없음에 지나지 않을 것 같기 때문입니다.
물론 (실천이 전제한) 다음 지식을 위한 선수과정으로서는 유의미하겠지만 말입니다.

또, 이런 말씀도 하십니다. (이건 학습법에 관한 얘기일 것 같은데요..)

"배우기만 하고 생각하지 않으면 헛것이고, 생각만 하고 배우지 않으면 위험하다."
子曰: "學而不思則罔, 思而不學則殆." (論語, 爲政)

어떤 학습을 할 때 수동적인 주입보단 타당성이라던가 정합성, 적용방안, 체계확립 등등의 '생각'들을 함께할 때 그 '배움'은 실제 자신의 내공으로 승화될 것입니다..


도덕책 같은 말이죠? ^^;;

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크