Говоря о проектных решениях по языкам программирования, ортогональность может рассматриваться как то, как легко вам предсказать другие вещи об этом языке для того, что вы видели в прошлом.
Например, на одном языке вы можете иметь:
str.split
для разделения строки и
LEN (ул)
для получения длины.
На языке, более ортогональном, вы всегда будете использовать str.x или x (str).
Когда вы будете клонировать объект или делать что-то еще, вы будете знать, использовать ли
* * Клон тысяча двадцать-одина (OBJ) * * тысяча двадцать-дв
или
obj.clone
Это один из основных моментов, когда языки программирования ортогональны. Это позволяет вам не обращаться к руководству или не спрашивать кого-либо.
В статье в Википедии больше говорится об ортогональности сложных конструкций или языков низкого уровня.
Как кто-то предложил в комментарии выше, книга Sebesta говорит об ортогональности.
Если бы я использовал только одно предложение, я бы сказал, что язык программирования является ортогональным, когда его неизвестные части действуют, как ожидается, основываясь на том, что вы видели.
Или ... без сюрпризов.
;)