많은 사람들이 생각 외로 흑백 논리에 대해 거부감을 느낀다. 하지만 더 놀라운 것은 그에 못지 않게 많은 사람들이 흑백 논리로 행동하고 있으며 그 양자의 상당수가 겹친다는 것이다. 때때로 직선적인 흑백 논리를 내세우는 사람이 더 유연한 경우를 많이 본다. 어쩌면 분명하게 Yes라고 말할 수 있기 때문에 그 Yes를 바꿀 수도 있는 것이 아닌가 싶기도 하다.
파이썬을 배우면서 느낀 것은 파이썬 프로그래머들은 Yes, 혹은 No를 쉽게 말한다는 것이다. Right or Wrong, Good or Bad. 마찬가지다. 처음 LearningPython2ndEdition에서 파이썬이 right way는 좀더 쉽게, wrong way는 어렵게 하도록 유도한다는 표현을 보고 약간의 놀라움을 느꼈다. 내용상 참으로 공감하면서도 우리나라 사람들은 이런 말을 보면 무언가 비판할 꺼라는 생각에 그 표현이 과감하다고 느껴졌었다. 이후에도 파이썬 커뮤니티에서는 유달리 어떤 문제에 대해 간명하게 흑백을 가르는 표현들을 많이 볼 수 있다. pythonic이라는 말도 어느 정도 그런 흑백 논리를 함축하고 있다. 어쩌면 이런 특성까지 pythonic에 포함되는 것이 아닐까 싶기도 하고.
그런데 이런 pythonic 흑백 논리가 파이썬 프로그래머들을 독선적으로 이끄는 나쁜 영향을 미치느냐 하면 전혀 그렇지 않다. 오히려 내가 커뮤니티에서 보아온 많은 파이썬 프로그래머들은 대단히 유연하다. 그리고 그런 흑백 논리는 논의의 단순화에 유익한 영향을 미치는 것 같다. 이건 약간 나쁜 방법일 수도 있고 저건 어느 정도 좋은 면이 있다라고 말하는 것보다는 이건 좋은 방법이고 저러면 안돼라고 말하는 것이 훨씬 간명하다. 실상 전자와 같은 방어적인 표현은 흑백 논리임을 감추고 싶어하지만 그렇다고 더 유연한 무언가를 가져다주진 않는다.
어쩌면 유연성을 이미 담보할 수 있는 문화에서 자라온 미국인, 유럽인들과 경제와 북한이라는 커다란 흑백 논리의 축에 압도당해왔던 한국인의 차이일지도 모르겠다. 그들은 단정적으로 Yes라고 한다고 해서 No를 받아들이지 않는 것이 아님을 담보할 수 있기에 부담 없이 Yes라고 말할 수 있는 것이다. 그에 비해 우리는 Yes라는 명령 하에 밀어붙여짐을 당해본 역사가 있어 단호한 Yes를 거부하고 싶어지는 것일지도 모르겠다.
어쨋든 난 극단적이고 단호한 표현이 좋다. 퍼포먼스는 지금 고려해야할 것이 아닐 수도 있어라고 말하는 것보다는 퍼포먼스는 지금 고려할 필요 없어라고 말하는 것이 좋다. 경우가 따라 다르기 때문에 단정지을 수는 없지만 Java가 C++보다 빠른 경우도 없지 않아라는 말보다는 Java가 C++보다 빠른 경우도 많아라고 하는 것이 더 좋다.
흑백 논리는 엘레강스하지 않다. 하지만 흑백 논리는 간결하다. 흑백 논리는 유연하지 않아 보인다. 하지만 흑백 논리이기 때문에 유연해질 수 있다.