OOP와 Messaging
2009/04/03 09:47아는-_-형에게 낚여서, GPG Study의 OOP revisited라는 쓰레드를 읽게 되었다. 이 쓰레드는 방향이 어느정도 잡힌 상태로 정리되어 있는데, 머릿 속에는 의문점이 조금 남아있어서 링크를 타고 갔더니 조금은 정리가 되는 듯 하다.
일반적으로, 대부분의 사람들은 OOP의 개념이라면서 객체, 정보은닉, 캡슐화, 상속, 다형성 등을 이야기하는데, OOP의 창시자, Smalltalk의 구현자인 Alan Kay는 중요한 개념이 Messaging이라고 말한다. 1997년의 OOPSLA가 끝난 후에, 어느 메일링에서는 “I'm sorry that I long ago coined the term objects for this topic because it gets many people to focus on the lesser idea. The big idea is messaging”이라고까지 언급했다.
대다수의 사람들에겐 C++, Java 정도가 그들이 생각하는 OOP의 한계이기 때문에, 많은 논란이 생기는듯 하다. C++, Java도 Messaging의 많은 부분을 구현하고 있긴 하지만, Alan Kay 할아버지가 1998년에 언급했던 표현으로는, 자기가 알고 있는 언어들 중에는 Messaging이 정말 제대로 되어있는 언어는 Smalltalk와 Lisp(CLOS를 말하는듯?)밖에 없다고 했다. 그의 생각을 엿볼 수 있는 링크를 두개 소개한다.
요즘 읽게되는 대부분의 글들이, 자꾸만 Smalltalk를 심도있게 학습해보라고 유혹한다.
-- 이상한 나라의 종텐.

