DWIM

Материал из wikixw
Перейти к навигации Перейти к поиску

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

Программное обеспечение[править]

Термин был придуман Уорреном Тейтельманом в его пакете DWIM для BBN Lisp, части его пилотной системы, за некоторое время до 1966 года.

Пакет DWIM тейтельмана" исправляет ошибки[ed] автоматически или с незначительным вмешательством пользователя", аналогично проверке орфографии для естественного языка.

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

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

Критики DWIM утверждали ,что он был " настроен на конкретные опечатки, на которые Тейтельман был склонен, и никто другой", и назвал его" делать то, что означает Тейтельман"," делать то, что означает Интерлисп "[5] или даже утверждал, что ДВИМ означает " адская машина проклятого Уоррена."

Концепция DWIM была принята пользователями текстового редактора GNU Emacs для описания функций или команд Emacs Lisp, которые "делают правильные вещи" в зависимости от контекста, и специально не исправляют типизацию пользователя. Emacs wiki дает пример команды копирования файлов, которая может вывести путь назначения из конфигурации разделенного окна, содержащей два окна dired, одно из которых отображает исходный путь. Функциональность DWIM часто упоминается в названии команды; GNU Emacs имеет comment-dwim функция, которая комментирует выбранную область, если она не раскомментирована, или раскомментирует ее, когда она уже закомментирована, используя символы комментариев и отступы, соответствующие среде и текущему контексту.

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

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

Уоррен Тейтельман, "автоматизированное Программирование [sic]: помощник программиста", в трудах FJCC , 1972