글쓰기에서는 단어를 고르고 문장을 나누고 읽는 순서를 정한다. 코딩에서도 요소의 이름과 관계, 사건이 일어날 조건을 적어 독자가 만날 경험을 만든다. 새로운 질서의 교육에서 이 둘을 함께 살피면 문법을 외우는 일과 무엇을 표현할지 고르는 일을 연결해볼 수 있다.
한 문서로 시작하는 실습
좋아하는 장소 하나를 소개하는 HTML 문서를 만든다고 가정해보자.
- 제목과 짧은 문단, 링크 하나부터 적고 웹 브라우저에서 열어보자. 첫 문서에 종합 쇼핑몰만큼의 일을 맡기지 않아도 된다.
- 같은 문장을 목록으로 바꾸고 문단과 목록의 읽는 순서를 비교하자. 차이는 자기 말로 적어보자.
- 취향을 위한 작은 웹사이트처럼 좋아하는 것을 소개하고 코드 옆의 첫 문장을 남겨보자. “이걸 왜 만들었더라?” 하고 돌아올 내일의 나에게 보내는 짧은 쪽지다.
어깨동무에서 같은 내용을 문단과 목록으로 표현한 예도 참고할 수 있다.
이 실습에서는 제약을 한 번에 하나씩 바꾸는 편을 제안한다. CSS를 더하기 전후를 비교하고, 자바스크립트를 쓴다면 방문자의 어떤 행동에 무엇이 달라질지 먼저 문장으로 적는다. 결과물이 생각을 다시 살피는 재료가 된다는 점에서 컨스트럭셔니즘과 연결해 읽을 수 있지만, 파일을 만들었다는 사실만으로 배움을 판단할 수는 없다. 만든 사람이 자신이 한 선택을 설명하고 다시 고칠 수 있는지도 함께 살펴보자.
문학적 프로그래밍은 코딩과 글쓰기의 관계를 한 걸음 더 구체적으로 다루는 방법이다. 사람이 읽는 설명과 실행할 코드를 함께 조직한다는 점에서, 웹 페이지에 문장을 쓰는 앞의 실습과는 목표가 다르다. 설명을 먼저 쓰는 코딩 연습에서는 처리할 규칙과 예외를 먼저 적고 코드가 그 설명을 따르는지 비교해볼 수 있다.