Введение

Быстрое и грязное решение, обходные пути.

Клудж или клюдж (/k//l//ʌ//dʒ//, /k//l//uː//dʒ/) – это обходное решение или быстрое и грязное решение, которое является неуклюжим, неэлегантным, неэффективным, сложным в расширении и трудным в поддержке. Этот термин используется в различных областях, таких как компьютерные науки, аэрокосмическая инженерия, интернет-сленг, эволюционная нейробиология, анимация и государственное управление. Он схож по значению с морским термином "латанная конструкция".

Этимология

Слово имеет альтернативные написания (kludge и kluge), произношения (/k//l//ʌ//dʒ/ и /k//l//uː//dʒ/, рифмующиеся с "judge" и "stooge" соответственно), и несколько предложенных версий происхождения.

Информатика

В современной вычислительной терминологии "kludge" (или часто "hack") – это решение проблемы, выполнение задачи или исправление системы, которое неэффективно, неэлегантно ("хакерское") или даже непонятно, но каким-то образом работает. Это похоже на временное решение, но быстрое и грубое. "Прибегнуть к kludge" означает обойти ошибку или трудность, создав kludge, возможно, используя свойства самой ошибки. Kludge часто используется для модификации работающей системы, избегая фундаментальных изменений, или для обеспечения обратной совместимости. Hack также может использоваться в положительном смысле, как быстрое решение раздражающей проблемы. Kludge часто используется для исправления непредвиденной проблемы в более раннем kludge; это, по сути, своего рода мусорный код (cruft). Решение может быть kludge, если оно дает сбой в пограничных случаях. Для создания kludge для пограничного случая обычно требуется глубокое знание предметной области и среды выполнения. Чаще всего, kludge – это эвристика, которая, как ожидалось, должна работать почти всегда, но в итоге часто дает сбои. Советский анекдот 1960-х годов рассказывает о компьютерной детали, для работы которой требовался слегка задержанный сигнал. Вместо настройки системы синхронизации, kludge заключался в подключении длинных катушек внутренних проводов для замедления электрического сигнала. Другой тип kludge – это обход неизвестной проблемы или ошибки в компьютерной программе. Вместо того, чтобы продолжать бороться с диагностикой и исправлением ошибки, программист может написать дополнительный код для компенсации. Например, если переменная постоянно удваивается, kludge может заключаться в добавлении последующего кода, который делит на два, вместо поиска исходного неверного вычисления. В компьютерных сетях использование NAT (Network Address Translation) (RFC 1918) или PAT (Port Address Translation) для решения проблемы нехватки IPv4-адресов является примером kludge. В терминологии FidoNet, kludge относится к части контрольных данных, встроенных в сообщение.

Другие применения

В рассказе Джона Варли "Press Enter" 1985 года антагонист, затворнический хакер, берет себе имя Чарльза Клюга. В научно-фантастическом телесериале "Андромеда" генетически сконструированные люди, известные как ницшеанцы, используют этот термин пренебрежительно по отношению к генетически немодифицированным людям. В статье 2012 года политолог Стивен Телес использовал термин "клудгеократия", чтобы критиковать сложность социальной политики в Соединенных Штатах. Телес утверждает, что институциональные и политические препятствия на пути принятия законов часто вынуждают политиков соглашаться на временные решения, а не на тщательно разработанные реформы.