스크립트 언어와 개발 도구(IDE)

Posted 2008. 11. 29. 23:09

마이크로소프트웨어 2008년 9월 박스 기사입니다.

흔히 스크립트 언어는 개발 도구 개발이 어렵다고 생각하는 사람이 많다. 동적 타입 시스템을 사용하는 스크립트 언어는 실행 전에 정확한 타입 정보를 알기 어렵기 때문이다. 예를 들어, MS 비주얼 스튜디오 인텔리센스(IntelliSense)는 자동으로 변수 혹은 함수 이름을 완성해주는 기능이다. 하지만 불행히도 스크립트 언어는 인텔리센스 같은 자동 완성 기능을 완벽히 지원하기 어렵다. 변수의 정확한 타입을 모르기 때문이다. 또 다른 예로, 리팩토링이 있다. 메서드 이름 변경 리팩토링을 했을 때 스크립트 언어는 메서드가 사용된 위치를 100% 정확히 파악할 수 없다.

 

하지만 개발 도구 지원이 약한 것이 반드시 언어 특징 때문은 아니다. 정적 타입 시스템을 사용하는 언어라고 크게 상황이 다르지 않기 때문이다. 예를 들어 자바는 정적 타입 시스템을 사용하지만 컴파일 타임에 모든 정보를 알 수 있지는 않다. 대표적인 예가 리플렉션(reflection)이다. 자바도 실행 시에 문자열로 메서드 이름이나 필드 이름을 참조할 있기 때문에 스크립트 언어와 마찬가지로 인텔리센스나 리팩토링 기능이 정확할 수 없다. 스크립트 언어 개발 도구가 미흡한 것은 아직 다른 언어처럼 개발 도구 개발에 많은 노력을 하지 않았기 때문으로 보는 것이 옳다.