프로그래밍 언어와 자바스크립트

Kay·2020년 7월 18일
2

프로그래밍 언어란?

  • 컴퓨터 프로그램을 작성하기 위한 언어.
  • 소프트웨어의 동작(알고리즘)을 설명하기 위한 언어.

컴파일 언어와 인터프리터 언어

  • 컴파일 : 소스 코드를 실행하기에 앞서 기계어로 번역하는 행위

  • 컴파일러 : 컴파일을 수행하는 소프트웨어

컴파일 언어

  • 소스 코드 여러 개를 하나로 묶어 컴파일 한 후에 실행하는 프로그래밍 언어.

  • 컴파일 하는데는 시간이 걸리지만 실행되는 속도가 빠름.

    ex) C, C++, Java, Objective C

인터프리터 언어

  • 프로그램을 한 줄 마다 기계어로 번역해 실행하는 프로그래밍 언어.
  • 프로그램을 바로 실행할 수 있고 동작을 확인해 가며 프로그램을 개발할 수 있다.
  • 반면, 프로그램 코드를 한 줄 한 줄 기계어로 번역하며 실행하기 때문에 컴파일 언어보다 처리 속도가 느리다.
    ex) JavaScript, LISP, Perl, Ruby, Python

프로그래밍 언어의 유형

  • 절차적 언어 : 절차를 순서대로 작성해 나감

  • 객체 지향 언어 : 처리와 관련된 데이터와 절차를 하나로 묶어 객체 단위로 관리

  • 함수형언어 : 프로그램을 함수를 조합하여 구현

  • 논리형 언어 : 데이터 사이의 관계와 논리를 설명해 나감

자바스크립트의 특징

  • 인터프리터 언어 :
    최근 웹 브라우저 대부분에 실행 시간에 자바스크립트 코드를 컴파일 하는 JIT 컴파일러(Just In Time Compiler)가 내장되어 실행 속도가 매우 빨라짐.

  • 동적 프로토타입 기반 객체 지향 언어 :
    클래스가 아닌 프로토타입을 상속.
    객체를 생성한 후에도 프로퍼티와 메서드를 동적으로 추가하거나 삭제할 수 있음.

  • 동적 타입 언어 :
    변수 타입이 없음.
    프로그램을 실행하는 도중에 변수에 저장되는 데이터 타입이 동적으로 바뀔 수 있음.

  • 함수가 일급 객체 :
    자바스크립트 함수는 객체이며, 함수에 함수를 인수로 넘길 수 있다.
    이 특성을 활용하면 고차 함수를 구현할 수 있어 함수형 프로그래밍이 가능해짐.

  • 함수가 클로저를 정의 :
    자바스크립트의 함수는 클로저를 정의.
    클로저로 변수를 은닉하거나 영속성을 보장하는 등 다양한 기능 구현이 가능.

자바스크립트의 기술적 요소

ECMAScript(코어언어)

  • 자바스크립트의 핵심 기술은 ECMAScript로 규정.
  • 자바스크립트를 배울 때는 먼저 코어 언어의 내용부터 제대로 이해해야 함.

클라이언트 측의 고유한 기술 요소

  • 웹 브라우저에서 동작하는 자바스크립트를 클라이언트 측 자바스크립트라고 함.
  • ECMAScrip가 규정한 코어 언어, 웹 브라우저의 API로 구성.
  • 웹 브라우저의 API
    • Window 인터페이스 : 자바스크립트로 브러우저 또는 창을 조작
    • DOM : 자바스크립트로 HTML 문서의 요서를 제어
    • XMLHttpRequesst : 서버와 비동기로 통신

서버 측 자바스크립트의 고유한 기술 요소

  • 웹 서버에서 동작하는 자바스크립트를 서버 측 자바스크립트라고 함.

  • 웹 서버 구현에는 Perl, PHP, Python, Ruby 등의 프로그래밍 언어가 널리 사용.

  • 최근에는 서버 측 언어로 자바스크립트 또한 많이 사용.

  • 서버 측 자바스크립트 실행 환경

    • Node.js : 구글이 개발한 자바스크립트 실행 환경
    • Rhino : 오픈 소스로 개발되어 현재는 모질라(Mozilla)가 관리
    • Aptana Jaxer : 압타나사가 개발하고 현재는 오픈 소스로 개발

ECMAScript 6

  • 2015년 6월 권고된 새로운 ECMAScript 버전
  • ECMAScript 2015라고도 부름
  • 다른 프로그래밍 언어가 제공하는 다양한 기능을 추가하면서도 이전 자바스크립트 버전과 호환성을 보장.
  • 특히 이터레이터와 제너레이터는 자바스크립트에 새로운 프로그래밍 패러다임을 제시하는 ECMAScript 6의 핵심

자바스크립트의 역사

  • 1995년 넷스케이프 커뮤니케이션스의 브랜던 아이크가 개발.
  • 1997년 ECMAScript를 따르는 표준화가 진행되어 대다수 브라우저의 호환성 문제가 해소.
profile
new blog✨ https://kay-log.tistory.com/

0개의 댓글