Jump to content

ДВИМ

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

Программное обеспечение

[ редактировать ]

Этот термин был придуман Уорреном Тейтельманом в его пакете DWIM для BBN Lisp , части его системы PILOT, где-то до 1966 года. [1] [2] [3]

ИнтерЛисп

[ редактировать ]

Пакет DWIM Тейтельмана «исправляет [ed] ошибки автоматически или с незначительным вмешательством пользователя», [2] аналогично автокоррекции естественного языка.

Тейтельман и его из Xerox PARC коллега Ларри Масинтер позже описали философию DWIM в Interlisp среде программирования (преемнике BBN Lisp):

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

DWIM — это воплощение идеи, что пользователь взаимодействует с агентом, который пытается интерпретироватьзапрос пользователя из контекстной информации. Поскольку мы хотим, чтобы пользователь чувствовал, что он общается с системой,его нельзя останавливать и заставлять исправлять себя или давать дополнительную информацию в ситуациях, когда исправление или информация очевидны. [4]

Критики DWIM утверждали, что он «настроен на конкретные ошибки набора текста, к которым был склонен Тейтельман, и никакие другие», и называли его «Делай то, что означает Тейтельман» или «Делай то, что означает Interlisp». [5] или даже утверждал, что DWIM означает «Адская машина проклятого Уоррена». [6]

Концепция DWIM была принята в расширенной форме в контексте GNU Emacs текстового редактора для описания философии проектирования функций или команд Emacs Lisp , которые пытаются разумно « поступать правильно » в зависимости от контекста. [7] Emacs Вики-страница дает пример команды копирования файла, которая может определить путь назначения из конфигурации разделенного окна, содержащей два направляемых буфера, один из которых отображает исходный путь; такое поведение также распространяется на многие применимые направленные действия, которые принимают в качестве аргументов два пути к каталогу.

Поведение DWIM, если оно доступно, часто упоминается в имени команды; например, GNU Emacs имеет comment-dwim функция, которая комментирует выбранную область, если она не закомментирована, или раскомментирует ее, если она уже закомментирована, используя символы комментариев и отступы, соответствующие среде языка программирования и текущему контексту. [8] [9]

Этот тип DWIM часто не связан напрямую с исправлением ошибок пользователя, а скорее угадывает намерения пользователя на основе доступного контекста. Например, пакет Emacs Magit широко демонстрирует эту философию проектирования. Среди многочисленных команд сравнения есть magit-diff-dwim Команда, которая не требует дополнительных действий со стороны пользователя, а просто угадывает, что пользователь хочет проанализировать, основываясь на местоположении курсора . Руководство пользователя Magit описывает поведение magit-diff-dwim просто: « Показать изменения для данной вещи », [10] «точка» — это термин Emacs для обозначения курсора.

См. также

[ редактировать ]
  1. ^ Уоррен Тейтельман, «ПИЛОТ: шаг к симбиозу человека и компьютера», Массачусетского технологического института. доктор философии Диссертация, Проект MAC MAC-TR-32, сентябрь 1966 г. DTIC AD0638446. Архивировано 18 апреля 2012 г. в Wayback Machine PDF , стр. 51
  2. ^ Jump up to: а б Уоррен Тейтельман, «На пути к лаборатории программирования», в книге Дж. Н. Бакстона и Брайана Рэнделла , «Техники разработки программного обеспечения », апрель 1970 г., отчет о конференции, спонсируемой Научным комитетом НАТО, Рим, Италия, 27–31 октября 1969 г., стр. 108 и далее .
  3. ^ Дональд Э. Уокер, Льюис М. Нортон (ред.): Материалы 1-й Международной совместной конференции по искусственному интеллекту, Вашингтон, округ Колумбия, стр. 715, май 1969 г.
  4. ^ Уоррен Тейтельман, Ларри Масинтер, «Среда программирования Interlisp», Компьютер (IEEE) 14 : 4: 25-33, апрель 1981. дои : 10.1109/CM.1981.220410 pdf
  5. ^ Гай Л. Стил-младший, Ричард П. Габриэль, «Эволюция Лиспа», в «Истории языков программирования — II» , 1996, ISBN   0-201-89502-1 дои : 10.1145/234286.1057818 , с. 16.pdf
  6. ^ «ДВИМ» .
  7. ^ «Делай то, что я имею в виду» .
  8. ^ «Советы по комментированию» . Вообще говоря, М-; Команда (comment-dwim) автоматически запускает комментарий соответствующего типа; или сдвигает существующий комментарий в нужное место, в зависимости от количества точек с запятой.
  9. ^ «Команды комментариев» . Команда создания или выравнивания комментария — M-; (комментарий-dwim). Слово «двим» — это аббревиатура от «Делай то, что я имею в виду»; это указывает на то, что эту команду можно использовать для множества различных задач, связанных с комментариями, в зависимости от ситуации, в которой вы ее используете.
  10. ^ «Руководство пользователя Magit: 5.4 Различия» .

Дальнейшее чтение

[ редактировать ]
  • Уоррен Тейтельман, «Автоматическое программирование [так в оригинале] : помощник программиста», в Трудах FJCC , 1972 г. дои : 10.1145/1480083.1480119
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cefef68e19a70866c691e9a6a0ac4cc5__1720754220
URL1:https://arc.ask3.ru/arc/aa/ce/c5/cefef68e19a70866c691e9a6a0ac4cc5.html
Заголовок, (Title) документа по адресу, URL1:
DWIM - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)