2007년 10월 22일 월요일

Java에는 왜 전처리기가 없을까?

Java에는 왜 전처리기가 없을까요? 이것 역시 복잡성을 제거하기 위해서라고 합니다.

전처리기를 요구하는 개발자도 상당히 많고, 이를 대신해서 사용할 꼼수(하지만 그 어느것도 궁극적인 해답이 될 수 없음)도 여럿 등장했는데도 왜 고슬링은 전처리기를 넣어주지 않을까요? 전처리기만 있으면 컴파일 매개 변수만 바꿔주면 될 것을, 소스 코드를 일일이 바꾸거나 런타임에서 조건을 체크해야 합니다.

결국 저는 오늘 하루종일 이 궁리 저 궁리를 하다가 Facade 를 만들고 그 안에 기존의 클래스와 새로운 병행 버전의 클래스를 넣기로 했습니다. 그리고 기존 클래스의 레퍼런스를 추적해서 Facade를 거쳐 객체를 사용하도록 바꾸고요.

예쁘고 가지런했던 코드중의 한쪽이 다른 모양으로 바뀌어서 속상하네요. 이럴 때면 "처음부터 다시 만들고 싶다."라는 악마의 속삭임이 시작되지만, 저는 귀차니즘이라는 천사의 도움을 받아 위기를 극복합니다.

그나저나 고슬링, Java 7에서는 전처리기 좀 넣어주지 않겠습니까?


댓글 없음:

댓글 쓰기