집착하고 있는 것: 흐름

몇몇 지인들은 알고있는 사실이지만, 최근 3년간 집착하고 있는 것은 ‘흐름’이다. 다분히, 들뢰즈적인데, 2004년에 처음 만나서, 가장 많은 영향을 준 사람이니 당연하다면, 당연한 사실이다. 이렇게 쓰면서도 이것이 들뢰즈적이라고 부를 수 있는 것인지 의문스럽다. 공부는 안하면서, 단초만 잡아서 공상만하고 있는 것도 사실이므로.

이런 생각을 하게 된 데에는, 회사에서 밥벌이로 작성하고 있는 소프트웨어가 처절할 정도로 흐름에 기반을 두고 있고, 데이터의 흐름을 어떻게 하면 잘 처리해낼 수 있을 것인가가 관건이기 때문이다. 일반적으로 바라보는 객체지향 프로그래밍의 모델링 사상과는 어느 정도 동 떨어져 있는 것도 사실인데다, 복잡하기 그지없는 인터페이스의 난립에 지쳐있기 때문이기도 하다.

그런가하면, 이 ‘흐름’은 2001년에서 2003년까지 연구하던 주제이기도 하다. 당시에는 Business Process를 연구하고 있었고, BPMS와 Simulation Engine이 주요 과제였다. 이런 면에서 보면, 산업공학이란 전공을 선택한 것이 다행이라면 엄청난 다행이다. ‘흐름’은 절단 가능하고, 연결 가능한 그 무엇이다. BPMS와 Simulation Engine이 그랬던 것처럼. 그리고, 그 흐름에 연결되는 다양한 지반들을 어떻게 모델링 해낼 것인가가 현 시점에서 객체지향주의자로서 갖는 유의미한 과제다.

회사의 일정과 시장에서의 위치덕분에 지금 당장은 구현이 어려운 상황이다. 그런 이유로, 무언가 다른 일이 하나 필요할 듯 싶다. 가능하면, 올해 맞는 내 생일 전에 말이지. 씨익-

언어-사고: 프로그래밍은 왜 어려울까?

프로그래밍을 한다고 하면, 사람들은 종종 안드로메다에 거주하는 외계인으로 간주하는 경우가 있다. 특히, 작업하는 것을 옆에서 보게되면 더더욱 심하다. 영어의 탈을 쓴 알아볼 수 없는 괴악한 텍스트 문서를 만들고, 이상한 프로그램을 돌려서 그들이 사용하는 소프트웨어를 만들어내니 그렇게 생각하는 것도 무리는 아닐 것이다. 그런데, 사실 사람이 쓰는 언어보다 프로그래밍 언어 자체는 쉽다. 애매모호함도 덜하거니와, 기계적으로 맞아 떨어져야하는 언어이기 때문에 쉬운건 사실이다. 그렇다면, 왜 사람들은 프로그래밍을 어려워할까? 답은 사고에 있다.

인간이 사용하는 자연어는 일반적인 사고의 틀내에서 존재하지만, 프로그래밍 언어는 특정한 목적에 의해 특정한 사고의 틀내에 존재한다. 이 사고방식이 절차지향 프로그래밍이라든가 객체지향 프로그래밍이라든가 함수형 프로그래밍같은 거다. 이 사고방식은 컴퓨터라는 기계의 작동방식에 그 근원을 두고 있기 때문에 자연어의 사고방식과 유사하지만 다르다. 그리고, 이 차이가 어려움을 가져온다. 한가지 재밌는 것은, 자연어의 사고방식과 유사한 사고방식의 언어를 접하게 되면, 프로그래머도 난감해한다는 점이다. 기존의 방식과는 다르므로.

쉬운 프로그래밍은 근본적으로 불가능할지도 모른다. 하지만, 프로그래밍을 쉽게 배우려면, 언어나 문법에 집중하는게 아니라 그 사고의 작동방식에 초점을 맞추어야하지 않을까?

이글루스에 개설했습니다.

네. 이사간다는 이야기는 아닙니다. 정리하면서 사라졌던 분류의 글들을 쓰기 위해 공간을 하나 더 만들었습니다. 사실, 이 블로그에 쓰는 글들이 지적 허영이가득 찬 글들이기도 하거니와, 그냥 무거워진 이 공간말고, 가벼운 공간이 하나 더 필요하다는 요구와 즉흥적인 지름에 하나 더 만든겁니다. 인생 뭐 있나요.

어쩌면, 포스트의 절대적인 수로는 역전현상이 나타날지도 모르겠습니다만. 과거 블로그의 제목이 ‘Crow’s Maniacal World’이던 시절에서 Devspace@Crow로 넘어오면서 사라져버린 다른 제 자신을 적어내는 공간이니 당연한 것일지도 모릅니다.

여전히, 이 곳은 쓰던 글들과 써야할 글들이 올라옵니다. 지금 쓰고 있는 글만 3개정도 되는군요. (개요잡고 고민하는 글을 이야기하는 겁니다. 제목과 주제만으로 치면 더 많… orz) 하지만, 이 곳과 텀블러에 쓰지 않던 글들이 올라오겠지요. 워낙에 관심분야도 넓고 하는 짓도 많아서 어쩔 수 없나봅니다.

그럼. 돌아온 Crow’s Maniacal World를 소개합니다. 씨익-