[정보처리기사 필기] 프로그래밍 언어 활용 - 108. 스크립트 언어

1. 스크립트 언어 Script Language의 개요

  • HTML 문서 안에 직접 프로그래밍 언어를 삽입하여 사용하는 것
  • 기계어로 컴파일 되지 않고 별도의 번역기가 소스를 분석하여 동작하게 하는 언어
  • 데이터베이스 처리 작업을 수행하기 위해 주로 사용
  • 스크립트 언어의 종류
    • 클라이언트용 스크립트 언어 : 클라이언트의 웹 브라우저에서 해석되어 실행되는 언어, 자바 스크립트 JAVA Script, VB 스크립트 Visual Basic Script 
    • 서버용 스크립트 언어 : 서버에서 해석되어 실행된 후 결과만 클라이언트로 보내는 언어, ASP, JSP, PHP, 파이썬 등

2. 스크립트 언어의 장단점

  • 컴파일 없이 바로 실행하므로 결과를 바로 확인할 수 있음
  • 배우고 코딩하기 쉬움
  • 개발 시간이 짧음
  • 소스 코드를 쉽고 빠르게 수정할 수 있음
  • 코드를 읽고 해석해야 하므로 실행 속도가 느림
  • 런타임 오류가 많이 발생

3. 스크립트 언어의 종류

  • 자바 스크립트 Script
    • 웹 페이지의 동작을 제어하는데 사용되는 클라이언트용 스크립트 언어
    • 클래스 기반의 객체 상속을 지원하여 객체지향 프로그래밍 언어의 성격도 갖고 있음
    • Prototype Link와 Prototype Object를 통해 프로토타입 개념을 활용할 수 있음
      • Prototype Link : 생성된 객체와 원형을 연결하는 링크 
      • Prototype Object : 객체가 생성될 때 생성된 객체의 원형
  • VB 스크립트 Visual Basic Script
    • 마이크로소프트 사에서 자바 스크립트에 대응하기 위해 제작한 언어
    • Active X를 사용하여 마이크로소프트 사의 애플리케이션들을 컨트롤할 수 있음
  • ASP Active Server Page
    • 서버 측에서 동적으로 수행되는 페이지를 만들기 위한 언어
    • 마이크로소프트 사에서 제작
    • Windows 계열에서만 수행 가능한 프로그래밍 언어
  • JSP Java Server Page 
    • JAVA로 만들어진 서버용 스크립트
    • 다양한 운영체제에서 사용이 가능
  • PHP Professional Hypertext Preprocessor 
    • 서버용 스크립트 언어
    • Linux, Unix, Windows 운영체제에서 사용가능
    • C, Java 등과 문법이 유사하여 배우기 쉬우므로 웹 페이지 제작에 많이 사용
  • 파이썬 Python
    • 귀도 반 로성이 발표한 대화형 인터프리터 언어
    • 객체지향 기능을 지원하고 플랫폼에 독립적이며 문법이 간단하여 배우기 쉬움
  • 쉘 스크립트
    • 유닉스/리눅스 계열의 쉘Shell에서 사용되는 명령어들의 조합으로 구성된 스크립트 언어
    • 컴파일 단꼐가 없어 실행 속도가 빠름
    • 저장시 확장자로 '.sh'가 붙음
    • 쉘의 종류 : Bash Shell, Bourne Shell, C Shell, Korn Shell 등
    • 쉘 스크립트에서 사용되는 제어문
      • 선택형 : if, case
      • 반복형 : for, while, until
  • Basic
    • 절차지향 기능을 지원하는 대화형 인터프리터 언어
      • 인터프리터 언어 : 원시 프로그램을 줄 단위로 번역하여 바로 실행해주는 언어, 목적 프로그램을 생성하지 않고 즉시 실행 결과를 출
    • 초보자도 쉽게 사용할 수 있는 문법 구조를 갖음

4. 프로그래밍 언어의 종류

  • 절차적 프로그래밍 언어의 종류
    • C
      • 1972년 미국 벨 연구소의 데니스 리치에 의해 개발됨
      • 시스템 소프트웨어를 개발하기 편리하여 시스템 프로그래밍 언어로 널리 사용
      • 자료의 주소를 조작할 수 있는 포인터를 제공
      • 고급 프로그래밍 언어이면서 저급 프로그램 언어의 특징을 모두 갖춤
      • UNIX의 일부가 C언어로 구현
      • 컴파일러 방식의 언어
      • 이식성이 좋아 컴퓨터 기종에 관계 없이 프로그램을 작성할 수 있음
    • ALGOL
      • 수치 계산이나 논리 연산을 위한 과학 기술 계산용 언어
      • PASCAL과 C언어의 모체가 됨
    • COBOL
      • 사무처리용 언어
      • 영어 문장 형식으로 구성되어 있어 이해와 사용이 쉬움
      • 4개의 DIVISION으로 구성되어 있음
    • FORTRAN
      • 과학 기술 계산용 언어
      • 수학, 공학 분야의 공식이나 수식과 같은 형태로 프로그래밍할 수 있음
  • 객체지향 프로그래밍 언어의 종류
    • JAVA
      • 분산 네트워크 환경에 적용이 가능
      • 멀티스레드 기능을 제공하므로 여러 작업을 동시에 처리할 수 있음
      • 운영체제 및 하드웨어에 독립적이며, 이식성이 강함
      • 캡슐화가 가능하고 재사용성이 높음
    • C++
      • C 언어 객체지향 개념을 적용한 언어
      • 모든 문제를 객체로 모델링하여 표현
    • Smalltalk
      • 1세대 객체지향 프로그래밍 언어 중 하나로 순수한 객체지향 프로그래밍 언어
      • 최초로 GUI를 제공한 언어
  • 선언형 프로그래밍 언어 종류
    • HTML
      • 인터넷의 표준 문서인 하이퍼텍스트 문서를 만들기 위해 사용하는 언어
      • 특별한 데이터 타입이 없는 단순한 텍스트
      • 호환성이 좋고 사용이 편리
    • LISP
      • 인공지능 분야에 사용되는 언어
      • 기본 자료 구조가 연결 리스트 구조
      • 재귀 Recursion 호출을 많이 사용
    • PROLOG
      • 논리학을 기초로 한 고급 언어
      • 인공 지능 분야에서의 논리적인 추론이나 리스트 처리 등에 주로 사용
    • XML
      • 기존 HTML의 단점을 보완하여 웹에서 구조화된 폭넓고 다양한 문서들을 상호 교환할 수 있도록 설계된 언어
      • HTML에 사용자가 새로운 태그를 정의할 수 있으며, 문서의 내용과 이를 표현하는 방식이 독립적
    • Haskell
      • 함수형 프로그래밍 언어
      • 부작용 Side Effect이 없음
      • 코드가 간결하고 에러 발생 가능성이 낮음