첫째, 스크립팅 언어는 일반적으로 컴파일되지 않습니다 . 그것은 일반적으로 그것들을 스크립팅 언어로 정의하는 것의 큰 부분입니다. 그들은 종종 대신에 "통역"된다. 이것이 기본적으로 의미하는 것은 다른 언어 (한 있다는 것입니다 되어 줄 단위, 실시간으로 텍스트로 읽기, 작업을 수행하지보다 더 자주, 컴파일이).
이 언어와 다른 언어의 차이점은 스크립팅 언어가 더 단순한 경향이 있다는 것입니다 (일반적으로 "높은 수준"이라고 함). 그러나 컴파일러는 코딩의 "인간 요소"와 함께 발생하는 많은 문제를 최적화하는 경향이 있으므로 결과적으로 이진 파일이 더 작고 읽기 쉬운 경향이 있습니다. 또한 컴파일 된 프로그램과 함께 실행중인 코드 를 읽기 위해 실행해야하는 다른 프로그램의 오버 헤드가 줄어 듭니다 .
지금, 당신은 생각할지도 모릅니다. "글쎄요. 좀 더 쉬워졌지만 왜 누군가가 약간의 사용 편의성을 위해 그 성능을 포기할까요?"
이 가정에 홀로 있지는 않지만 스크립트 언어를 사용하여 수행하는 작업에 따라 수행 편의성이 성능을 희생 할 가치가 있습니다.
기본적으로 : 개발 속도가 프로그램 실행 속도보다 중요한 경우에는 스크립팅 언어를 사용하십시오. 게임 개발에는 이와 같은 상황이 많이 있습니다. 특히 고급 이벤트 처리와 같은 사소한 것들을 다룰 때.
편집 : 루아가 게임 개발에서 인기있는 이유는 그것이 지구상에서 가장 빠른 (가장 빠른 것은 아니지만) 공개적으로 사용 가능한 스크립트 언어 중 하나이기 때문입니다. 그러나이 추가 속도로 인해 일부 편의성이 희생되었습니다. 즉, C 또는 C ++를 직접 사용하는 것보다 여전히 편리합니다.
중요 편집 : 추가 연구 결과 스크립팅 언어의 정의에 대해 더 많은 논란이 있음을 발견했습니다 ( Ousterhout의 이분법 참조 ). 언어를 "스크립팅 언어"로 정의하는 주된 비판은 언어가 해석되거나 컴파일 된 언어의 구문이나 의미에 중요하지 않다는 것입니다.
일반적으로 "스크립팅 언어"로 간주되는 언어는 일반적으로 컴파일되지 않고 전통적으로 해석되지만 "스크립팅 언어"로 정의되는 길고 짧은 것은 실제로 사람들이 언어를 보는 방식과 제작자가 정의한 방식의 조합에 달려 있습니다.
일반적으로, 위의 링크 된 기사에 따라 다음 기준을 충족하는 언어는 스크립트 언어 (오우 스터 하우 트의 이분법에 동의한다고 가정)로 쉽게 간주 될 수 있습니다.
- 그들은 동적으로 입력됩니다
- 복잡한 데이터 구조를 거의 제공하지 않습니다.
- 그 안의 프로그램 (스크립트)이 해석됩니다
또한 언어가 다른 프로그래밍 언어 (일반적으로 스크립팅 언어로 간주 되지 않는 언어) 와 상호 작용하고 작동하도록 설계된 경우 언어가 스크립팅 언어 인 것으로 종종 인정 됩니다.