JavaScript
JavaScript는 인터프리터(소스코드를 바로 실행하는 환경), just-in-time 컴파일(실행하는 시점에 기계어로 번역) 프로그래밍 언어로 일급 함수(함수를 변수에 저장 가능)를 지원한다. 요즘은 Node.js, Apache CouchDB, Adobe Acrobat 처럼 비 브라우저 환경에서도 사용하며, JavaScript의 특징은 다음과 같다.
- 프로토타입 기반 : 객체 생성할 때, 클래스를 정의하지 않아도 생성이 가능
- 다중 패러다임 : 여러가지 방법론이 적용됨을 의미
- 단일 스레드 : 하나의 프로세스에서 오직 하나의 스레드로 동작
- 동적 언어 : 컴파일 시 자료형이 결정
- 객체지향형 : 객체라는 단위로 상호작용을 서술하는 방식
- 명령형 : 어떻게 해결할 것인가
- 선언형 :무엇을 해결할 것인가
- etc.
| 인터프리터(interpreter, 문화어: 해석기) |
- 프로그래밍 언어의 소스 코드를 바로 실행하는 컴퓨터 프로그램 또는 환경을 말한다.
| just-in-time 컴파일 |
- JIT 컴파일(just-in-time compilation) 또는 동적 번역(dynamic translation)은 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법이다.
- 실행 시점에서 인터프리트 방식으로 기계어 코드를 생성하면서 그 코드를 캐싱하여, 같은 함수가 여러 번 불릴 때 매번 기계어 코드를 생성하는 것을 방지한다.
| 일급 함수 |
- 함수를 다른 변수와 동일하게 다루는 언어는 일급 함수를 가졌다고 표현한다.
| 프로토타입 기반 프로그래밍 |
- 객체를 생성할 때 처음 그 객체의 클래스를 정의하지 않는 것을 허용한다.