Jump to content

Десятое правило Гринспена

Десятое правило программирования Гринспана — это афоризм в компьютерном программировании и особенно в кругах языков программирования , который гласит: [ 1 ] [ 2 ]

Любая достаточно сложная на C или Fortran программа содержит специальную , неформально заданную, полную ошибок и медленную реализацию половины Common Lisp .

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

Другие языки программирования, хотя и претендуют на свою простоту, требуют от программистов бессистемного изобретательства значительного количества необходимых функций, которые присутствуют в Lisp как стандартная, проверенная временем база.

Его также можно интерпретировать как сатирическую критику систем, включающих сложные, легко настраиваемые подсистемы. [ 3 ] Вместо включения специального интерпретатора для какого-либо предметно-ориентированного языка правило Гринспуна предлагает использовать широко распространенный полнофункциональный язык, такой как Lisp.

Пол Грэм также подчеркивает сатирический характер концепции, хотя и основанной на реальных проблемах:

Это звучит как шутка, но в больших программных проектах это случается в той или иной степени так часто, что этому явлению даже дали название — Десятое правило Гринспана. [ 4 ]

Правило было написано примерно в 1993 году Филипом Гринспаном . Хотя это правило известно как его десятое правило, это неправильное название. На самом деле предшествующих правил нет, только десятое. Причина этого по мнению Гринспана:

Извини, Хань-Вэнь, но девяти предшествующих законов не существует. Я просто пытался дать правилу запоминающееся имя. [ 5 ]

Хакер Роберт Моррис позже объявил следствие , разъясняющее набор «достаточно сложных» программ, к которым применяется правило:

…включая Common Lisp. [ 6 ]

Это следствие в шутку относится к тому факту, что многие реализации Common Lisp (особенно те, которые были доступны в начале 1990-х годов) зависят от низкоуровневого ядра скомпилированного C , которое обходит проблему начальной загрузки , но само по себе может быть несколько разным по качеству, по крайней мере, по сравнению с на чисто самостоятельный Common Lisp. [ 7 ]

См. также

[ редактировать ]
  1. ^ Гринспан, Филип (1990–2017). «Исследование Филипа Гринспана» . Проверено 23 декабря 2020 г.
  2. ^ Грэм, Пол (май 2002 г.). «Месть ботанов» . Проверено 1 мая 2023 г.
  3. ^ «Десятое правило Гринспана: каждый ли крупный проект включает в себя интерпретатор Лиспа?» . Обмен стеками . 12 апреля 2017 г. Проверено 1 мая 2023 г.
  4. ^ Грэм, Пол (2004). Хакеры и художники: великие идеи компьютерной эпохи . О'Рейли Медиа . ISBN  978-0-596-00662-4 .
  5. ^ Гринспан, Филип (27 сентября 2003 г.). «10-е правило программирования» .
  6. ^ «Цитаты Лиспа» . paulgraham.com .
  7. ^ Роудс, Кристоф (15 мая 2008 г.). SBCL: Common Lisp с разумной загрузкой (PDF) . Конспекты лекций по информатике . Проверено 1 мая 2023 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 588926f1c4261e04a165158dddba1e34__1712949180
URL1:https://arc.ask3.ru/arc/aa/58/34/588926f1c4261e04a165158dddba1e34.html
Заголовок, (Title) документа по адресу, URL1:
Greenspun's tenth rule - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)