스크립트는 보통 컴파일 언어와 대비되는 방식으로 설명되며, 실행 시점에 인터프리터나 다른 런타임이 코드를 읽어 처리하는 언어 또는 코드 스타일을 가리킨다.[1] 다만 실제 언어들은 바이트코드나 가상 머신을 함께 쓰는 경우가 많아, "스크립트냐 컴파일이냐"만으로 완전히 나누기 어렵다.[2]
1. 개요
스크립트라는 말은 좁게는 스크립트 언어를 뜻하지만, 넓게는 자동화용 코드, 웹 페이지의 동적 동작, 셸 환경의 제어처럼 특정 실행 환경을 보조하는 코드까지 포함해 쓰인다.[7] 이런 용법은 개발자가 응용 프로그램의 핵심 로직을 직접 바꾸지 않고도 행동을 빠르게 조정할 수 있게 해 준다.[6]
이 때문에 스크립트는 프로그래밍 언어 전체를 하나의 규칙으로 묶기보다, "즉시 수정하고 즉시 시험해 보는" 실행 경험을 설명하는 말에 가깝다.[4] 교육 현장이나 실무 문서에서는 정의를 지나치게 단순화하면 오히려 컴파일러와 인터프리터의 차이를 흐리게 만들 수 있다.[2]
2. 실행 방식
3. 역사와 확산
4. 웹과 자동화
5. 보안과 제약
6. 교육적 관점
8. 인용 및 각주
[1] The rise of scripting languages and the fall of Java, Righto, www.righto.com(새 탭에서 열림)
[2] Definitions of “interpreted language” and “compiled language” with explanations of why Python and Java are or are not such languages, Python.org discussion, discuss.python.org(새 탭에서 열림)
[3] Security levels, Tor Project Manual, tb-manual.torproject.org(새 탭에서 열림)
[4] Interpreted vs Compiled Programming Languages: What's the Difference?, freeCodeCamp, www.freecodecamp.org(새 탭에서 열림)
[5] Difference between Compiled and Interpreted Language, GeeksforGeeks, www.geeksforgeeks.org(새 탭에서 열림)
[6] The evolution of an extension language: a history of Lua, Lua.org, www.lua.org(새 탭에서 열림)
[7] The rise of scripting languages and the fall of Java, Righto, www.righto.com(새 탭에서 열림)