기억에 남는 내용들..
스타일도 언어의 요소다.
오랜 기간 코딩을 하다보면 자신에게 익숙한 코딩스타일이라는 것이 생긴다. 하지만, 처음 시작단계부터 고려해야할 코딩스타일이 하나 뿐이라면 어떨까? 아마도 IDE가 제공하는 기능을 누릴 권리도 훨씬 커질 뿐 아니라 단기간에 생산적인 코드를 작성할 수 있는 수준에 다다를 수 있게 된다.
한편, C++ 같은 언어는 다양한 코딩스타일을 지원할 뿐 아니라 전혀 새로운 방식으로 대부분의 문법을 재정의 해서 쓸 수는 있지만, 그렇게 하는 사람은 거의 없다. 자신만의 코딩스타일을 정하기 위해서 지나치게 시간이 오래걸린다면, 차라리 새로운 언어를 배우는 것이 나을지도 모른다.
KISS (Keep It Simple, Stupid)
대부분의 위대한 작품들은 철학이 있고 그 철학은 대부분 Simple 하다. 웹을 창시한 팀 버너스리 아저씨가 바로 복잡한 웹을 단순화 했다. 결국 복잡한 기술은 단순화 되지 않으면 쇠퇴한다. 완벽은 더이상 추가할 것이 없는 것이 아니라, 더 이상 뺄 것이 없는 것이다. simple is the best
오리타입검사
오리처럼 걷고 오리처럼 소리내는 것은 오리로 간주하면 된다. 일일이 타입체크를 하는 것은 대부분 무의미하다. 정적타입검사도 결국 테스트의 일부에 불과하기 때문에 타입검사를 통과했다고 해서 프로그램이 정확하게 동작한다고 보장할 수 있는 것도 아니다. 프로그램의 정확도를 높이는 가장 강력한 방법은 아마도 유닛테스트다. 따라서,
타입검사보다는 테스트에 더 공을 들여야 옳다.하지만, 상황에 따라 정적타입 검사를 하는 언어를 선택하는 것이 유리한 경우가 많다. 영화 거칠마루를 보면 최고의 무술이나 고수는 없고, 단지 상황에 따라 유리한 무술이 있다는 것을 알 수 있다. 이것을 잊지 말자!
위대한 해커
자잘한 문제와 싸우다 보면 단순해진다. 예를들면 버그가 많은 프로그램을 유지보수하는 일이 그렇다. 버그가 아무런 기준없이 무작위로 발생하는 프로그램을 유지보수하는 일은 사람을 단순하게 만들 뿐 아니라 거기에서 배울 것도 없다. 그래서 해커들은 이런 무의미한 일을 하려고 하지 않는다. (단, 자신이 창업한 스타트업 회사에서 해커는 이런일을 마다하지 않는다.)
이 글때문에 해커와 화가를 읽어봐야 겠다는 생각이 들었고, 시간날때마다 조금씩 재미있게 읽어가는 중이다. 표현이 조금 엘리트지상주적 이고 직설적이긴 하지만 흥미로운 내용인 것 같다. (해커와 화가에서 위대한 해커는 감정이입능력을 가진 좋은해커를 의미한다.)
다소 엘리트지상주의 적이긴 하지만 남들이 알면서도 쉽게 말할 수 없는 것을 말하는 보기드문 책이다. 이 책에 대해서 쓰고 싶은 말이 많았는데... 다 읽고 몇달이 지난 지금은 그냥 LISP를 해보고 싶다는 생각만 남아있다.
소셜네트워크 내부의 적
전역 후 시기상 자연스럽게 관심을 가지게 되었던 소셜네트워크에 대하여 좀 더 심도있게 이해할 수 있는 계기가 되었던 것 같다. 현실에서의 집단유지 관계에서 처럼
소셜 소프트웨어에 필요한 기능은 개인이 아니라 집단 전체의 목적에 부합하는 것이라는 중요한 사실을 일깨워 주었다.
지금의 Web 2.0 이 집단지성이 나타나기 시작하는 단계라면 가까운 미래에는 그것을 유지하기 위한 사회적인 구성요소(정책)가 소셜소프트웨어에 추가되어야 할 필요가 있을 것이다. 소셜네트워크에서는 소프트웨어의 기능보다는 집단을 유지하기 위한 정책이 훨씬 더 중요하다.
정책이 제대로 갖춰진 좋은 시스템이라면, 사용하기 좀 불편하더라도 사람들은 어떻게 해서든지 사용한다. 이것은 현실의 집단유지관계에서도 나타나는 현상이다. 현실에서도 마찬가지로 좋은 집단이라면 들어가기 어렵다고 해도 무슨 수를 써서든지 그 집단에 들어가려고 할 뿐만 아니라, 활동조건이 다소 까다롭다고 할지라도 그 집단에 계속 머무르기를 원한다. 그래서
소속이 사람을 바꾼다는 말이 있는 것은 아닐까?
파워포인트 재구성
파워포인트 슬라이드는 발표자 중심적이고 대체로 쓸데없이 페이지 수만 낭비하고 있다는 느낌이 강하다. 발표는 청중에게 하는 것인데, 파워포인트 슬라이드는 발표를 발표자 중심으로 만든다. 파워포인트의 슬라이드 보다는 차라리 청중이 발표속도를 조절할 수 있도록 유인물을 나눠주는 것이 현명하다. 게다가 파워포인트로 작성하게 되면 내용구성이 매우 취약하다. 그 좁은 페이지에 대빵만한 글씨로 뭘 채울 수 있을까? 결국 파워포인트로 만든 대부분의 자료는 한장으로 충분한 내용인데도 페이지 수가 많아져서 오히려 이해의 흐름을 끊기 일쑤이다. 차라리 강조하고자 하는 하나의 문장만 쳐넣고 나머지는 말로 때우는 것이 훨씬 간단하고 이해도 잘된다. 그나마 다행인 것은 최근에는 한장짜리 기획서가 유행한다고 한다. 조엘온소프트웨어에서 종이프로토타이핑에 관한글을 읽었을 때처럼 마음이 굉장히 편해졌다. 왜냐하면 난 파워포인트를 잘 못다루기 때문이다. ^^;