검수요청.png검수요청.png

"스크립트"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
(특징)
(특징)
15번째 줄: 15번째 줄:
  
 
* '''[[REXX]](REstructured eXtended eXecutor)'''
 
* '''[[REXX]](REstructured eXtended eXecutor)'''
: IBM사가 개발한 해석 프로그래밍 언어이다. 배우기 쉬울 뿐 아니라 읽기도 쉬운, 구조화된 고급 프로그래밍 언어로 스크립트 및 매크로 언어로 사용되며 데이터와 텍스트를 처리하고 보고서를 만드는 목적으로 종종 사용된다. 펄과 유사성이 있는데, REXX는 공통 게이트웨이 인터페이스(CGI) 프로그래밍과 잘 맞으며 실제로 이 목적을 위해 사용된다.
+
: IBM사가 개발한 해석 프로그래밍 언어이다. 배우기 쉬울 뿐 아니라 읽기도 쉬운, 구조화된 고급 프로그래밍 언어로 스크립트 및 매크로 언어로 사용되며 데이터와 텍스트를 처리하고 보고서를 만드는 목적으로 종종 사용된다. 펄과 유사성이 있는데, REXX는 공통 게이트웨이 인터페이스(CGI) 프로그래밍과 잘 맞으며 실제로 이 목적을 위해 사용된다. REXX의 기능으로는 문자열 기반 동적 자료형, 예약어 없고 로컬 환경은 제외되며, 다배장 정수, 부동 소수점, 자체 함수의 고급 선택, 기억 자료 자동 관리, 충돌 보호, 연상 배열, 시스템 명령과 기능에 직접 접근, 단순 오류 관리, 자체 추적 및 오류 정정, 인간의 제한이 거의 없고, 단순화된 입출력 기능 등이 있다.
 +
X = 'input BYE to quit'
 +
do until X = 'BYE' ; interpret 'say' X ; pull X ; end
 
   
 
   
 
* '''[[펄]](Perl)'''
 
* '''[[펄]](Perl)'''

2019년 8월 6일 (화) 14:53 판

스크립트(Scrypt)는 다음을 의미한다. 다른 프로그램에 의해 번역되거나 수행되는 프로그램이나 명령어들의 나열을 말한다. 몇몇 언어들은 명백히 스크립트 언어로 이해되어 왔는데, 그 중에서도 비교적 유명한 것들로는 Perl, 자바 스크립트, IBM 메인프레임에서 사용되는 REXX, 그리고 Tcl/Tk 등이 있다.[1] 각본, 문자, 희곡이나 극본에서 다루는 지시나 대화, IBM의 테스트 포맷 언어인 IBM 스크립트, 스크립트 언어, 글꼴, 유닉스 등을 가르킨다.

개요

컴퓨터 프로그래밍에서의 스크립트란 (컴퓨터 프로세서가 아닌) 다른 프로그램에 의해 번역되거나 수행되는 프로그램이나 명령어들의 나열을 말한다. 몇몇 언어들은 명백히 스크립트 언어로 이해되어 왔는데, 그중에서도 비교적 유명한 것들로는 Perl, 자바스크립트, IBM 메인프레임에서 사용되는 REXX, 그리고 Tcl/Tk 등이 있다. 월드와이드웹에서의 이용을 생각해보면, Perl이나 자바 스크립트 등과 같은 스크립트 언어들은 웹 사이트의 입력 폼이나 기타 다른 서비스를 제공하기 위해 종종 사용되며, 웹 서버에 의해 처리된다. 웹 페이지 내에 포함된 자바스크립트는 웹 브라우저, 즉 클라이언트 측에서 수행된다. 일반적으로 스크립트 언어들은 더 구조적이며 컴파일이 필요한 C 나 C++과 같은 언어들에 비해 쉬우며 빠르게 작성할 수 있어서, 매우 제한된 능력을 갖춘 프로그램이나 컴파일된 기존 프로그램과 연결하여 재사용될 수 있는 프로그램들을 만드는데 가장 적당하다. 그러나, 스크립트는 컴파일된 프로그램보다 실행 시간이 오래 걸리는데, 그 이유는 모든 명령어가 기본 명령어 처리기에 의해 직접 처리되지 못하고, 우선 다른 프로그램에 의해 전처리가 필요하기 때문이다.

스크립트는 때로, 명령들이 파일 내에 미리 저장되어 있다가 파일 이름을 마치 하나의 명령처럼 입력했을 때, 운영체계의 명령어 인터프리터에 의해 파일 내의 내용이 차례로 수행되는 명령 목록을 의미하는 것으로 사용되는 경우도 있다(MS-DOS의 배치파일이 그 예이다).


역사

특징

월드와이드웹에서 Perl이나 자바 스크립트 등과 같은 스크립트 언어들은 웹 사이트의 입력 폼이나 다른 서비스를 제공하기 위해 종종 사용되며, 웹 서버에 의해 처리되는데, 웹 페이지 내에 포함된 자바스크립트는 웹 브라우저, 즉 클라이언트 측에서 수행된다. 일반적으로 스크립트 언어들은 더 구조적이며 컴파일이 필요한 C 나 C++과 같은 언어들에 비해 쉬우며 빠르게 작성할 수 있어서, 매우 제한된 능력을 갖춘 프로그램이나 컴파일된 기존 프로그램과 연결하여 재사용될 수 있는 프로그램들을 만드는데 가장 적당하다. 그러나, 스크립트는 컴파일된 프로그램보다 실행 시간이 오래 걸리는데, 그 이유는 모든 명령어가 기본 명령어 처리기에 의해 직접 처리되지 못하고, 우선 다른 프로그램에 의해 전처리가 필요하기 때문이며, 스크립트는 때로, 명령들이 파일 내에 미리 저장되어 있다가 파일 이름을 마치 하나의 명령처럼 입력했을 때, 운영체계의 명령어 인터프리터에 의해 파일 내의 내용이 차례로 수행되는 명령 목록을 의미하는 것으로 사용되는 경우도 있다.[1]

  • REXX(REstructured eXtended eXecutor)
IBM사가 개발한 해석 프로그래밍 언어이다. 배우기 쉬울 뿐 아니라 읽기도 쉬운, 구조화된 고급 프로그래밍 언어로 스크립트 및 매크로 언어로 사용되며 데이터와 텍스트를 처리하고 보고서를 만드는 목적으로 종종 사용된다. 펄과 유사성이 있는데, REXX는 공통 게이트웨이 인터페이스(CGI) 프로그래밍과 잘 맞으며 실제로 이 목적을 위해 사용된다. REXX의 기능으로는 문자열 기반 동적 자료형, 예약어 없고 로컬 환경은 제외되며, 다배장 정수, 부동 소수점, 자체 함수의 고급 선택, 기억 자료 자동 관리, 충돌 보호, 연상 배열, 시스템 명령과 기능에 직접 접근, 단순 오류 관리, 자체 추적 및 오류 정정, 인간의 제한이 거의 없고, 단순화된 입출력 기능 등이 있다.
X = 'input BYE to quit'
do until X = 'BYE' ; interpret 'say' X ; pull X ; end

펄(Perl)은 동적 타입의 고수준, (인터프리트되는) 스크립트 언어로 PHP와 파이선(Python)과 많이 비교되곤 한다. 펄의 구문은 예전의 셀 스크립트 (shell script)로부터 많이 따왔다. 그래서 구글로 검색하기 어려운 헷갈리기 쉬운 기호들을 많이 사용하는 것으로도 유명하다. 셀 스크립트로부터 기원한 까닭에 펄은 다른 스크립트나 프로그램을 엮어주는 글루 코드(glue code)를 만드는 데 아주 좋다. 텍스트 데이터를 처리하거나 생성하는데 펄은 안성맞춤이다. 펄은 널리 사용되고 있으며 인기도 많으며, 이식성도 좋고 지원도 잘되고 있다.
스크립트 언어(script language)는 다른 응용 프로그램에 삽입되어서 동작하는 프로그래밍 언어 로 소스 코드를 컴파일(Compile)하지 않고도 실행할 수 있는 프로그래밍 언어를 말한다. 예를 들어 C나 비주얼베이직, 자바 같은 경우는 작성한 소스를 컴파일러를 통해 기계어 코드로 변경해야 사용자가 실행할 수 있는 실행 파일이 얻어진 데 비해 스크립트 언어는 별도의 컴파일 없이 내장된 번역기에 의해 번역되므로 바로 실행 할 수 있다.[2]
  • 사용처
  1. 시스템에 사용 : 유닉스의 쉘(Shell) 스크립트, 윈도우의 배치(Batch) 스크립트처럼 일괄 처리 작업에 사용된다.
  2. 웹 어플리케이션에 사용
일반적으로 스크립트 언어는 빠른 성능이 필요하지 않은 웹 애플리케이션을 만드는 데 이용되어 왔으며, 크게 서버 사이드 스크립트(server-side-script)와 클라이언트 사이드 스크립트(client-side-script)로 나눌 수 있다. 해당 소스의 실행 결과를 확인하기 위해 웹서버를 거쳐야 하는 스크립트를 서버 사이드 스크립트(server-side-script)라 말하며, ASP, PHP, JSP, PYTHON, PERL, RUBY 등이 있다. 내장된 번역기(인터넷 익스플로러 등)에 의해 실행되는 스크립트로 서버를 거치지 않고 사용자 쪽(웹서버에 접속한 PC)에서 처리되는 스크립트를 클라이언트 사이드 스크립트(client-side-script) 라말하며, JavaScript, VB Script, JScript등이 있다.
자바스크립트를 한마디로 요약하자면 웹을 풍부하게 만들어주는 작고 가벼운 언어이다. 미국의 넷스케이프 커뮤니케이션즈사(Netscape Communications)가 개발한 스크립트 언어이며. 웹 브라우저에서 실행하는 스크립트 언어를 기술이고, 작고도 빠르기 때문에 웹문서를 동적으로 꾸밀 때 가장 널리 쓰인다. 언어 규격은 자바의 부분 집합(subset)으로 되어 있고, 하이퍼텍스트 생성 언어(HTML) 문서를 작성하는 수준의 사용자가 사용하는 것을 주안점으로 하여 자바의 언어 규격으로부터 변수의 형(정수형이나 문자열형 등)을 생략하거나 새로운 클래스 정의를 할 수 없도록 하였다. 스크립트는 HTML 문서 속에 직접 기술하며, 프로그래밍 입문자들은 자바스크립트와 자바가 서로 비슷한 기술이라고 생각하지만 두 언어 모두 자바라는 언어를 기반으로 하고 있기 때문에 자바스크립트는 자바와는 다른점이 상당히 많으며, 기능과 사용법까지 완전히 다릅니다.
Java와 비교한 JavaScrip
Java JavaScrip
객체 지향으로 객체의 형 간에 차이가 없고, 프로토타입 메커니즘을 통한 상속과 속성과 메서 드는 어떤 객체든 동적으로 추가될 수 있음. 클래스 기반으로 객체는 클래스 계층구조를 통한 모든 상속과 함께 클래스와 인스턴스로 나뉘며, 클래스와 인스턴스는 동적으로 추가된 속성이나 메소드를 가질 수 없다.
변수 자료형이 선언되지 않는다. (동적 형 지정, dynamic typing) 변수 자료형은 반드시 선언되어야 한다. (정적 형 지정, static typing)
하드 디스크에 자동으로 작성 불가. 하드디스크에 자동으로 작성 가능.
  • 자바스크립트 특징
  1. JavaScript는 객체 기반의 언어이지만 상속과 클래스라는 개념은 없다.
  2. JavaScript는 인터프리터 언어로서 클라이언트의 웹 브라우저에 의해 해석되고 실행된다.
  3. JavaScript는 HTML 문서 내에 기술되고 HTML 문서와 함께 수행된다.
  4. JavaScript는 HTML에 연산 제어 등 프로그래밍적인 요소를 추가하고 클라이언트의 자원을 활용할 수 있게 한다.
  • 자바스크립트 장점
자바스크립트는 컴파일 과정이 없기 때문에 다른 언어와 비교했을 때 빠른 시간 안에 스크립트 코드를 작성할 수 있게 도와주는데. 기존 C나 자바 언어와 달리 굉장히 단순한 구조와 원칙을 가지고 있기 때문에 초보 개발자들이 쉽게 배우고 이해할 수 있다. 예를 들어 자바스크립트 코드 안에서는 변수, 클래스 및 메소드를 선언하지 않아도 되고, 메소드가 'public', 'private' 또는 'protected'인지 구분하지 않아도 되고, 자바스크립트는 웹에 특화된 기술이기 때문에 운영체제나 플랫폼에 상관없이 잘 작동되고 확장성도 높다.
  • 자바스크립트 단점
단점은 성능이나 보안 측면으로 일단 내부에서 제공되는 기능이 제한적이고, 관련된 개발도구도 적은 편이며, 자바스크립트는 HTML 소스 코드에 함께 작성되면서 소스 코드가 외부로 공개되는데, 이 과정에서 보안 취약점이 발생할 수 있다.


각주

  1. 1.0 1.1 움헬켈, 〈스크립트에 대해서 잘 설명이 되어있는 것이 있네요.〉,《다음팁》, 2007-11-06
  2. JOKERGT, 〈스크립트 언어란?〉,《티스토리》, 2012-05-23

참고자료




  검수요청.png검수요청.png 이 스크립트 문서는 알고리즘에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.