일전에 GWEB: Go 언어를 위한 문학적 프로그래밍 도구라는 글을 통하여 Go 언어로 즐기는 문학적 프로그래밍 도구인 GWEB을 소개한 바 있습니다. 그 때는 프로그래밍을 영어로만 할 수 있었고 한글을 사용할 수 없었는데, 한글로도 즐길 수 있도록 기능을 개선했습니다.
이번 작업과 아울러 GWEB 자체의 테스트와 버그를 잡기 위해서 스스로 많은 GWEB 예제들을 작성하기도 했습니다.
이 과정에서 이미 잘 알고 있는 간단한 프로그램들, 특히나 코딩 테스트 문제같은 것들을 문학적 프로그래밍으로 재작성함으로써 프로그래밍의 순수한 즐거움을 느낄 수 있었습니다. 도널드 크누스 교수가 왜 그렇게 Literate Programming을 주창했는지 그리고 지금도 그렇게 하고 있는지 조금이나마 느낄 수 있는 순간이었습니다.
다음은 GWEB으로 작성한 프로그램들 목록입니다.
- https://github.com/sjnam/gweb-examples
- https://github.com/sjnam/guitar-tuner
- https://github.com/sjnam/go-lcrq
- https://github.com/sjnam/cht
- https://github.com/sjnam/cdq-dc
특히 마지막 두 개 cht와 cdq-dc는 PS를 공부하는 사람이라면 반드시 배워야 하는 Convex Hull Trick과 CDQ Divide and Conquer에 관련된 내용입니다. 거기에는 다른 예제들과 달리 TeX에 익숙치 않은 분들도 문학적 프로그래밍을 맛볼 수 있도록 pdf 파일들을 일부러 넣어놨습니다. Go 프로그래밍 언어에 익숙치 않더라도 프로그래밍을 공부하는 이들은 읽어 볼 것을 권합니다.
문학적 프로그램을 작성하는 과정은 코딩이 아니라 감히 집필이라고 말할 수 있겠습니다. 읽다보면, 마치 수필이나 짧은 단편 소설을 읽는 듯한 즐거움을 느낄 것이라고 확신합니다.
감사합니다.

2 hours ago
1


![[속보] 北, 韓·EU성명에 “체제존중 위장 내던져…韓 적대 원칙 불변”](https://pimg.mk.co.kr/news/cms/202606/13/news-p.v1.20260613.89255ddca2b0487c98e7f979e85a8a39_R.jpg)




English (US) ·