본문 바로가기
Homo Ware

편향과 지향

by javauser 2008. 12. 9.
요새같이 편향이라는 단어가 그 어느때보다도 사회적인 이슈가 된 적이 없는 것 같다. 편향이란 말 그대로 한쪽으로 치우침을 뜻한다. 영어로 표현하자면 'toward' 정도로 될 것이다. 즉, 편향은 한쪽의 시각만을 가진 상태를 의미하는 것이다. 반면에 '지향' 이라는 단어는 목표이나 목적이 있는 상태로 바라고자 하는 상태를 의미하게 된다. 영어로 표현하자면 'forward' 정도가 될 것이다. 현재는 바라는 상태가 아니지만, 그러한 상태가 되도록 현재 상태에서 개선하고자 하는 노력이 포함되었다고 볼 수 있다. 어찌되었든 간에 이 두가지 단어는 바라보고자 하는 사람의 사상이나 철학을 표현하는 방법으로도 사용되기도 한다.

소프트웨어에서는 '절차 지향', '객체 지향', '서비스 지향' 이라는 단어들이 있다. 혹은 '절차 중심', '객체 중심', '서비스 중심' 이라는 단어들로도 같이 사용된다. 어쩌면 소프트웨어에서는 편향이라는 단어와 지향이라는 단어가 공존하는 개념이라고 볼 수 있다. 또한, 이러한 단어들이 존재하는 곳에는 소프트웨어에 대한 사상이나 철학이 반드시 존재해야 함은 물론이다. 그러한 사상이나 철학들은 때로는 편향되게, 때로는 지향적으로 시간의 흐름에 따라 변하기도 하며 확고하게 굳어지기도 한다. 사회적인 사상이나 철학 자체도 시간의 흐름에 따라 왜곡되거나 바뀌게 되며 때로는 정반대 편의 시각과 충돌을 하는 것과 마찬가지일 것이다. 어느 한쪽으로 치우친 사상이나 관념, 철학은 문제가 될 수도 있지만, 그러한 자세는 반대편의 시각과 충돌을 하면서 한편으로는 발전할 수 있는 계기가 되기도 한다. 반드시 어떠한 사상이나 철학이 더 낫다라고 표현할 수는 없겠지만, 그러한 사상이나 철학을 이해하기 위해서는 적어도 한번은 그 안에 푹 빠져보는 것도 한가지 방법이긴 하지만, 그렇다고 객관적인 시각을 버려서는 절대 안된다.

소프트웨어도 동일하게 개발 방법이나 구현 방법에는 그 근본이 되는 사상과 철학이 있으며, 이는 기본적으로 이를 적용하려는 개발자의 사상이나 개념과 같이 결합되어서 표현된다. 객체지향이라는 사상을 가진 프로그래밍 언어를 가지고, 절차지향이라는 개념을 가진 개발자가 코딩하는 모습들은 현실에 편재되어 있는게 사실이다. 그렇다고 해서, 이러한 표현방법을 잘못되었다고 말할 수는 없을 것이다. 더 나아가서 이러한 표현 결과에 대해서 옳고 그름을 따지는 것도 타당치 못할 것이다. 소프트웨어는 그 자체로 생명력을 가진 대상과 동일해서 불편하다고 하더라도 그 생명력은 나름대로의 환경에서 적응하려고 노력하게 마련이다. 이는 소프트웨어를 바라보는 시각을 마치 다윈의 진화론과 같은 시각을 가지게끔 만들기도 한다. 결국, 소프트웨어의 산출물을 바라보는 시각은 이러한 편향과 지향이라는 관점에서 그 근본 사유를 알아내는 과정이기도 하며, 이러한 근본 사유는 개발자 개인적인 것보다는 여러 사람들에 의해 공유되는 개념으로 표현되는 것이 그 DNA를 분석하기가 더 수월할 것이다.

편향된 부분은 분명 누구에게든지 있게 마련인 것과 같이, 소프트웨어 자체에도 편향된 결과는 얼마든지 찾아볼 수 있다. 하지만, 그러한 편향이 소프트웨어가 살아움직이는 환경에 얼마나 조화할 수 있는가라는 차원에서 판단해야 하며, 소프트웨어의 사상이나 철학이라는 잣대만을 가지고 평가하는 것은 옳지 못하다고 할 수 있다. 마틴 파울러가 말한대로 소프트웨어는 '그 설계가 옳으냐, 그르냐라는 관점보다는 유용하냐, 그렇지 않냐'라는 시각으로 바라봐야 됨을 다시 한번 강조할 수 있겠다.
반응형

'Homo Ware' 카테고리의 다른 글

R & R  (0) 2009.03.27
문자 문화와 구술 문화 : SW 구현 관점  (0) 2009.01.08
Meritocracy  (0) 2008.09.19
사소한 것으로부터의 변화  (0) 2008.08.14
뭘 많이 매겨  (3) 2008.03.11