작은 프로그램과 언어

2 hours ago 3

작은 프로그램은 전체를 이해할 수 있겠다는 감각으로 접근 장벽을 낮춤. 예상보다 훨씬 짧은 코드가 흥미로운 일을 해낼 때, 그 작동 방식을 읽고 싶은 호기심도 커짐 코드 골프와 초소형 구현은 단순한 놀이를 넘어, 복잡해 보이는 개념을 얼마나 작은 구현에 담을 수 있는지 보여줌. 난해한 축약 코드를 직접 해독하지 않아도 이 사실에서 도움을 얻을 수 있음 작은 언어와 표현력 사이에는 대체로 절충이 있지만, Forth, Lisp, Tcl처럼 작은 문법과 높은 유연성을 함께 갖춘 언어도 있음. 다만 익숙한 절차형 언어와는 큰 사고 전환이 필요함 언어의 이해 가능성은 문법 크기만으로 결정되지 않음. 표준 라이브러리, 함께 설치되는 문서, 초보자가 이해할 수 있는 오류 메시지까지 학습 환경의 크기와 접근성에 영향을 줌 작은 코드의 매력은 미니어처의 매력과도 연결됨. 이해와 통제의 감각, 부담이 적은 실험, 질서 있는 작은 세계를 만들고 탐구하는 즐거움이 있음 작은 코드는 읽어볼 만하다는 감각을 줌 Implementing a Forth에 대한 피드백, 특히 초소형 Forth 구현들이 작은 프로그램과 언어의 매력을 돌아보는 계기가 됨 200줄짜리 코드는 2,000줄이나 20,000줄보다 읽어볼 마음이 들기 쉬움. 2,000줄이 필요할 것으로 예상한 일을 20줄로 해낸다면 호기심은 더욱 커짐 RetroV를 만들기 전 DOM 차이 비교 라이브러리를 조사하다 발견한 Luke Jackson의 ijk는 소스 전체가 25줄에 불과했음 Philippe Brochard가 보내온 46바이트짜리 “Forth” 는 기계어조차 충분히 노력하면 끝내 이해할 수 있겠다는 느낌을 줌 관련 내용은 Implementing a Forth의 업데이트에 있음 원시 기계어를 읽는 일 자체가 친숙해서가 아니라, 살펴볼 대상이 극히 작다는 점이 중요함 한 페이지의 인터프리터부터 작은 운영체제까지 Roger K.W. Hui의 An Implementation of J 부록 A인 “Incunabulum”에는 Arthur Whitney가 AT&T 3B1에서 어느 오후에 한 페이지로 작성한 배열 언어 인터프리터 조각이 등장함 전체는 매우 난해한 C 코드 122줄이며, Hui는 그 구성과 프로그래밍 스타일을 약 일주일간 연구했음 코드가 조밀하고 위압적이라는 점에서, 작으면 쉽게 접근할 수 있다는 생각의 반례에 가깝기도 함 J는 APL과 같은 배열 언어 계열로, 간결함과...

Read Entire Article




피플앤툴즈 네트워크
🛍 샵