Posts Tagged ‘Smalltalk’

대단한 Smalltalk

Wednesday, April 1st, 2009

아이폰 개발 관련 서적이 온라인 서점의 IT분야에 1위에 올랐다. 그러면서 해당 개발 언어인 Objective-C 를 많은 사람들이 알게되었다. 당연히 Objective-C의 소개에 빠질수 없는 Smalltalk 도 더 많이 알려졌을 것이다.

다시금 Smalltalk 가 조명을 받은 것이다.

돌아보면 Smalltalk 는 직접 화두가 되기보다는 이번과 마찬가지로 간접적인 조명을 받는 경우가 많다.

작년/재작년에는 Rails과 화두였다. 그러면서 Ruby를 배우는 사람들이 많았고, 나도 그중 하나이다. Ruby도 Smalltalk의 영향을 많이 받은 언어이다. Ruby를 소개할 때 Smalltalk가 언급되는 경우가 많다.

Ruby is a dynamicreflective, 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 는 현재 진행형이다.  대단한 언어다.

Smalltalk를 Eclipse에서

Friday, October 31st, 2008

며칠전 InfoQ 에서 Smalltalk와 Ruby에 관한 아티클을 보았다.  IDE에 관한 차이점을 언급하면서, Ruby는 다른 언어로 작성된 IDE를 사용하는 반면 Smalltalk는 처음부터 IDE를 뗄래야 뗄수 없는 관계로 시작되었다는 점을 이야기했다. 

이 점은 어느 Ruby컨퍼런스에서 KentBeck도 이야기 한 것이다. “왜 Ruby코드를 Java로 만들어진 IDE에 입력하느냐”며…

그런데 오늘 보니 Smalltalk를 Eclipse에 올리는 시도를 하고 있는 팀이 있다.

 

Smalltalk on Eclipse

Smalltalk on Eclipse

 

그런데 재미있는 사실은, Eclipse가 애초에 Smalltalk로 작성된 Java 개발 툴에 기원을 두고 있다는 점이다. 다시말해, Smalltalk로 작성된 Java개발 툴(Visual Age for Java)이 있었는데, 그것을 Java로 대체하는 시도에서 Eclipse가 탄생했다. 그런데 이제는 Java로 작성된 Smalltalk 개발 툴이 나오려는 것이다.