DeepintoPharo:Chapter 01
- 제 1 장 서문
서문
- "스몰토크는 유연하고 탐구적인 프로그래밍의 훌륭한 도구로 잘 알려져 있다. 본 저서에서 저자들은 스몰토크의 새로운 dialect이자 특히 독창적인 개발자들을 위해 고안된 Pharo를 제시한다. 저자들은 Pharo 팀의 핵심 구성원들로서 다재다능한 OO 교육인들, 연구원들, 디자이너들이다. 저자들을 포함해 많은 이들이 만든 다양한 스몰토크 프로젝트를 Pharo로 이식하였다. Deep into Pharo를 즐기길 바란다"
- - Dave Thomas[1]
프로그래밍 언어는 인간이 컴퓨터에게 할 일을 알려주는 데에 사용하는 가장 간편한 방법에 해당한다. Pharo는 객체 지향 프로그래밍 언어로, 스몰토크의 영향을 많이 받았다. Pharo는 구문과 여러 의미론적 규칙으로 이루어진 대부분의 프로그래밍 언어와는 달리 그 이상이다. Pharo는 광범위하고 유연한 프로그래밍 환경이 함께 온다. 수많은 객체 지향 라이브러리와 프레임워크 덕분에 Pharo는 데이터의 모델링과 시각화, 스크립팅, 네트워킹, 다른 많은 애플리케이션 범위를 특징으로 한다.
흔히 Pharo는 매우 가벼운 구문과 가변성 있는 객체 모델로 유명하다. 초보 학습자와 숙련된 프로그래머 모두 "모든 것은 객체다"라는 패러다임을 즐긴다. 생활환경을 비롯해 Pharo의 단순성과 표현력은 프로그래머에게 경이롭고 유일한 감각을 즐길 수 있는 권한을 부여한다.
Deep into Pharo는 Pharo by Example[2]로 시작된 시리즈에서 두 번째 책에 해당한다. 당신이 읽고 있는 Deep into Pharo는 독자를 흥미로운 Pharo의 부분으로 데려다주는 멋진 여정을 선사한다. FileSystem과 같은 새 라이브러리, Rossal과 Glamour와 같은 프레임워크, 예외나 블록과 같은 시스템 측면의 복합을 다룬다.
책은 5부, 17장으로 나뉜다. 제 1부는 진정한 객체 지향 라이브러리를 다룬다. 제 2부는 소스 코드 관리, 제 3부는 향상된 프레임워크, 제 4장은 언어의 고급 주제, 특히 예외, 블록, 숫자를 다룬다. 마지막 5부는 프로파일링과 파싱을 포함해 툴링(tooling)에 관한 부분이다.
Pharo 는 나날이 성장해가는 강력한 공동체의 지원을 받는다. Pharo의 공동체는 활동적이고, 혁신적이며, 항상 소프트웨어 공학의 한계를 밀어붙인다. Pharo 공동체는 소프트웨어를 생산하는 기업, 일반 프로그래머들로 구성되나 높은 수준의 컨설턴트, 연구원, 교사들이기도 하다. 이 책은 Pharo 공동체 덕분에 존재하므로 우리들을 제2의 가족으로 여기는 집단에게 바치는 바이다.
감사의 말
이 책에 도움을 준 많은 분들에게 감사의 말을 전하고 싶다. 특히 아래 열거된 분들에게 감사함을 전한다:
- Zero Configuration 장에 참여해 주신 Camillo Bruni.
- Socket 장에 참여해 주신 Noury Bouraqadi와 Luc Fabresse.
- Setting Framework 장에 참여하고 그 내용을 Pharo에 통합하기 위해 노력해 주신 Alain Plantec.
- Regex와 Monticello와 같이 몇몇 장의 내용을 작성하고 공동 편집해 주신 Oscar Nierstrasz.
- Metacello 장에 참여해 주신 Dale Henrichs와 Mariano Martinez Peck.
- Glamour 장과 첫 문서에 도움을 주신 Tudor Doru Girba.
- Exception 장에 도움을 주신 Clement Bera.
- Floats 장과 Fun 에 참여해 주신 Nicolas Cellier.
- PetitParser에 도움을 주시고 재팩토링 엔진과 smallLint 규칙에 수고해 주신 Lukas Renggli.
- PetitParser 장에 참여해 주신 Jan Kurs와 Guillaume Larcheveque.
- FileSystem의 초기 버전에 참여해 주신 Colin Putney와 FileSystem을 검토하고 Pharo Core를 재작성 해주신 Camillo Bruni.
- Roassal과 Mondrian 장에 참여해 주신 Vanessa Pena.
- 교정에 도움을 주신 Renato Cerro.
- 질문, 지원, 버그 수정, 기여, 격려를 해주신 독자들.
내용을 검토해 주신 Hernan Wilkinson과 Carlos Ferro, 숫자와 관련된 장에서 피드백을 주신 Nicolas Cellier, Regex 문서를 수정할 수 있는 권한을 제공해 주신 Vassili Bykov에게 감사의 말을 전한다.
그리고 이 오픈 소스 프로젝트를 지원하고 서적의 웹 사이트를 운영하는 Inria Lille Nord Europe에게도 감사하다고 말하고 싶다. 커버를 후원해준 Object Profile 또한 감사하다.
마지막으로 언급하지만 모든 이들만큼 감사의 말을 전하고 싶은 분은 프로젝트를 열정적으로 지원해주시고 제 1판에서 발견된 오류를 알려주신 Pharo 공동체이다.
또한 각 관련 기관과 국가연구기관의 지원과 시설을 제공해주심에 감사의 말씀을 전한다. 특히 칠레 대학교의 프로그램 U-INICIA 11/06 VID 2011, FONDECYT 프로젝트 1120094에도 고마움을 전한다. 끝으로 Plomo Equipe Associee도 감사의 말을 전한다.
Notes
- ↑ David (http://www.davethomas.net)는 현대 소프트웨어 개발 및 객체 기법에서 유명한 인물이다. Thomas는 아마도 현재 IBM OTI Labs가 된 Object Technology International, Inc. 의 창립자이자 전 CEO로 가장 잘 알려져 있을 것이다. OTI는 Eclipse 오픈 소스 IDE의 초기 개발과 Visual Age Java 개발 환경을 책임졌다.
- ↑ http://pharobyexample.org에서 무료로 이용 가능하다.