대단한 Smalltalk
Wednesday, April 1st, 2009아이폰 개발 관련 서적이 온라인 서점의 IT분야에 1위에 올랐다. 그러면서 해당 개발 언어인 Objective-C 를 많은 사람들이 알게되었다. 당연히 Objective-C의 소개에 빠질수 없는 Smalltalk 도 더 많이 알려졌을 것이다.
다시금 Smalltalk 가 조명을 받은 것이다.
돌아보면 Smalltalk 는 직접 화두가 되기보다는 이번과 마찬가지로 간접적인 조명을 받는 경우가 많다.
작년/재작년에는 Rails과 화두였다. 그러면서 Ruby를 배우는 사람들이 많았고, 나도 그중 하나이다. Ruby도 Smalltalk의 영향을 많이 받은 언어이다. Ruby를 소개할 때 Smalltalk가 언급되는 경우가 많다.
Ruby is a dynamic, reflective, general purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features.
–http://en.wikipedia.org/wiki/Ruby_(programming_language)
Design Patterns 책이 한참 인기를 얻을 때가 있었다. 대부분의 코드가 C++였는데 유독 몇개의 패턴은 알수 없는 암호같은 코드였다. 바로 Smalltalk 코드였다. Smalltalk 관련 서적이 아니면서 이렇게 대놓고 Smalltalk 코드가 노출된 경우는 그 이후로 없었던것 같다.
"p95" createMaze: aFactory | room1 room2 aDoor | room1 := (aFactory make: #room) number: 1. room2 := (aFactory make: #room) number: 2. aDoor := (aFactory make: #door) from: room1 to: room2.
실용주의 프로그래머에서도 C++/Java를 사용하는 사람들에게 배우기를 추천한 언어가 Smalltalk 였다.
Eclipse 의 전신이었던 Visual Age for Java 는 Visual Age for Smalltalk 를 확장한 것이었다.
VisualAge for Java was based on an extended Smalltalk virtual machine which executed both Smalltalk and Java byte codes. Java natives were actually implemented in Smalltalk.
–http://en.wikipedia.org/wiki/VisualAge
화제가 되는 많은 것들이 Smalltalk를 가리키는 포인터가 되어주기 때문에 아직도 Smalltalk 는 현재 진행형이다. 대단한 언어다.
