Pharo 2.0과 그 이전버전의 squeak 및 Pharo의 FileDirectory의 차이

어제의 글인 이내용에 이어지는 내용이 되겠습니다만…

SBE 또는 PBE에서 볼 수 있는 debug에 대한 예제는 현시점에서 Pharo 2.0에서는 제대로 동작되지 않습니다.

그 이유는 해당되는 Category를 system browser로 비교해 보면 명백해지는데요…..

squeak 3.9 에서의 FileDirectory 클래스
squeak 3.9 에서의 File-Directory 카테고리
Pharo 2.0 에서의 FileDirectory 클래스
Pharo 2.0 에서의 File-Directory 카테고리

….
…….
어라? Pharo 2.0에는 File-Directory 카테고리 안쪽에 FileDirectory 클래스가 아예 없네요………..
………
….
야! 어쩌라고!
저 클래스가 없으면 dot(점) 문자를 얻어낼 수가 없어서 해당되는 예제를 진행할 수가 없는데!!!!!
라지만.. 이 얘기는 다른 글에서 적도록 하고….

메일링 리스트에서 관련된 부분에 대해 오화종님이 다음과같은 얘기를 알려주셨습니다.
==================================
FileDirectory 가 삭제되고, FileSystem 클래스를 대신 사용합니다. FileSystem은 보다 직관적이고 간결한 파일접근 객체입니다.
===
FileDirectory는 아주 뼈대있는 파일접근 객체(아마 ST-80부터)인데, 그런만큼 널리 쓰이고 있죠. 널리 쓰이기 때문에 제거하기 힘들게 되고 그래서 싫지만 또 쓰게 되는 악순환이 계속 되었습니다. 그런데, 5년전쯤부터 일부 유명 스몰토커들이 FileSystem이라는 것을 자체 개발하여 사용하였습니다. (일본에서는 FileMan 이라는 것을 개발하여 자기들끼리 썼습니다) Pharo1.4에서 Pharo 2.0로 넘어가면서 FileDirectory 퇴역시키고 FileSystem을 도입하였습니다. 현재 가장 급진적으로 뜯어고치는 스몰토크 집단인 Pharo에서 큰 일을 한 거죠.
==================================

결국 요지는 “없는게 맞아요” 라는거죠.
Pharo 2.0 이상을 사용하는분은 관련된 내용을 미리 숙지하고 계셔야
문제가 없을거같습니다 😀

약간 이상한 예제동작

http://trans.onionmixer.net/mediawiki/index.php?title=SqueakByExample:6.5

이 부분을 진행하려고 상단에 있는 예제부터 입력시켜보고있는데….
희한하게 에러가 안나네요?….
(에러가 나야 디버거를 돌리고 검수를 하는데…T.T)

일단.. String 클래스에 시키는대로 method를 추가했습니다.

그리고 메소드를 저장하려고 하니 이런 에러가 나네요?

20130312_method_1

오호.. 이놈봐라? 해당되는 클래스가 없나보구나.. 라고 생각하고 그걸 다음과같이 처리했습니다.

20130312_method_2

물론 추천하는것중에 대략 비슷해보이는 FileDirectoryWrapper 클래스로 처리하기는 했는데….

workspace에 시킨대로 readme.txt 를 입력하고 mouse로 drag한다음

1. Print it > nil
2. Do it > 반응없음

이라는 결과가 나오네요.

Pharo 2.0에서 테스트해보고있습니다만….
뭔가….. spec이 바껴서 이런증상이 일어나는건지….
애매…합니다…-.-;

================================================

결국 해프닝으로 끝났습니다.

원문에서도 ‘readme.txt’ suffix 라고 이 부분만 font가 틀렸는데
번역문만을 보고 부주의하게 보고 말았네요.
번역본이 넘어온건 “readme.txt”의 접미사를 입력하고…라고 되어있어서
접미사를 .txt라고 생각하고 큰따옴표를 단순히 영문에 대한 강조구문이라고 생각했습니다….-.-;

정확한 해법(?)을 알려주신 한주영님 감사합니다.
Pharo 2.0에서도 전혀 이상없어요…T.T

시스템 브라우저의 squeak과 pharo의 차이

http://trans.onionmixer.net/mediawiki/index.php?title=SqueakByExample:6.4

이 부분을 참고로 검수를 진행하면서 pharo를 보니 조금의 차이가 있더라구요…

object explorer about morph
object explorer about morph

squeak의 경우는 method list box가 PluggableListMorph인데
pharo의 경우는 PluggableIconListMorph 인겁니다.

아마도 별 차이는 없겠습니다만…아마도 pharo의 경우가 squeak의 Class를 기반으로 확장한게 아닌가 합니다.
(실제로 squeak의 system browser는 목록에 Icon이 같이 출력되지 않죠)

별얘기는 아닙니다만 혹시 진행하면서 헷갈리는분이 있을까봐
메모차원에서 적어놓습니다. 😀