Factor 배우는 방법

Factor를 처음부터 시작하는 방법을 한눈에 살펴봐요.


Factor를 배우는 데 좋은 자료가 아주 많아요.

  • Andrea Ferretti의 Factor 튜토리얼은 스택 기초부터 시작해 메타프로그래밍, 분산 컴퓨팅, Furnace를 이용한 웹 개발로 나아가며 언어를 자세히 훑어 주는 안내서예요.

  • Factor in 2022는 John Benediktsson과 Doug Coleman이 2022년에 한 발표로, 언어를 둘러보고 오늘날 이 언어를 쓰는 게 어떤 느낌인지 보여줘요.

  • Leo Brodie의 Thinking Forth는 Forth의 설계 철학과 사고 습관에 관한 고전이에요. Factor는 Forth가 아니지만 연결형 스택 기반 사고방식을 물려받았고, Brodie의 책은 그런 사고방식을 소개하는 최고의 입문서예요.

  • Factor의 문서는 훌륭하고 방대해요. 오프라인에서도 볼 수 있고, GUI Listener나 명령줄에서 바로 검색할 수 있으며, 같은 검색 가능한 문서를 온라인에서도 볼 수 있어요.

  • Björn Lindqvist의 playground-factor는 흥미로운 팁과 요령이 가득한 저장소예요. Factor 개발자 중 한 명인 Björn은 이 저장소를 자주 업데이트하지 않고 아직 작업 중이지만(내용 상당수가 GitHub Wiki로 옮겨지고 있어요), 그래도 아주 멋진 내용이에요.

  • Learn X in Y Minutes에는 Factor 튜토리얼이 있어요. 그렇게 방대하지는 않지만, 좋은 참고 자료이고 시작하기에는 충분해요.

  • Rosetta Code: Factor는 프로그래밍 선집 사이트의 일부예요. 수백 개의 다른 언어와 함께 많은 문제의 Factor 풀이가 있어서 이미 알고 있는 언어와 비교해 볼 수 있어요. 해법을 찾을 때 좋은 참고 자료이자 출발점이에요.

마지막으로, 그리고 어쩌면 가장 덜 중요한 것으로:

  • Stack Overflow도 있어요. 커뮤니티가 크지는 않지만(사실 저를 포함해 세 명 정도예요), 정말 정말 막혔을 때 물어보면 누군가 반드시 도와줄 거예요.

  • 메일링 리스트도 있어요. 여기서는 Factor와 관련된 무엇이든 물어볼 수 있고, 협력자가 친절하게 답해줄 거예요.

  • Factor는 IRC에도 있어요! 놀러 오세요. 기꺼이 도와드릴게요.

  • Joy, Forth, 그리고 연결형 / 스택 기반 프로그래밍 전반에 대해 배우고 읽어보세요.

  • Common Lisp Object System에 대해서도 배우고 읽어보세요. CLOS는 세계에서 가장 발전되고 혁신적인 객체 모델로 널리 인정받고 있으며, Factor의 객체 모델도 여기에 크게 기반을 두고 영감을 받았어요.

  • 여러모로 Factor는 Lisp이에요. 후위 표기식에, 포인트 프리이고, 함수형이며, 안팎이 뒤집히고 거꾸로 된 우스꽝스러운 모습이지만, 많은 철학은 닮아 있어요. 그래서 Lisp을 배우면 도움이 될 수 있어요. 특히 함수와 변수가 하나의 이름 공간을 공유하는 Lisp-1이 좋아요(함수형 프로그래밍에서는 함수가 값이니까요). 감히 제가 Scheme을 추천드리고, 더 현대적이고 쓸 만한 것을 원한다면 Scheme의 후손인 Racket을 권해요.

마지막으로, Factor는 거의 전부 Factor로 작성되어 있어요. 그러니 소스 코드를 읽어보고, 모르는 단어는 문서에서 검색해 보세요.