Правило наименьшей мощности - Rule of least power

В программирование, то правило наименьшей мощности - это принцип проектирования, который «предлагает выбрать наименее мощный [компьютерный] язык, подходящий для данной цели».[1] В качестве альтернативы заявлен выбор между компьютерные языки, классы которых варьируются от описательный (или же декларативный) к процедурный, чем менее процедурный и описательный язык выбирается, тем больше можно делать с данными, хранящимися на этом языке.

Это правило является применением принцип наименьших привилегий к дизайну протокола.[2]

Обоснование

Первоначально предлагалось как аксиома хорошего дизайна, этот термин является продолжением Принцип KISS применяется к выбору языков в диапазоне от

Как объяснил Тим Бернерс-Ли:[3]

Компьютерные науки в 1960–80-х годах приложили немало усилий для создания максимально мощных языков. В настоящее время мы должны понимать причины выбора не самого мощного решения, а наименее мощного. Причина этого в том, что чем менее мощный язык, тем больше вы можете делать с данными, хранящимися на этом языке. Если вы напишете его в простой декларативной форме, каждый сможет написать программу, чтобы проанализировать ее разными способами. В Семантическая сеть в значительной степени является попыткой отобразить большие объемы существующих данных на общем языке, чтобы данные можно было анализировать способами, о которых даже не мечтали их создатели. Если, например, на веб-странице с данными о погоде RDF описывая эти данные, пользователь может получить их в виде таблицы, возможно, усреднить, построить график, сделать выводы из них в сочетании с другой информацией. На другом конце шкалы находится информация о погоде, отображаемая хитрым Java-апплетом. Хотя это может позволить получить очень крутой пользовательский интерфейс, его вообще невозможно проанализировать. Поисковая система, обнаружившая страницу, не будет иметь представления о том, что это за данные или о чем они. Единственный способ узнать, что означает Java-апплет, - это запустить его перед человеком.

Рекомендации

  1. ^ а б W3C. «Правило наименьшей мощности». Получено 2016-02-24.
  2. ^ Мередит Л. Паттерсон (2011-12-28). Наука незащищенности. 28-й Конгресс коммуникаций Хаоса.
  3. ^ Бернерс-Ли, Тим. «Аксиомы веб-архитектуры». Получено 2002-01-14.