레이블이 seaside인 게시물을 표시합니다. 모든 게시물 표시
레이블이 seaside인 게시물을 표시합니다. 모든 게시물 표시

2011년 2월 6일 일요일

seaside in smalltalk

smalltalk란 언어는 대학교때 프로그래밍언어 시간에 잠깐 다룰 뿐, 대부분 실전에서 잘 쓰이지 않는 언어였다. ( 정말? )
아뭏든, 주류 언어는 분명히 아니다.
ADA와 함께 OOP를 설명할 때 자주 등장하는 언어이다.

seaside란 프레임워크를 최근에 알게 되었는데,
웹 프로그래밍에 입문하면서 답답했던 것을 이 프레임워크가 풀어내고 있었다.
바로, 유저 컨텍스트에 기반한 플로우 콘트롤이다.
( http://seaside.st/about/examples/task?_k=8o4aoROk )
처음 웹 프로그래밍에 접했을때, 프로세스를 모델링하면서, 있어야 한다고 생각했던 것이 없어서 당황했는데, 바로 이 플로우 콘트롤 매니져 개념이었다.

Essential complexity 와 Accidental complexity란 말이 있다.
전자는, "복잡하고 지저분한 어려운 문제를 풀려고 할 때"
후자는,"왜 이렇게 간단한 문제를 어렵게 풀고있는 거지?"의 상황이다.

그런데, 전자는 결국 해결될 문제가 아닌데, 후자는 풀릴 수 있을 것 같다. 그런데, 이런 것이 반복되면 개발 속도에 큰 지장을 주는 문제라고 생각한다. 아마도 최근 ruby on rails가 각광받는 이유가 바로 후자의 문제를 잘 풀어주고 있기 때문이리라.
seaside의 플로우 콘트롤이 해결하고 있는 듯 해서 매우 큰 관심이 간다.

비록 smalltalk/seaside는 커뮤니티에서도 큰 인기를 못하지만,

다른 프레임워크에서도 이러한 플로우 콘트롤이 지원되지 않는 한, 존재가치가 분명히 있다고 생각했다.  다른 프레임워크에서 이러한 구조를 지원하는지는 아직 확인 못했다.

그렇다면, smalltalk/seaside를 메인 언어 및 프레임워크로 쓸 수 있느냐?
그 문제에 대한 해답을 아직 못 찾은 듯 하다.
현실적으로 인기를 못 얻는 탓이 그 때문인 것 같다.
다음 링크에, 경험자의 이야기가 있다. 그 사람 이야기는 모든 프로젝트에 사용 가능하고, 크고, 복잡한 어플리케이션에 오히려 적합하다고 말한다.
( http://unhandledexpression.com/2011/02/04/smalltalk-for-engineers/ )

도움이 되셨다면, 광고 클릭을 ㅎㅎ ^^