[Dynamic Checks]
: 초기화안된 모든 변수들에 실행하기 전에 전부 default value를 제공하는 방법 대신,
실행시점에 초기화되지 않은 변수들을 dynamic semantic error로 취급하고 이 오류들을 발견할 수 있게 하는 방법.
[Dynamic Check의 장점]
: 위와 같은Semantic error 방식을 사용하면 제공된 기본값에 의해 가려지거나 더 미묘한 프로그램 버그를 식별하는데 탁월하다.
: 특정 확실한 타입들(certain types)에 대해 default value방식을 사용하는 것과 비용이 비슷하다.
ex) IEEE 기반 언어, 즉 대부분의 언어들의 초기화되지 않은 부동소수점 연산을 NAN 값으로 채워진다. 그리고 이러한 값으로 채워진 변수를 사용하려는 시도는 HW interrupt가 발생한다) 이러한 interrupt는 시맨틱 에러 메세지 발생을 사용하고 잡아내는 방식을 의미하므로 결국 동일한 결과이다 |
: 그외의 대부분의 타입들에서 실행시점에 모든 초기화되지 않은 변수들을 사용하는것을 잡아내는 비용이 비싸다.
'[프로그래밍 언어론]' 카테고리의 다른 글
프로그래밍 언어론 6-1-3강(4). 생성자 초기화 (Constructors) (0) | 2019.11.15 |
---|---|
프로그래밍 언어론 6-1-3강(3). 확실한 초기값 할당 (Definite Assignment) (0) | 2019.11.15 |
프로그래밍 언어론 6-1-3강. 초기화(Initialization) (0) | 2019.11.15 |
프로그래밍 언어론 6-1-2강(4). Assignments(할당) - 할당 연산자의 조합 (0) | 2019.11.11 |
프로그래밍 언어론 6-1-2강(3). Assignments(할당) - Orthogonality(직교성) (0) | 2019.11.10 |