yuchi's Development Home
글 수 694
코딩
제 4 권
도사 프로그래머 가라사대:
"잘 짠 프로그램은 그 자체로 천국이며,
못 짠 프로그램은 그 자체로 지옥이니라."
4.1
프로그램은 작고 민첩해야하며, 그 서브루틴은 마치 진주 목걸이처럼
연결되어 있어야 한다. 프로그램의 내용과 정신은 일관적이어야 한다.
프로그램은 너무 작아도 너무 많아도 아니되며, 필요없는 루프나
필요없는 변수가 있어서는 아니되며, 구조가 없어도 아니되며
지나치게 경직되어도 아니된다.
프로그램은 '최소 경악의 법칙'을 따라야 한다. 이 법칙이
무엇이냐고? 프로그램은 사용자를 최소로 놀라게 하는 방향으로
반응해야 한다는 뜻이다.
프로그램은 아무리 복잡하더라도 하나의 객체처럼 동작해야 한다.
프로그램은 외관보다는 내부의 논리에 따라 작성되어야 한다.
프로그램이 이러한 요구를 따르지 못하면 무질서와 혼란이 발생한다.
이를 고치는 유일한 방법은 프로그램을 다시 작성하는 것 뿐이다.
4.2
제자가 스승에게 묻기를: "프로그램을 짰는데 때로는 작동하고 때로는
작동하지 않습니다. 프로그래밍 법칙을 모두 따랐는데 왜 이런 일이
생기는지 도무지 알 수가 없습니다. 이유가 무엇입니까?"
스승이 답하기를: "너는 도를 깨닫지 못했기에 당황하는 것이니라.
사람들이 이성적으로 행동하리라 믿는 것은 오직 바보뿐이다. 너는
어찌하여 사람이 만든 기계로부터 이성적인 행동을 바라느뇨?
컴퓨터는 결정론을 흉내내는 것 뿐이다. 오직 도만이 완전하다.
프로그래밍의 법칙은 일시적이며, 오직 도만이 영원하다. 따라서 너는
깨달음을 얻기 위해 도를 명상해야 할 것이니라."
"하지만 제가 깨달음을 얻었는지 어떻게 알 수 있습니까?" 제자가
물었다.
"그 때가 되면 프로그램이 제대로 돌아갈 것이다." 스승이 말했다.
- 프로그래밍의 도에서 발췌
이것이 진리다.
제 4 권
도사 프로그래머 가라사대:
"잘 짠 프로그램은 그 자체로 천국이며,
못 짠 프로그램은 그 자체로 지옥이니라."
4.1
프로그램은 작고 민첩해야하며, 그 서브루틴은 마치 진주 목걸이처럼
연결되어 있어야 한다. 프로그램의 내용과 정신은 일관적이어야 한다.
프로그램은 너무 작아도 너무 많아도 아니되며, 필요없는 루프나
필요없는 변수가 있어서는 아니되며, 구조가 없어도 아니되며
지나치게 경직되어도 아니된다.
프로그램은 '최소 경악의 법칙'을 따라야 한다. 이 법칙이
무엇이냐고? 프로그램은 사용자를 최소로 놀라게 하는 방향으로
반응해야 한다는 뜻이다.
프로그램은 아무리 복잡하더라도 하나의 객체처럼 동작해야 한다.
프로그램은 외관보다는 내부의 논리에 따라 작성되어야 한다.
프로그램이 이러한 요구를 따르지 못하면 무질서와 혼란이 발생한다.
이를 고치는 유일한 방법은 프로그램을 다시 작성하는 것 뿐이다.
4.2
제자가 스승에게 묻기를: "프로그램을 짰는데 때로는 작동하고 때로는
작동하지 않습니다. 프로그래밍 법칙을 모두 따랐는데 왜 이런 일이
생기는지 도무지 알 수가 없습니다. 이유가 무엇입니까?"
스승이 답하기를: "너는 도를 깨닫지 못했기에 당황하는 것이니라.
사람들이 이성적으로 행동하리라 믿는 것은 오직 바보뿐이다. 너는
어찌하여 사람이 만든 기계로부터 이성적인 행동을 바라느뇨?
컴퓨터는 결정론을 흉내내는 것 뿐이다. 오직 도만이 완전하다.
프로그래밍의 법칙은 일시적이며, 오직 도만이 영원하다. 따라서 너는
깨달음을 얻기 위해 도를 명상해야 할 것이니라."
"하지만 제가 깨달음을 얻었는지 어떻게 알 수 있습니까?" 제자가
물었다.
"그 때가 되면 프로그램이 제대로 돌아갈 것이다." 스승이 말했다.
- 프로그래밍의 도에서 발췌
이것이 진리다.