SqueakByExmaple:Preface
들어가는 글
"스퀵(Squeak)"이란?
"스퀵(Squeak)"은 스몰토크(Smalltalk) 프로그래밍 언어이며 완전한 기능을 갖춘 최신 오픈소스 환경입니다. 스퀵은 굉장히 이식성이 높기 때문에 디버그, 분석 그리고 변경이 용이한 스몰토크 언어로 스퀵 전체의 가상머신을 작성했습니다. 스퀵은, 멀티미디어 응용 프로그램과 교육 플랫폼에서 시작해서, 상업적인 웹 개발 환경에 이르기까지 광범위한 영역에 걸쳐 혁신적인 프로젝트를 진행하기 위한 훌륭한 도구입니다.
누가 이 책을 읽어야 할까요?
이 책은 기초부터 시작해서 고급 주제까지 진행하면서, 스퀵의 다양한 모습들을 보여줍니다.
이 책은 프로그램 작성법을 가르쳐 주는것은 아닙니다. 독자 여러분은 프로그래밍 언어에 어느 정도 익숙해야 합니다. 객체지향 프로그래밍에 대한 약간의 배경지식을 가지고 계신다면 도움이 됩니다.
이 책은 스퀵 프로그래밍 환경과, 언어programming language, 그리고 관련 도구를 소개할 것입니다. 이 책을 통해 일반적인 용어들과 실제사례등을 만나겠지만, 객체지향 설계가 아닌 기술에 중점을 두었습니다. 우리는 가능한 모든 지면을 통해 수많은 예를 보여드리겠습니다. (Alec Sharp의 놀라운 스몰토크 책[1]에서 영향을 받았습니다.)
웹에서 무료로 볼 수 있는 수많은 스몰토크 책이 있지만, 그들 중 어떤 책도 스퀵에 대해 구체적으로 다루지 않았습니다.
예제를 보시려면 다음을 방문해 주십시오: stephane.ducasse.free.fr/FreeBooks.html
조언 한마디
당신이 스몰토크의 일부를 바로 이해하지 못한다고 해도, 포기하지 마세요. 스몰토크의 모든 것을 알아야 할 필요는 없습니다! Alan Knight 는 다음과 같은 원리를 표현하였습니다.[2]
공개 서적
이 책은 다음의 내용을 통해 공개한 책입니다:
- 이 책의 컨텐츠는 크리에이티브 커먼즈 저작자표시-동일변경조건허락(by-sa) 라이선스 하에 출판됩니다. 간단히 말해, 사용자는 다음 URL에 실린 조건들을 준수한다면, 이 책을 자유롭게 공유하고 사용할 수 있습니다: creativecommons.org/licenses/by-sa/3.0
- 이 책은 스퀵의 핵심만을 설명합니다. 우리는 이상적인 방향을 위해, 우리가 설명하지 않은 스퀵의 내용들을 당신이 기고해주기를 권장하고 싶습니다. 당신이 이 수고에 참여해주시기를 원하신다면, 우리에게 연락해 주십시오. 우리는 이 책이 성장하는 것을 보고 싶습니다!
더 많은 내용을 보시려면, 스위스 Bern 대학교의 컴퓨터 과학 및 응용 수학 연구소가 제공하는 이 책의 웹사이트 SqueakByExample.org를 방문해 주십시오.
스퀵 커뮤니티
스퀵 커뮤니티는 친근하며 활동적입니다. 독자가 찾고 싶어할만한 유용한 자료에 대해 간단한 목록을 적어두었습니다.
- www.squeak.org 는 스퀵의 메인 웹사이트 입니다. (스퀵의 최고봉인 eToy 환경의 내용에 대해 제공하지만, 방문 대상이 초등학교 교사들인 www.squeakland.org 와 혼동하지 마십시오)
- www.squeaksource.com 은 스퀵 프로젝트를 위한 사이트이며, 소스포지(SourceForge)와 동일한 역할을 합니다.
- wiki.squeak.org/squeak 은 스퀵에 대한 최신의 정보를 갖고 있는 위키입니다.
메일링 리스트 정보. 수많은 메일링 리스트가 있는데, 때로는 약간 지나치게 활동적일 수도 있습니다. 메일을 메일 계정 용량에 넘치도록 받기를 원하는건 아니겠지만, 그래도 메일링 리스트에 등록되어 있기를 원하신다면, 메일링 리스트를 검색하기 위해 news.gmane.org 또는 www.nabble.com/squeak-f14152.html 을 사용해 보십시오.
squeakfoundation.org/mailman/listinfo 목록에서 전체 스퀵 메일링 리스트를 찾을 수 있습니다.
- Squeak-dev는 다음의 주소에서 찾을 수 있는 개발자의 메일링 리스트를 참조한다는 것을 참고하십시오: news.gmane.org/gmane.comp.lang.smalltalk.squeak.general
- Newbies(초보자) 여러분은 초보자들이 어떤 질문이라도 할 수 있는 친근한 메일링 리스트를 참조하십시오: news.gmane.org/gmane.comp.lang.smalltalk.squeak.beginners
(우리는 모두 스퀵의 일부 측면에 있어 모두 초보자이기에, 배워야 할 내용이 너무나 많습니다!)
IRC. 빠른 답이 필요한 질문이 있습니까? 전 세계에 있는 스퀵 사용자를 만나고 싶으십니까? Irc.freenode.net에 있는 "#squeak" 채널은 IRC 채널에서 긴 시간의 회의에 참여할 수 있는 훌륭한 장소입니다. 잠시 들르셔서 "Hi!" 라고 인사말을 남겨주세요!
다른 사이트. 오늘날 다양한 방식으로 스퀵 커뮤니티를 지원하는 여러 곳의 웹사이트가 있습니다. 그 사이트 중 몇 군데를 적어두었습니다.
- people.squeakfoundation.org 는 스퀴커를 위한 "advogato.org"와 같은 종류의 SqueakPeople 사이트입니다. 이 웹사이트는 게시글, 다이어리 그리고 흥미로운 신용 통계 시스템을 제공합니다.
- http://planet.squeak.org 는 RSS 수집 역할을 하는 PlanetSqueak 사이트입니다. 이 사이트는 스퀵에 대한 수많은 자료들을 얻을 수 있는 좋은 곳입니다. 스퀵 개발자들과 스퀵에 관심있는 다른 사람들이 기고하는 최신 블로그 내용이 있습니다.
- http://www.frappr.com/squeak 은 전 세계에 있는 스퀵 사용자를 추적하는 사이트입니다.
예시와 연습
이 책에서 두 가지 특별한 규칙을 사용합니다.
가능한 많은 예시를 제공하려고 했습니다. 특히, 실행 가능한 코드 일부를 보여주는 많은 예시를 넣었습니다. 우리는 사용자가 프로그램식(expression)과 print it을 선택할 때 얻을 수 있는 결과를 나타내기 위해 → 심볼을 사용하였습니다[3]:
3 + 4 → 7
이러한 코드 일부를 가지고 스퀵을 즐기시려는 경우, 이 책의 웹사이트에서 모든 예제 코드와 텍스트 파일을 다운로드 할 수 있습니다: SqueakByExample.org
우리가 사용하는 두 번째 규칙은 사용자가 무엇인가를 해야 할 경우 아이콘을 표시하는 것입니다.
감사의 말
스몰토크에 대한 칼럼 일부 번역을 허락해 준 Hilaire Fernandes와 Serge Stinckwich, 스트림에 대한 장을 기고해준 Damien Cassou에게 감사드리고 싶습니다. 또한 스퀵 로고를 사용하게 해준 Tim Rowledge와 원본 표지 그림을 사용하게 해준 Frederica Nierstrasz에게도 감사드립니다.
특히 첫 번째 출판 초안에 조언을 해준 Renggli와 Orla Greevy에게 감사를 표현하고 싶습니다.
이 책의 웹사이트 제공을 위해 이 오픈소스 프로젝트를 자비롭게 지원해준 스위스 bern 대학교 관계자 여러분께 감사를 드립니다.
또한 이 프로젝트에 대해 열정적인 지원을 해주고 이 책의 첫 판에서 발견한 오류를 알려준 스퀵 커뮤니티 여러분께 감사를 드립니다. 마지막으로, 우리가 사용할 수 있도록 놀라운 개발 환경을 만들어준 가장 먼저 스퀵을 개발한 팀께 감사드립니다.
Notes
- ↑ Alec Sharp, Smalltalk by Example. McGraw-Hill, 1997 http://stephane.ducasse.free.fr/Freebooks/ByExample/
- ↑ http://www.surfscranton.com/architecture/knightsPrinciple.htm
- ↑ "3+4 를 선택하고 "print it"을 하면 7 을 얻게 됩니다"