GN⁺: 일반인을 위한 Janet (2023)
(ianthehenry.com)-
Janet for Mortals
-
책 _Janet for Mortals_는 Janet이라는 프로그래밍 언어에 관한 내용이며, 무료로 제공됨. 이 블로그 글은 책을 홍보하기 위한 것이며, 책을 읽지 않은 사람에게는 흥미롭지 않을 수 있음.
-
책 작성 과정
- 책 작성에 20주가 소요되었으며, 처음에는 12주로 예상했으나, 책과 관련된 코딩 작업이 추가로 필요했음.
- 최종 책은 44,000단어로, 코드 스니펫을 제외한 영어 산문으로 구성됨.
- 책 작성 외에도 웹사이트,
jimmy
, Toodle.Studio,cmd
,judge
,to do
등의 프로젝트에 시간을 투자했음.
-
웹사이트 (2주)
- Janet for Mortals 웹사이트는 내장된 REPL을 제공하여, 사용자가 언제든지 코드를 실행할 수 있음.
- CodeMirror를 사용하여 Janet 언어에 대한 기본적인 언어 지원을 구현했으며, 문법 강조 기능을 추가함.
- Remark를 사용하여 책의 소스를 파싱하고, REPL의 자동 완성 기능을 구현함.
-
jimmy
(1주)- C++ 라이브러리인 immer와의 상호 운용성을 보여주기 위해 일부 바인딩을 작성했으나, 완성하지는 않았음.
-
https://toodle.studio (2주)
- Janet을 브라우저에 임베딩하는 방법을 연구하여, Bauble이라는 예술 놀이 공간을 만들었음.
- Toodle.Studio는 Bauble의 확장판으로, JavaScript와의 상호 운용성이 더 복잡함.
-
cmd
(2주)- Janet의 명령줄 인수 파싱 라이브러리인
cmd
를 개발하여, Janet이 스크립팅 언어로서의 장점을 강조함.
- Janet의 명령줄 인수 파싱 라이브러리인
-
judge
(1주)-
judge
는 Janet에서 테스트를 작성하기 위한 프레임워크로, API와 구현을 개선하여 사용하기 더 편리하게 만듦.
-
-
to do
(2시간)- Bash로 작성했던 할 일 목록 관리 앱을 Janet으로 다시 작성하여, 더 많은 기능을 추가함.
-
책 홍보
- Hacker News와 Lobsters에 책을 제출했으며, 많은 방문자를 유치함.
- 실제로 책을 읽은 사람의 수는 적지만, 387명의 사용자가 5개 이상의 챕터를 읽은 것으로 추정됨.
-
재미있는 사실
- Janet 언어는 _The Good Place_의 불멸의 존재인 Janet에서 이름을 따옴.
- 가장 적은 방문을 기록한 챕터는 "Testing and Debugging"이며, 이는 저자가 가장 흥미롭다고 생각하는 챕터 중 하나임.
- REPL 보고 기능을 통해 494개의 보고서를 받았으며, 대부분은 긍정적인 피드백이었음.
-
_Janet for Mortals_는 무료로 제공되며, 많은 사람들이 Janet 언어를 즐길 수 있도록 권장함.
Hacker News 의견
-
Bauble Studio는 재미있는 그래픽을 만들 수 있는 도구임. 오래된 컴퓨터에서는 작동하지 않지만 도서관 컴퓨터에서 사용해보면 흥미로움
- Janet 언어는 GNU Guile과 비교할 때 흥미로움. Guile은 C와 쉽게 사용할 수 있도록 설계되었지만, 최신 기능은 부족함
- Guile의 RNRS 표준과의 호환성 설명에 많은 노력을 기울인 점이 좋음
- Janet이 얼마나 Scheme에 가까운지는 궁금함
-
"거북이는 은유"라는 표현에 대해 실제로는 거북이가 실제였다는 의견
- 과거의 하드웨어가 재미있고 귀여웠다는 느낌을 줌
-
Janet을 배우는 데 실용적인 접근 방식을 제공하는 책이 마음에 듦
- Everybody Codes에서 Janet을 배우고 있음
-
Janet 언어는 "The Good Place"의 불멸의 존재에서 이름을 따옴
- PEG(Parsing Expression Grammar)를 기본 제공하는 점이 놀라움
-
TFA의 블로그 포스트를 통해 분리형 기계식 키보드에 관심을 가지게 됨
- 어깨와 손목 통증에 도움이 되었음
-
Janet을 배우는 데 도움이 된 책이 있음
- Lisp 계열 언어를 시작하는 데 어려움을 겪었지만, 이 책이 도움이 됨
- 책의 매크로 예제가 약간 복잡하지만, 이를 넘어서면 쉽게 이해할 수 있음
-
글쓰기 스타일이 약간 유머러스하고 Douglas Adams를 연상시킴
- Janet에 큰 관심은 없지만 글쓰기 스타일이 매력적임
-
글쓰기 스타일 덕분에 함수형 프로그래밍과 Janet 언어에 더 깊이 빠져들게 됨