집착하고 있는 것: 흐름

몇몇 지인들은 알고있는 사실이지만, 최근 3년간 집착하고 있는 것은 ‘흐름’이다. 다분히, 들뢰즈적인데, 2004년에 처음 만나서, 가장 많은 영향을 준 사람이니 당연하다면, 당연한 사실이다. 이렇게 쓰면서도 이것이 들뢰즈적이라고 부를 수 있는 것인지 의문스럽다. 공부는 안하면서, 단초만 잡아서 공상만하고 있는 것도 사실이므로. 이런 생각을 하게 된 데에는, 회사에서 밥벌이로 작성하고 있는 소프트웨어가 처절할 정도로 흐름에 기반을 두고더 보기

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

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

OOP: revisited #4

연결강도 OOP revisited: #3를 통해 패러디와 디자인 패턴, 설계사이에 어떤 관계를 설정할 수 있을지 생각해보았다. 헌데, 패러디는 다른 각도에서 또다른 접점을 갖는다. 바로 연결강도다. 패러디는 원작을 알고있어야 그 결과물을 이해할 수 있다. 만약 원작에 대해 모른다면, 아무리 잘 만든 패러디라고 해도 웃음짓기는 힘들 것이다. 예를 들어, 개그우먼 조혜련씨가 했던 ‘골룸’ 패러디를 생각해보자. 반지의 제왕을 알고더 보기

OOP: revisited #3

패러디의 작동원리 지금까지 OOP: revisited #1과 OOP: revisited #2를 통해 철학과 미학의 개념을 빌려와서 객체지향 프로그래밍을 되밟아보았다. 이번에는 패러디를 빌려와서 객체지향 프로그래밍을 되밟아보기로 한다. 다음 커뮤니케이션즈에서 제공하는 백과 서비스를 이용해 찾은 패러디에 대한 정의는 다음과 같다. 문학에서 특정 작가의 약점이나 특정 문학유파의 과도한 상투성을 강조해보이기 위해 그들의 문체나 수법을 흉내내는 일종의 풍자적 비평이나 익살스러운 조롱조의더 보기

OOP: revisited #2

OOP: revisited #1를 통해서 이야기했던 내용을 정리하면 다음과 같다. 객체지향의 핵심은 ‘추상화’ 문제는 이 추상화라는 것이 자연스러운 것이긴 한데, 쉬운 것은 아니라는 점이다. 그리고, 문제가 복잡해지기 시작하면 실제 세계를 모델링해서 나온 객체 이외에 다른 종류의 객체들이 필요해진다. 인간이 실제 세계를 파악하는데 있어서 실제 사물들을 추상화한 개념concept만 사용하는 것은 아니기 때문이다. 굉장히 거칠게 말하면, 개념들을 연결하는더 보기

OOP: revisited #1

프로그래밍이란 무엇일까? 이 질문에 답하는 것은 당황스러운 일이지만, 답은 매우 간단하다. 소프트웨어를 작성하는 것. 그렇다면, 소프트웨어를 작성하는 것은 무엇을 의미하는 것일까? 이 질문에 답하는 것은 어려운 일이지만, 내가 내린 답은 다음과 같다. 실세계에 존재하는 시스템을 모방하여 이를 컴퓨터 시스템위에서 구동시키는 일련의 과정 다시 한번! 그렇다면, 소프트웨어란 무엇일까? 소프트웨어는 당연히 하드웨어의 작동방식일테지만, 소프트웨어를 어떤 식으로 해부하느냐더 보기

왜 람보 개발자인가?

밝혀두건데, 이번 “SW개발자들이여, ‘람보’가 되라” 사건(?)의 폭풍의 핵이신 김대환 사장님과 병특으로 2년째, 프리랜서까지 포함하면 3년째 같이 일하고 있습니다. ‘람보’라는 마초적인 단어가 내포하고 있는 의미는 영화에서 처럼 무식하게 혼자 일을 다 해치우는 슈퍼 울트라 히어로 메가톤급 개발자를 의미하는 것은 아니라고 생각합니다. 소프트웨어 분야는 분명, 소프트하며 이런 특성은 한명의 인력이 해낼 수 있는 것이 10인분 많게는 100인분이라고더 보기

영감과 코드

수많은 선구자들은 “기술적 영감- techinical inspiration”이라는 걸 얻어서 컴퓨터-기술역사에 한 획을 긋고 자신의 이름을 후세에 널리 알림과 동시에 저서를 통해 후세들이 먹고 살 기반까지 마련해주는 경우가 종종 있다. 비록 짧은 50년의 역사이긴 하지만, 가장 급속도로 발전한 학문분야라고 할 수 있으며, 수학에 단련된 천재라면 당연한 일이라고 생각될 수 도 있다.

Cut and Paste. 이젠 XV신공!

학부시절 유행하던 말이 있었다. 이른바 “CV신공”. 쫓기는 기말때에 어김없이 몰아치는 텀프로젝트의 폭풍우 앞에서 가련한 학부생들은 째다 붙이기라는 기술의 연마를 통해 학점을 딸 수 밖에 없었다. 그리하야 컨트롤키와 C, V키가 닳아서 없어질 정도로(?) Ctrl-C / Ctrl-V 를 눌러댔다. 이래서 생긴 말이 CV신공. 어느덧 시간이 흘러, 회사에 입사하고 열심히 코드를 작성하다 보니 언제부터인가 코드를 복사해서 붙이는 것이더 보기

STLPort팀에 패치를 보내다.

일하는 중간에 컴파일러를 Microsoft Visual C++ Compiler에서 Intel C++ Compiler로 바꿔보면 어떨까라는 생각이 문득 들기에.. 삽질을 해버렸습니다. 므흣. 먼저 stlport 4.6.2로 삽질을 했는데, 하다보니 어차피 5.0으로 옮길거 귀찮기도 하고 해서 stlport 5.0.1로 버젼을 바꾸고 빌드 시도. boost에서 std::type_info를 못찾는다고 징징거리고, new.h를 인클루드 할 수 없다고 배째기에 코드를 곰곰히쳐다보았더랍니다. 문제는 Intel C++ Compiler가 MSVC 호환모드로 작동할때에는더 보기