프로그래밍 언어에서 직교성(orthogonality)

프로그래밍 언어에서 직교성(orthogonality)이란

언어의 제어 구조와 데이터 구조를 생성하기 위해 적은 수의 기본 구조들이 상대적으로 적은 수의 방법으로 조합될 수 있다는 것을 의미한다. 더욱이, 기본 구조들에 대한 모든 가능한 조합은 적합하고 의미가 있다. 예를들면, 데이터 타입을 생각해 보자. 언어가 정수, 실수, 배정도 실수, 문자 등의 4가지 기본 데이터 타임과 배열, 포인터 등 두가 지의 타입 연산자를 가지고 있다고 가정한다. 이 두개의 타입 연산자가 자신과 4개의 기본 데이터 타입에 적용될 수 있다면, 많은 데이터 구조가 정의될 수 있다. 그러나 포인터가 배열을 가리키는 것이 허용되지 않는다면 맣은 조합 가능성이 상실될 것이다.