Daybreakin Things
김국현님의 트위터에서 퍼옴. 트위터의 글들은 한번 흘러가버리면 나중에 찾기가 힘들어서, 이렇게 여러 트윗으로 나눠 올라온 것은 모아 정리해두어야 한다.
개발자로서, 그리고 사회를 시스템으로 보는 관점을 지지하는 나로선 매우 적절한 비유라고 생각한다.
오늘은 '개발자니까 이해할 수 있는 정치학'을 조금 더 다루어 보도록 하겠습니다. 제 발언의 상당수가 반규제/자유주의로 이해되신다는 의견이 있습니다. 왜 그렇게 보일까요?
그 것은 제 주장이 if-else 사회에서 try-catch 사회로의 이행을 암시하기 때문입니다. 한국 사회는 모든 조건을 탑이 미리 설정하고 이를 조건 분기하는 if-else 사회지요. 규제란 바로 이 코드랍니다. ~해야 한다, ~하려면 ~가 필요하다는 명제에 근간으로 하고 있어요. 이는 매우 단순한 (개발)환경에서는 유의미했답니다. 이를 사회학에서는 가부장주의(paternalism)라고 하지요.
그러나 아시다시피 현대 프로그래밍 언어는 이런 식으로 코딩하지 않잖아요. 왜냐하면 모듈이 어떻게 확장될지 모르고, 또 이 코드를 누가 받아 짤지 모르기 때문입니다. 사회도 마찬가지입니다. 상위 조직이 모든 가능성을 알고 미리 규정하면 좋겠지만, 그 것이 가능한 시대는 이미 지나버렸죠. 결과는 if-else만 백만라인 이어지는 사회가 되어 버리는겁니다. (코드 유지 보수는 청춘의 몫?)
우리 사회도 ExceptionHandling의 아키텍처로 이행해야 합니다. 언제까지나 메인 프로세스가 if, elseif의 규제 방식로 모든 것을 걸러 낼 수는 없기 때문입니다. 사회참여자가 예외를 직접 정의하고, 그리고 이벤트가 발생했을 때, 합리적으로 "버블 업"을 일으키면 됩니다. 그 과정에서 정치인과 관료의 역할이 있는 것이구요. 그리고 여기에 addEventListener()를 하는 것도 국민의 몫입니다. 선거가 이에 충분한지는 이견이 많겠지만요. 이 메소드는 참여와 관심과 연대라고 해둘까요.
그렇게되어 새롭게 시작하는 사회적 프로세스, 새롭게 사회를 개발하려는 이들이 마음껏 사회적 코드를 try할 수 있고, 그 과정의 예외는 사회적으로 catch되게 되는 것입니다.
어쨌거나 코드를 짤 줄 아는 여러분, 사회와 국가의 코드가 이 모양인데, 소스 commit은 안하더라도 QA는 해 주셔야할텐데요, (아 네, 다들 생업에 바쁘신...)