Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
В любительском радио и вычислительной технике, "якорь для лодки" или "boat anchor" – это что-то устаревшее, бесполезное и громоздкое, получившее такое название из-за метафоры, что его единственное полезное применение – использовать как якорь для лодки. Подобные термины включают "кирпич", "подпорка для двери" и "грузик для бумаги".
In amateur radio and computing, a boat anchor or boatanchor is something obsolete, useless, and cumbersome – so called because metaphorically its only productive use is to be thrown into the water as a boat mooring. Terms such as brick, doorstop, and paperweight are similar.
Радиолюбители
В любительском радио, "якорь для лодки" (boat anchor) – это старое радиооборудование. Обычно этот термин используется по отношению к крупногабаритному и тяжелому радиооборудованию прошлых десятилетий, работавшему на лампах. В этом контексте "якоря для лодки" часто ценятся их владельцами, а их достоинства (например, устойчивость к электромагнитным импульсам) подчеркиваются, даже если более современное оборудование обладает большей функциональностью. Первое упоминание термина появилось в выпуске журнала CQ Amateur Radio Magazine за 1956 год. В журнале было опубликовано письмо читателя, который запрашивал "схемы или данные для переделки" военного излишка – радиостанции Wireless Set No. 19 MK II – для использования в любительских диапазонах. Редактор добавил следующий ответ: "Единственная переделка, которую мы нашли в наших архивах CQ, заключается в использовании 30 метров (100 футов) каната из манильской пеньки диаметром 2,5 см (1 дюйм), один конец которого следует надежно привязать к радиостанции MK II. Это превратит устройство в отличный якорь для небольшой лодки. Если у кого-нибудь из читателей есть более удачные варианты переделки, мы будем рады их узнать. – Ред." Использование этого термина редактором вызвало интерес у читателей, и в феврале 1957 года журнал CQ опубликовал продолжение этой истории, включавшее фотографии.
In amateur radio, a boat anchor or boatanchor is an old piece of radio equipment. It is usually used in reference to large, heavy radio equipment of earlier decades that used tubes. In this context boat anchors are often prized by their owners and their strengths (e. g. immunity to EMP) emphasised, even if newer equipment is more capable. An early use of the term appeared in a 1956 issue of CQ Amateur Radio Magazine. The magazine published a letter from a reader seeking "schematics or conversion data" for a war surplus Wireless Set No. 19 MK II transceiver in order to modify it for use on the amateur bands. The editor added this reply: "The only conversion we seem to have on the files here at CQ calls for 100 feet of 1 inch Manila line, one end of which is to be tied securely around the MK II Transceiver. This then converts the unit into a fine anchor for a small boat. If any readers have better conversions we will be glad to hear about them. — Ed." The editor's use of the term generated some reader interest, and in February 1957, CQ published a follow up story that included photos.
Компьютеры
Эта метафора напрямую переносится со старых радиоприемников на старые компьютеры. Она также была распространена на устаревшее программное обеспечение.
The metaphor transfers directly from old radios to old computers. It also has been extended to refer to relic software.
Оборудование
Первые компьютеры были физически большими и тяжелыми устройствами. По мере того, как компьютеры становились более компактными, термин "бо́т-якорь" (boat anchor) стал популярным среди пользователей для обозначения того, что старое, громоздкое компьютерное оборудование устарело и больше не пригодно к использованию.
Early computers were physically large and heavy devices. As computers became more compact, the term boat anchor became popular among users to signify that the earlier, larger computer gear was obsolete and no longer useful.
Программное обеспечение
Термин "ботовой якорь" распространился на программный код, который остаётся в кодовой базе системы, как правило, на случай, если он может понадобиться в будущем. Это пример антипаттерна и, следовательно, может создать множество проблем для тех, кто пытается поддерживать программу, содержащую устаревший код. Основная проблема заключается в том, что программистам будет сложно отличить устаревший, неработающий код от рабочего кода. Например, программист может искать ошибку в системе обработки входных данных, поэтому он просматривает код в поисках участков, связанных с API обработки ввода. Очевидно, что если программист наткнётся на устаревший код обработки ввода, он может начать его редактировать и отлаживать, тратя ценное время, прежде чем поймёт, что этот код никогда не выполняется и, следовательно, не имеет отношения к решаемой проблеме. Другие проблемы включают увеличение времени компиляции и риск случайного связывания рабочего кода с недействующим кодом, что может привести к его непреднамеренному восстановлению. Рекомендуемое решение для работы с "ботовыми якорями" в исходном коде – удалять их из кодовой базы и помещать в отдельное место, чтобы при необходимости можно было к ним обратиться, но они не компилировались и не принимались за рабочий код. (Например, удалять их, зная, что они сохранены в системе контроля версий проекта.)
The term boat anchor has been extended to software code that is left in a system's codebase, typically in case it is needed later. This is an example of an anti pattern and therefore can cause many problems for people attempting to maintain the program that contains the obsolete code. The key problem comes from the fact that programmers will have a hard time differentiating between obsolete code which doesn't do anything and working code which does. For example, a programmer may be looking into a bug with the program's input handling system, so they search through the code looking for code that links into the input handling API. Obviously if the programmer comes across obsolete input handling code they may well start editing and debugging it, wasting valuable time before they realise that the code that they're working with is never executed and therefore not part of the problem they're trying to solve. Other problems include longer compile times and the risk that programmers may accidentally link working code into the defunct code, inadvertently resurrecting it. A recommended solution for dealing with boat anchors in source code is to remove them from the code base and to place them in a separate location so that they can be referred to if necessary, but will not be compiled or be mistaken as "working" code. (For example, deleting them, knowing they are stored in the project's source control)