Искусство программирования в UNIX, Глава 4. Модульность, Ортогональность, Страница 89:
ортогональности
Ортогональность является одной из самых
важные свойства, которые могут помочь
сделать даже сложные проекты компактными. В
чисто ортогональный дизайн, операции
не имеют побочных эффектов; каждое действие
(будь то вызов API, макрос
вызов или языковая операция )
меняет только одно без
влияя на других. Есть один и
только один способ изменить каждое свойство
какой бы системы вы ни были
контроля.
Прагматика языка программирования, глава 6, стр. 228:
Ортогональность означает, что функции могут
использоваться в любой комбинации, чтобы
комбинации имеют смысл, и это
смысл данной функции
соответствует независимо от других
особенности, с которыми он сочетается .
На Лиспе, 5.2 Ортогональность:
Ортогональный язык - это язык, на котором
Вы можете выразить много, комбинируя
небольшое количество операторов во многих
по-разному.
Я думаю, что ортогональный язык программирования был бы тем, в котором каждая из его функций имеет минимальные побочные эффекты или вообще не имеет их , поэтому их можно использовать, не задумываясь о том, как это использование повлияет на другие функции. Я заимствую это из определения ортогонального API.
В Java вам, например, придется оценить, существует ли комбинация ключевых слов / конструкций, которые могут влиять друг на друга при одновременном использовании с идентификатором. Например, при применении public
и static
к методу они не мешают друг другу, поэтому эти два являются ортогональными (никаких побочных эффектов, кроме того, для чего предназначено ключевое слово)
Вы должны сделать это со всеми его особенностями, чтобы доказать ортогональность. Это один из способов сделать это. Я не думаю, что существует четкое сокращение , или , не является ортогональным в этом вопросе.