May 23, 2005 21:14
내가 Smalltalk에 대해서 열광하면 소위 "전산을 전공했던" 친구들은 한결같이 이렇게 말했다.
- "주류 언어가 될 수 없었던 건 이유가 있어어야."
- "Smalltalk.. .그거 너무 무겁고 느리지 않나?"
- "그거, 소스 몇 번 봤는데, 배우기 어렵더라..."
- "Smalltalk는 '하나의 커다란' 시스템이지 언어가 아냐. 완전, 바다야, 바다."
- "훗, Smalltalk 시스템... 쳇, 비싸서, 어디, 써보기나 하겠어?"
- "Smalltalk는 연구용에나 쓰는 언어야. 실제로 쓰기는 어려운 점이 많지."
어찌보면 이 말이 맞는지도 모른다. Smalltalk가 C / C++ 나 사촌뻘인 Java 처럼 널리 쓰이지 못하고 있는 건 위와 같은 단점을 가지고 있기 때문이라고 생각하기 쉽다.
요즘 한창 주가를 달리는 Python 이라는 스크립팅 언어에도 Smalltalk가 밀리는 걸 보면, Smalltalk에 뭔가 문제가 있어도 단단히 있는 게 아닐까?
물론 나도 처음엔 그랬었다. 그러나 Smalltalk를 7년째 사용해 온 지금, 나는 위의 말이 모두 '오해에서 비롯된 말'임을 안다. 물론 Smalltalk 언어가 '주류가 될 수 없었던 이유'는 있다. 그러나 그 '이유'가 단지 Smalltalk 언어에 있는 건 아니다. 오히려 신기하게도, 요즘 사용되는 개발 툴이나 언어는 Smalltalk를 닮아 가고 있다.
만약 Smalltalk에 여러 가지 단점이 있고 한계가 있어서 그 개념을 재론할 가치도 없었다면 30년이 다 되어가는 시스템과 개념이 현재에 받아들여지겠는가?
Smalltalk 언어가 주류 언어가 되지 못한 건, 순전히 '시대를 잘 못 타고났기 때문'이다. 만일 아인슈타인이 원시시대에 태어났다면 우리가 기억하는 그의 업적과는 사뭇 다른 일이 일어났을지도 모른다. 전산을 '전공'했고 '많은 공부'를 한 사람들이 Smalltalk에 대해서 가지고 있는 '편견'과 '오해'를 풀어줄 "진실" 시리즈를, 지금부터 시작한다. 기대하시라!!!