나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2025-03-09 05:36:03

스크립트 언어

파일:다른 뜻 아이콘.svg  
#!if 넘어옴1 != null
'''스크립트'''{{{#!if 넘어옴2 != null
, ''''''}}}{{{#!if 넘어옴3 != null
, ''''''}}}{{{#!if 넘어옴4 != null
, ''''''}}}{{{#!if 넘어옴5 != null
, ''''''}}}{{{#!if 넘어옴6 != null
, ''''''}}}{{{#!if 넘어옴7 != null
, ''''''}}}{{{#!if 넘어옴8 != null
, ''''''}}}{{{#!if 넘어옴9 != null
, ''''''}}}{{{#!if 넘어옴10 != null
, ''''''}}}은(는) 여기로 연결됩니다. 
#!if 설명 == null && 리스트 == null
{{{#!if 설명1 == null
다른 뜻에 대한 내용은 아래 문서를}}}{{{#!if 설명1 != null
{{{#!html 해당 단어의 본래 뜻}}}에 대한 내용은 [[대본]] 문서{{{#!if (문단1 == null) == (앵커1 == null)
를}}}{{{#!if 문단1 != null & 앵커1 == null
의 [[대본#s-|]]번 문단을}}}{{{#!if 문단1 == null & 앵커1 != null
의 [[대본#|]] 부분을}}}}}}{{{#!if 설명2 != null
, {{{#!html 마인크래프트의 플러그인}}}에 대한 내용은 [[Skript]] 문서{{{#!if (문단2 == null) == (앵커2 == null)
를}}}{{{#!if 문단2 != null & 앵커2 == null
의 [[Skript#s-|]]번 문단을}}}{{{#!if 문단2 == null & 앵커2 != null
의 [[Skript#|]] 부분을}}}}}}{{{#!if 설명3 != null
, {{{#!html 아일랜드의 록 밴드}}}에 대한 내용은 [[더 스크립트]] 문서{{{#!if (문단3 == null) == (앵커3 == null)
를}}}{{{#!if 문단3 != null & 앵커3 == null
의 [[더 스크립트#s-|]]번 문단을}}}{{{#!if 문단3 == null & 앵커3 != null
의 [[더 스크립트#|]] 부분을}}}}}}{{{#!if 설명4 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단4 == null) == (앵커4 == null)
를}}}{{{#!if 문단4 != null & 앵커4 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단4 == null & 앵커4 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명5 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단5 == null) == (앵커5 == null)
를}}}{{{#!if 문단5 != null & 앵커5 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단5 == null & 앵커5 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명6 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단6 == null) == (앵커6 == null)
를}}}{{{#!if 문단6 != null & 앵커6 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단6 == null & 앵커6 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명7 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단7 == null) == (앵커7 == null)
를}}}{{{#!if 문단7 != null & 앵커7 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단7 == null & 앵커7 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명8 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단8 == null) == (앵커8 == null)
를}}}{{{#!if 문단8 != null & 앵커8 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단8 == null & 앵커8 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명9 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단9 == null) == (앵커9 == null)
를}}}{{{#!if 문단9 != null & 앵커9 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단9 == null & 앵커9 != null
의 [[#|]] 부분을}}}}}}{{{#!if 설명10 != null
, {{{#!html }}}에 대한 내용은 [[]] 문서{{{#!if (문단10 == null) == (앵커10 == null)
를}}}{{{#!if 문단10 != null & 앵커10 == null
의 [[#s-|]]번 문단을}}}{{{#!if 문단10 == null & 앵커10 != null
의 [[#|]] 부분을}}}}}}
#!if 설명 == null
{{{#!if 리스트 != null
다른 뜻에 대한 내용은 아래 문서를}}} 참고하십시오.

#!if 리스트 != null
{{{#!if 문서명1 != null
 * {{{#!if 설명1 != null
해당 단어의 본래 뜻: }}}[[대본]] {{{#!if 문단1 != null & 앵커1 == null
문서의 [[대본#s-|]]번 문단}}}{{{#!if 문단1 == null & 앵커1 != null
문서의 [[대본#|]] 부분}}}}}}{{{#!if 문서명2 != null
 * {{{#!if 설명2 != null
마인크래프트의 플러그인: }}}[[Skript]] {{{#!if 문단2 != null & 앵커2 == null
문서의 [[Skript#s-|]]번 문단}}}{{{#!if 문단2 == null & 앵커2 != null
문서의 [[Skript#|]] 부분}}}}}}{{{#!if 문서명3 != null
 * {{{#!if 설명3 != null
아일랜드의 록 밴드: }}}[[더 스크립트]] {{{#!if 문단3 != null & 앵커3 == null
문서의 [[더 스크립트#s-|]]번 문단}}}{{{#!if 문단3 == null & 앵커3 != null
문서의 [[더 스크립트#|]] 부분}}}}}}{{{#!if 문서명4 != null
 * {{{#!if 설명4 != null
: }}}[[]] {{{#!if 문단4 != null & 앵커4 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단4 == null & 앵커4 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명5 != null
 * {{{#!if 설명5 != null
: }}}[[]] {{{#!if 문단5 != null & 앵커5 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단5 == null & 앵커5 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명6 != null
 * {{{#!if 설명6 != null
: }}}[[]] {{{#!if 문단6 != null & 앵커6 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단6 == null & 앵커6 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명7 != null
 * {{{#!if 설명7 != null
: }}}[[]] {{{#!if 문단7 != null & 앵커7 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단7 == null & 앵커7 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명8 != null
 * {{{#!if 설명8 != null
: }}}[[]] {{{#!if 문단8 != null & 앵커8 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단8 == null & 앵커8 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명9 != null
 * {{{#!if 설명9 != null
: }}}[[]] {{{#!if 문단9 != null & 앵커9 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단9 == null & 앵커9 != null
문서의 [[#|]] 부분}}}}}}{{{#!if 문서명10 != null
 * {{{#!if 설명10 != null
: }}}[[]] {{{#!if 문단10 != null & 앵커10 == null
문서의 [[#s-|]]번 문단}}}{{{#!if 문단10 == null & 앵커10 != null
문서의 [[#|]] 부분}}}}}}


1. 설명2. 컴파일 언어와 다른 점3. 대표적인 언어

1. 설명

스크립트 언어프로그래밍 언어의 한 종류로, 기존에 이미 존재하는 소프트웨어(애플리케이션)를 제어하기 위한 용도로 쓰이는 언어이다.

일반적인 응용 소프트웨어는 컴파일러를 사용하는 언어에 의해 기계어로 번역된 채로 실행되기 때문에, 수정이 빈번하게 발생하면 수정 후 일일이 컴파일을 다시 해야 한다. 덩치가 큰 프로그램은 컴파일 시간도 몇 시간 단위로 잡아먹는 일이 많은 데다, 일일이 컴파일을 다시 하는 것도 상당히 귀찮은 작업이다.

이 때문에 수정이 빈번하게 발생하는 부분은 소스 코드를 한 줄 한 줄 읽어 바로바로 실행하는 인터프리터 방식이 상당히 유리하다. 스크립트 언어는 이런 부분에 사용하기 위해 나온 것으로, 응용 소프트웨어에서 스크립트 언어에 맞는 API를 제공, 응용 소프트웨어와 상호 작용 하면서 돌아가게 된다.

인터프리터 언어와 헷갈리는 사람이 있는데 인터프리터 언어는 인터프리터 방식을 사용하는 언어를 뜻하고 스크립트 언어는 앞서 말했듯이 이미 존재하는 소프트웨어를 제어하기 위한 용도로 쓰이는 언어이다. 단지 스크립트 언어 용도상 인터프리터 방식이 유용하기 때문에 스크립트 언어 대부분이 인터프리터 방식을 쓰는 인터프리터 언어일 뿐.

사실 엄밀하게 잘 정의된 용어는 아니고 편의를 위해 사용하는 명칭이기도 하다. 프로그래밍 언어인데 그 용도가 주로 운영체제 위에서 움직이는 새로운 프로그램을 만드는 것보다는, 기존에 존재하는 어떤 다른 프로그램들을 제어하기 위해 쓰이며 그 기존의 프로그램들 위에서 구동이 지원되는 언어들을 스크립트 언어라고 부르기로 한 것이다. 웹 브라우저에서 구동이 지원되는 자바스크립트나, 플래시를 제어하기 위해 플래시에서 구동이 지원되는 액션스크립트 등이 대표적인 스크립트 언어다. 정의가 애매한 단어이기에 독립적인 프로그램의 개발에 사용되더라도 PC에 미리 설치해 둔 자바 가상 머신에서 돌아가는 Java, 마찬가지로 PC에 미리 설치해 둔 해석기 위에서만 돌아가는 Python이나 Ruby 같은 인터프리터 언어들은 그 자체만으로 스크립트 언어라고 부를지 말지 논란이 일기도 한다.[1]

위에서 스크립트 언어로서 언급된 JavaScript를 봐도 웹 환경이 고도화, 표준화되고 Node.js 런타임이나 Electron 등이 등장함에 따라 그 자체만으로도 독립적인 프로그램 개발에 사용될 수 있도록 발전한지라 이를 단순히 웹 브라우저용 제어 언어라고만 정의할 수가 없게 되었다. 더 나아가 TypeScriptCoffeeScript처럼 컴파일 결과물로 기계어가 아닌 JavaScript를 출력해서 동작하는 언어까지 등장한 상황.

결론적으로 초창기 프로그래밍 언어론 교과서가 쓰였던 시절과는 달리 프로그래밍 언어들이 고도로 발달하고 높은 수준의 추상화가 진행됨에 따라 단순하게 어떤 언어와 그 언어가 동작하는 런타임을 뭉뚱그려서 '이 언어는 XX형 언어이다'라는 식으로 정의하는 것 자체가 무의미해져 가는 추세에 있다.

2. 컴파일 언어와 다른 점

3. 대표적인 언어



[1] 다만 앞서 서술했다시피 저러한 인터프리터 언어들은 구조상 다른 프로그램들에서 스크립트 언어로 사용되기 편리하므로 많은 애플리케이션들에서 스크립트 언어로 사용된다.[2] 프로그래밍 언어로 안 보는 사람들이 있지만, 스크립트 언어이다. 하지만 오토핫키를 한다고 프로그래머 취급을 받지는 않는다.[3] 비주얼 베이직을 기반으로 마이크로소프트에서 만들어진 스크립트 언어이다. VBA 등에 사용되며 확장자는 vbs.[4] Bash, Csh