Page 16 -
P. 16

인한다면 사용자는 조금 더 편하게 쓸 수 있다. 하지만 동시에 코드는 더
              길고 복잡해진다. 대개 프로그램이 덜 엄격할수록 코드가 길어지는데 이는

              필연적으로 복잡성을 증가시킨다.


                  프로그래머를 위한 프레임워크나 언어를 만드는 중이라면 ‘덜 엄격한’ 인터
                  페이스는 최대한 간소하게 만드는 게 좋다. 그러면 사용성을 위해 단순성
                  을 희생하지 않아도 되므로 사용성과 단순성, 두 마리 토끼를 모두 잡을 수
                  있다.

                물론 사용자가 O1n1e1을 입력해도 ‘1’로 인식되게 한다면 코드가 필요

              이상으로 복잡해지므로 그보다는 엄격해야 한다.
                앞에서 든 예처럼 엄격성은 대체로 입력과 연관된다. 출력이 항상 특정한

              표준에 맞추어 나오도록 엄격하게 통제하는 애플리케이션도 물론 있다. 하
              지만 애플리케이션이 엄격하냐 아니냐는 대체로 어떤 입력을 허용하고 어

              떤 입력이 에러를 일으키게 할 것이냐로 구분되는 경우가 많다.
                엄격성과 관련하여 가장 악명이 높은 사례는 아마 HTML일 것이다. 애초

              에 아주 엄격하게 설계되지 않았기 때문에 웹 브라우저 디자이너들이 엄청

              나게 고생해야 했다. 결국 표준화가 되긴 했지만 그렇게 되기까지 HTML
              코드는 대부분 아주 엉망이었고 지금도 크게 좋아지지는 않았다. 애초에 엄

              격하게 만들지 않았기 때문에 이제 와서 하위 호환성을 깨뜨리고 엄격하게
              만드는 건 불가능하다.

                HTML이 엄격하지 않게 설계됐기 때문에 널리 사용되고 인기를 끈 것이
              라고 주장하는 사람들도 있다. 웹 브라우저가 유효하지 않은 HTML을 받아

              들이지 않고 늘 에러를 일으켰다면 사람들은 HTML을 쓰지 않았을 거라고 말

              이다.
                말도 안 되는 주장이다. 종업원이 “저희 가게에는 없는 메뉴예요.”라는






          046




     심플소프트웨어_06.indd   46                                                 2019-10-18   오전 10:33:59
   11   12   13   14   15   16   17   18   19   20   21