Page 13 -
P. 13

측하기 어려워진다. 예컨대 2000년 파이썬 python 2.0에서 ‘Hello, World’
                  를 나타내려면 다음과 같이 작성해야 했다.


                    print "Hello, World!"

                    하지만 이 코드를 파이썬 3에서 실행하면 문법 오류가 발생한다. 파이썬

                  3에서는 다음과 같이 입력해야 한다.

                    print("Hello, World!")


                    2000년에는 예측할 수 없었던 일이다. 예측할 수 있었다 하더라도 그에
                  대해 할 수 있는 조치가 없다. 문법에 변화가 생겨도 쉽게 업데이트할 수

                  있도록 시스템을 최대한 단순하게 유지하는 게 최선이다. 목표를 ‘유연하

                  게’ 혹은 ‘포괄적으로’처럼 추상적으로 잡지 말고 ‘쉽게 이해하고 수정할 수
                  있게’처럼 구체적으로 잡아야 한다.

                    현실에서는 이 규칙을 다음과 같이 논리적으로 확장할 수 있다.

                    1.   예측 대상인 시스템과 그 시스템 환경에 변화가 많을수록 미래 예측

                       이 어려워진다. (단, 해당 시스템과 환경 간 논리적 연관성이 적을수
                       록 환경의 영향은 줄어든다. 가령 엔진의 변화는 자동차 관련 시스템

                       에 영향을 미치지만, 사과나무의 변화는 영향을 미치지 않는다.)

                    2.  시스템이 복잡할수록 더 많은 변화를 거쳐야 한다.

                    3.   그러므로 예측하고자 하는 시스템이 복잡할수록 예측은 더 어려워
                       진다.


                    단, 내가 이러한 규칙을 알려주었다고 해서 미래에 관한 예측을 근거로

                  하여 설계에 관한 결정을 내리라는 뜻으로 오해하는 사람은 없기를 바란다.







                                                                  10장  미래 예측의 정확성  043




     심플소프트웨어_06.indd   43                                                 2019-10-18   오전 10:33:59
   8   9   10   11   12   13   14   15   16   17   18