스크립트 언어(Script Language)의 고찰

공부/복습/컴퓨터과학(Computer Science) 2008/07/03 11:22
스크립트 언어(Script Language)의 고찰 , 2008년 7월 1일  황의범(Xevious7)

  어떤 것을 잘 이해하는 도구중에 하나가 역사를 이해하는 것이다. 역사는 우리에게
아주 많은 것을 알려주는 살아있는 지식과도 같다. 어떤 것을 꿰뚫어 보면서 이해하는
것을 우리는 통찰력이라고 한다. 이러한 통찰력을 가지기 위해서는 한 부분이 아닌
전체를 볼 수 있는 시각을 길러야 하는데 역사는 그러한 것에 도움을 준다.

스크립트(script)라는 말은 원래 연극에서 쓰여진 용어이다. 우리말로 하면 대본이라고
해석될 수 있다. 대본은 연극을 위하여 말하는 것을 담은 '대사'와 행동하는 것을 담은 '지문'
이 존재한다. 이 원어적인 뜻을 잘 이해하면 컴퓨터과학에서 사용되는 스크립트 언어에
대한 반절의 해답이 나오게 된다.

즉, 스크립트 언어는 응용프로그램의 동작을 제어하기 위해서 사용되어진다.
왜 응용프로그램의 동작을 제어하는 것이 필요해졌을까?

스크립트 언어는 필요에 의해서 탄생되어졌다. 스크립트 언어의 최초의 형태는 셀스크립트
이다. 이 형태로 발전되어지기전을 보면 하나의 배치프로세스 파일이 바로 스크립트의
원조이다.

.bat 으로 시작하는 DOS에서 자주 사용했던 배치 파일에 대해서 생각해보자.
물론 배치파일은 현재까지도 잘 남아있다.
이 배치파일이 없다면 어떤 응용프로그램을 사용하기 위해서 항상 똑같은 일련의
명령어를 실행할때 마다 수행하여야 한다.
이러한 불편을 제거하기 위해서 배치파일의 아이디어가 생겼고 배치 파일이 생긴것이다.

도스에서 사용되었던 배치파일 당연히 도스가 원조가 아니다.
컴퓨터의 초창기부터 이러한 불편을 알았던 컴퓨터과학의 선구자들이 초창기 부터
사용하였다.

이러한 명령어 수행의 배치파일은 스크립트의 원조가 된다.
명령어가 다양해지고 배치파일을 수행하는 명령어해석 인터프리터가 똑똑해지면서
배치파일이 하나의 프로그램 언어로 승격화 된다.

그렇다 그것이 바로 스크립트 언어의 시작이다.

스크립트 언어는 어느날 쓸데없는 아이디어로 생겨난것이 아니다. 같은 작업을
반복하는 것을 줄이고 향상된 컴퓨팅 환경에서 최종사용자가 자신의 원하는 대로의
설정을 손쉽게 하기 위해서 탄생되어진 것이다.

예를들어 운영체제의 부팅시 사용되어지는 초기화스크립트를  부팅할때마다
손으로 쳐야된다고 생각해봐라. 또는 수천 수만가지로 달라질 환경이 있을 수 있는데
그때마다 옵션을 메이커에서 정해주어야 한다고 생각해봐라.
생각만 해도 끔찍한 일인 것이다.

그 대신에 셀또는 커맨드라인인터프리터가 해석할 수 있는 스크립트 설정으로
이 끔찍한 일을 해결하는 것이다.

이러한 설정파일또는 배치작업파일 에서 부터 시작한 스크립트 언어는 컴퓨터과학이
발전하고 컴퓨팅환경이 발달하면서 엄청난 발전을 이루었다.

웹이 탄생하면서 자바스크립트 ,asp 같은 웹스크립트 언어가 나오게 되었고
독자적인 프로그램언어로써 다른 기존의 컴파일러 언어와 사용될 수 있는
스크립트언어들이 부지기수로 나오게 된 것이다.

이러한 아이디어는 게임프로그래밍 쪽에도 당연히 응용되었다.
RPG나 어드벤처 게임에서 NPG의 대사와 행동에 대한 정의를 응용프로그램으로 부터
분리하여 연극의 그것처럼 스크립트로 외부파일화 하였으며 이것은 개발시에
수정되는 대사나 행동을 개발자가 쉽게 수정할 수 있게 되었다.

이러한 것들은 거의 모든 응용프로그램에 적용되어 단순히 운영체제 수준의
초기화를 위한 것이 아니라 응용프로그램의 동작과 결과를 만들어 내는 것을
위한 스크립트를 지원하기 시작한것이다.

요즈음의 대부분의 큰 응용프로그램은 최종사용자(End-user)가 자신만의 기호에
맞는 것을 수행하고 응용프로그램을 제어할 수 있도록 스크립트를 제공한다.

이러한 것은 예외없이 게임완성품에도 적용되어 , 많은게임들이 게임 내에 아바타의
여러동작을 제어할 수 있는 스크립트 기능을 내재하였다.
(게임유저들은 보통 매크로라는 말로 많이 사용한다.
  ** macro 라는 말은 컴퓨터과학에서 여러동작을 하나로 정의해주는 것을 의미하며
엑셀,게임유저까지 자연스럽게 사용되어지고 있다.
매크로의 내용은 스크립트이고 , 스크립트를 묶어서 하나의 대표로 표시하게
되는 것은 매크로이다. )

스크립트 언어로 사용할 수 있는 Python,lua같은 훌륭한 프로그래밍 언어들이 개발
되어 스크립트언어의 사용영역은 무궁무진해졌다.

스크립트 언어를 개발에 사용하는 것은 상황과 조건에 따라 적절히 사용해야 될것이다.
스크립트 언어의 사용영역은 무궁무진해졌지만 , 원래의 개발편의 목적과 최종사용자
편의에 벗어난 무분별한 적용과 오용은 오히려 해가 될것이 분명하다.

응용프로그램에서 해주면 되는 뻔할 일을 스크립트로 빼서 최종사용자에게
부담을 준다거나 , 스크립트가 있으면 훨씬 유연한 환경과 편의가 제공될 수
있는 부분이 응용프로그램과 분리가 되지 않는다면 사용자들은 자신의 입맛에
맞지 않아서 사용하지 않거나 또는 개선을 요구할 것이다.


필요에 의한 사용 이것이 하나의 답이 되지 않을까 생각해본다.





top

◀ PREV : [1] : [2] : [3] : [4] : [5] : .. [7] : NEXT ▶