~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 6CB20322ED11F1DB8B66DDB0F15392B3__1678466940 ✰
Заголовок документа оригинал.:
✰ Orthogonality (programming) - Wikipedia ✰
Заголовок документа перевод.:
✰ Ортогональность (программирование) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Orthogonality_(programming) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/6c/b3/6cb20322ed11f1db8b66ddb0f15392b3.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/6c/b3/6cb20322ed11f1db8b66ddb0f15392b3__translat.html ✰
Дата и время сохранения документа:
✰ 21.06.2024 09:06:23 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 10 March 2023, at 19:49 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Ортогональность (программирование) — Википедия Jump to content

Ортогональность (программирование)

Из Википедии, бесплатной энциклопедии

В компьютерном программировании ортогональность означает , что операции изменяют только одно, не затрагивая другие. [1] Этот термин чаще всего используется в отношении наборов инструкций ассемблера как ортогональный набор команд .

Ортогональность в языке программирования означает, что относительно небольшой набор примитивных конструкций можно комбинировать относительно небольшим количеством способов для построения структур управления и данных языка. [2] Это связано с простотой; чем более ортогональна конструкция, тем меньше исключений. Это облегчает изучение, чтение и написание программ на языке программирования. [ нужна цитата ] . Значение ортогонального признака не зависит от контекста; ключевые параметры — симметрия и согласованность (например, указатель — ортогональное понятие).

Пример IBM Mainframe и VAX подчеркивает эту концепцию. Мэйнфрейм IBM имеет две разные инструкции для добавления содержимого регистра в ячейку памяти (или другой регистр). Эти утверждения показаны ниже:

Reg1, ячейка_памяти
 АР Рег1, Рег2
 

В первом случае содержимое Reg1добавляются к содержимому ячейки памяти; результат сохраняется в Reg1. Во втором случае содержимое Reg1 добавляются к содержимому другого регистра ( Reg2) и результат сохраняется в Reg1.

В отличие от приведенного выше набора операторов, VAX имеет только один оператор для сложения:

ADDL операнд1, операнд2
 

В этом случае два операнда ( operand1 и operand2) могут быть регистрами, ячейками памяти или их комбинацией; инструкция добавляет содержимое operand1 к содержанию operand2, сохраняя результат в operand1.

Инструкция сложения VAX более ортогональна, чем инструкции IBM; следовательно, программисту легче запомнить (и использовать) тот, который предоставляется VAX.

В пересмотренном отчете об алгоритмическом языке Алгол 68 об «ортогональном проектировании» говорилось следующее:

Количество независимых примитивных концепций было сведено к минимуму, чтобы язык было легко описывать, изучать и реализовывать. С другой стороны, эти концепции применялись «ортогонально», чтобы максимизировать выразительную силу языка, пытаясь при этом избежать вредных излишеств.

Конструкция языка C может быть рассмотрена с точки зрения ортогональности. Язык C несколько непоследователен в своем подходе к концепциям и языковой структуре, что затрудняет изучение (и использование) языка пользователем. Ниже приведены примеры исключений:

  • Структуры (но не массивы) могут быть возвращены из функции.
  • Массив может быть возвращен, если он находится внутри структуры.
  • Членом структуры может быть любой тип данных (кроме void или структуры того же типа).
  • Элемент массива может иметь любой тип данных (кроме void). Все передается по значению (кроме массивов).

Хотя эта концепция была впервые применена к языкам программирования, с тех пор ортогональность стала признана ценной особенностью при разработке API и даже пользовательских интерфейсов. Здесь также полезно иметь небольшой набор компонуемых примитивных операций без неожиданных перекрестных связей, поскольку это приводит к созданию систем, которые легче объяснить и которые менее утомительны в использовании.

С другой стороны, ортогональность не обязательно приводит к более простым системам, как показывает пример инструкций IBM и VAX — в конце концов, менее ортогональные архитектуры ЦП RISC оказались более успешными, чем архитектуры CISC .

См. также [ править ]

Ссылки [ править ]

  1. ^ «Компактность и ортогональность» . www.catb.org . Проверено 6 апреля 2018 г.
  2. ^ Себеста, Роберт В. (2010). Понятия языков программирования (9-е изд.). Бостон: Аддисон-Уэсли. п. 10 . ISBN  9780136073475 . OCLC   268788303 .

Дальнейшее чтение [ править ]

  • Программист-прагматик: от подмастерья к мастеру Эндрю Ханта и Дэвида Томаса. Аддисон-Уэсли. 2000. ISBN   978-0-201-61622-4 .
  • А. ван Вейнгаарден, Ортогональная конструкция и описание формального языка , Mathematich Centrum, Амстердам, MR 76, октябрь 1965 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 6CB20322ED11F1DB8B66DDB0F15392B3__1678466940
URL1:https://en.wikipedia.org/wiki/Orthogonality_(programming)
Заголовок, (Title) документа по адресу, URL1:
Orthogonality (programming) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)