스크립트 언어: 두 판 사이의 차이

편집 요약 없음
 
(사용자 5명의 중간 판 11개는 보이지 않습니다)
1번째 줄: 1번째 줄:
[[분류: 컴퓨터 프로그래밍]]
'''스크립트 언어'''란 [[인터프리터]] 위에서 실행되는 언어들을 이야기한다.
스크립트 언어란 [[인터프리터]] 위에서 실행되는 언어들을 이야기 한다.


== 기본 개념 ==
== 기본 개념 ==
일반적인 프로그래밍 언어들은 만들어지고 나서 [[컴파일]]과정을 거친뒤 실행파일이 생긴다. 이 실행파일은 실행되기 위한 파일로 OS마다 다르게 만들어 진다. 그렇기 때문에 OS별로 호환이 안되 불편함이 생길 수도 있고, 버그등이 나타날수도 있다.
일반적인 프로그래밍 언어들은 만들어지고 나서 [[컴파일]] 과정을 거친 뒤 실행 파일이 생긴다. 이 실행 파일은 실행되기 위한 파일로 [[운영체제]]와 [[아키텍처]]에 따라 다르게 만들어진다. 그렇기 때문에 OS별로 호환이 안 돼 불편함이 생길 수도 있고, 버그 등이 나타날 수도 있다.


그렇지만 스크립트 언어들은 실행시 실행파일이 생기는게 아니라, 그것을 읽고 해석해 주는 해석기([[인터프리터]])가 읽고 해석해서 서술된 명령을 고대로 따라하는게 주된 개념이다. 만약 [[인터프리터]]만 만든다면 어떤 운영체제 위에서든 동일하게 동작하기 때문에 프로그램의 개발이 간편해지고, 버그등의 가능성도 줄어들게 된다.
그렇지만 스크립트 언어들은 실행 시 실행 파일이 생기는 게 아니라, 그것을 읽고 해석해 주는 해석기([[인터프리터]])가 읽고 해석해서 서술된 명령을 그대로 따라 하는 게 주된 개념이다. 만약 인터프리터만 만든다면 어떤 운영 체제 위에서든 동일하게 동작하기 때문에 프로그램의 개발이 간편해진다.
다만 일반적인 프로그램에는 없는 [[인터프리터]]가 더 있기 때문에, 일반적으론 느리다.<s>매우 느리다</s>


[[자바 스크립트]][[Python|파이썬]], [[루비]]등이 스크립트 언어의 대표적인 예이다.
컴파일 언어에는 없는 [[인터프리터]]가 끼어 있기 때문에 일반적으로 속도가 느리다. 그러나 현대에는 [[JIT 컴파일]]과 같은 기술이 도입되어 속도가 많이 개선된 편이다.
 
컴파일 언어는 컴파일하는 동안에 많은 오류들을 잡아낼 수 있으나, 스크립트 언어는 대부분 런타임에 오류가 발생하여 예방이 힘든 점이 단점으로 지적받는다.
 
== 종류 ==
* [[JavaScript]]
* [[Python]]
* [[Ruby]]
* [[PHP]]
* [[Perl]]
* [[Lua]]
 
[[분류:프로그래밍 언어]]

2019년 1월 3일 (목) 01:09 기준 최신판

스크립트 언어인터프리터 위에서 실행되는 언어들을 이야기한다.

기본 개념[편집 | 원본 편집]

일반적인 프로그래밍 언어들은 만들어지고 나서 컴파일 과정을 거친 뒤 실행 파일이 생긴다. 이 실행 파일은 실행되기 위한 파일로 운영체제아키텍처에 따라 다르게 만들어진다. 그렇기 때문에 OS별로 호환이 안 돼 불편함이 생길 수도 있고, 버그 등이 나타날 수도 있다.

그렇지만 스크립트 언어들은 실행 시 실행 파일이 생기는 게 아니라, 그것을 읽고 해석해 주는 해석기(인터프리터)가 읽고 해석해서 서술된 명령을 그대로 따라 하는 게 주된 개념이다. 만약 인터프리터만 만든다면 어떤 운영 체제 위에서든 동일하게 동작하기 때문에 프로그램의 개발이 간편해진다.

컴파일 언어에는 없는 인터프리터가 끼어 있기 때문에 일반적으로 속도가 느리다. 그러나 현대에는 JIT 컴파일과 같은 기술이 도입되어 속도가 많이 개선된 편이다.

컴파일 언어는 컴파일하는 동안에 많은 오류들을 잡아낼 수 있으나, 스크립트 언어는 대부분 런타임에 오류가 발생하여 예방이 힘든 점이 단점으로 지적받는다.

종류[편집 | 원본 편집]