표현 중심의 프로그래밍 언어
Expression-oriented programming language프로그래밍 패러다임 |
---|
표현 중심의 프로그래밍 언어는 모든(또는 거의 모든) 구성이 표현이기 때문에 가치를 산출하는 프로그래밍 언어다.대표적인 예외는 표현 중심의 언어가 종종 문장으로 취급하는 매크로 정의, 전처리기 명령, 선언 등이다.
ALGOL 68과 Lisp은 표현 위주의 언어다.파스칼은 표현 위주의 언어가 아니다.
모든 기능 프로그래밍 언어는 표현 지향적이다.[citation needed]
비판과 예방
언어 디자이너를 포함한 비평가들은 프로그래머가 실수로 과제 표현식을 코드화하는 프로그래밍 오류의 전체 클래스에 대해 표현 지향성을 비난하며,[1] 이는 변수를 그 표현과 평등을 위해 시험하기 보다는 표현으로 대체한다.
에이다와 자바의 설계자들은 부울 데이터 유형으로 엄격하게 평가하는 것으로 제어 식을 제한함으로써 이러한 유형의 실수를 방지한다.[2][3]
파이썬의 설계자들은 배정을 표현이 아닌 문장으로 구현하여 배정이 다른 문이나 표현식 안에 안착되는 것을 금지하였다.([4]버전 3.8에서는 구문이 다른 'assignment 표현식'을 추가하기 전까지)[5]
일부 표현 중심의 언어에서 부작용만 일으키는 표현은 보이드 유형을 반환한다.
예
![]() |