개요

프로그래밍 언어(programming language)는 컴퓨터 시스템을 구동시키는 소프트웨어를 작성하기 위한 형식언어이다. 고급 언어일수록 사람이 사용하는 언어에 가깝다.

모든 프로그래밍 언어는 syntax(구문)그리고 syntax와 연관된 behavior(Semantics), 라이브러리 그리고 idiom으로 구성된다.
Syntax

syntax는 프로그램의 문법이며, semantics는 결과를 만들어 내기 위한 규칙을 말한다.

  • Concrete syntax: 3 + 4 처럼 구체적인 프로그래머가 입력하는 코드를 말한다.
  • Abstract syntax: Num + Num처럼 컴파일러, 혹은 컴퓨터가 이해하는 구조를 말한다.
Semantics

Semantics은 문법이 의미하는 바를 나타낸다. 만약 "+"라는 기호가 Addtion이라는 Semantic이라면 3 + 4는 7이지만, 의미론적으로 Subtraction이면 3 + 4는 -1이다.