Программирование культа карго
Карго-культовое программирование — это стиль компьютерного программирования, характеризующийся ритуальным включением кода или программных структур, которые не служат никакой реальной цели. Программирование культа грузов является симптомом того, что программист не понимает ни ошибки, которую он пытался решить, ни очевидного решения (сравните отладку дробовиком , глубокую магию ). [1] Термин «программист карго-культа» может применяться, когда кто-то, не имеющий опыта решения рассматриваемой проблемы, копирует некоторый программный код из одного места в другое, плохо понимая, как он работает и нужен ли он.
Программирование карго-культа также может относиться к практике слепого применения шаблона проектирования или стиля кодирования без понимания причин, лежащих в основе этого принципа проектирования. Некоторые примеры — добавление ненужных комментариев к понятному коду, чрезмерное следование соглашениям парадигмы программирования или добавление кода удаления для объектов, которые сборщик мусора автоматически собирает .
Этимология
[ редактировать ]
Культы карго — это милленаристские движения, возникшие в Меланезии в период колониального правления и вдохновившие Ричарда Фейнмана на создание термина « наука культа карго» . По описанию Фейнмана, после окончания Второй мировой войны практикующие считали, что доставка грузов по воздуху возобновится, если они проведут соответствующие ритуалы, такие как строительство взлетно-посадочных полос, зажигание рядом с ними костров и ношение наушников, вырезанных из дерева, сидя в искусственных диспетчерские башни. «Форма идеальна. Она выглядит точно так же, как и раньше. Но она не работает».
Затем этот термин стал использоваться более широко как метафора пустых ритуалов. Термин «культ карго-культа» появился в версии 2.5.1 Jargon File , глоссария компьютерного сленга, выпущенного в январе 1991 года. Между тем термин «культ карго» в антропологии все чаще избегают из-за того, что он не отражает сложности меланезийских верований. [2] [3]
Разработка программного обеспечения для культа грузов
[ редактировать ]Родственный термину, связанному с программированием культа карго в разработке программного обеспечения, является разработка программного обеспечения для культа карго , придуманный Стивом МакКоннеллом . [4] : 23-26
МакКоннелл описывает организации по разработке программного обеспечения, которые пытаются подражать более успешным компаниям-разработчикам, либо рабски следуя процессу разработки программного обеспечения, не понимая причин, стоящих за ним, либо пытаясь подражать подходу разработки, ориентированному на обязательства (при котором разработчики программного обеспечения посвящают большое количество времени и энергию для достижения успеха своих проектов), предписывая сверхурочную работу и неоплачиваемые сверхурочные, в то время как в успешных компаниях это может быть следствием высокой мотивации, а не причиной успеха.
В обоих случаях МакКоннелл утверждает, что компетентность в конечном итоге определяет, будет ли проект успешным или провальным, независимо от выбранного подхода к разработке; более того, он утверждает, что некомпетентные «организации-самозванцы» (которые просто имитируют форму успешных организаций по разработке программного обеспечения) на самом деле занимаются тем, что он называет разработкой программного обеспечения «культ карго» . [5] : 11–13
См. также
[ редактировать ]- Черный ящик
- Наука о культе груза
- Копирование и вставка программ
- GitHub второй пилот
- Магия (программирование)
- Магическое мышление
Ссылки
[ редактировать ]- ^ Раймонд, Эрик С. (11 октября 1996 г.). Словарь нового хакера (Третье изд.). МТИ Пресс . ISBN 978-0262680929 . OCLC 42329393 . ОЛ 9828647М .
- ^ Линдстрем, Ламонт (2018). «Карго-культы» . Открытая энциклопедия антропологии . Проверено 17 января 2024 г.
- ^ Джарвис, Брук (2019). "Кто такой Джон Фрум?" . Тема . Архивировано из оригинала 18 апреля 2019 г.
- ^ МакКоннелл, Стив (2003). Профессиональная разработка программного обеспечения . Аддисон-Уэсли . стр. 23-26 . ISBN 978-0-321-19367-4 – через Интернет-архив .
- ^ МакКоннелл, Стив (март – апрель 2000 г.). «Разработка программного обеспечения Cargo Cult» (PDF) . Программное обеспечение IEEE : 11–13. eISSN 1937-4194 . ISSN 0740-7459 . Проверено 5 мая 2023 г.
Дальнейшее чтение
[ редактировать ]- Фейнман, Ричард П .; Лейтон, Ральф (1984). «Наука о карго-культе» . «Вы, конечно, шутите, мистер Фейнман»: Приключения любопытного персонажа (Первое изд.). Нью-Йорк: WW Norton & Company . стр. 338–346. ISBN 978-0393019216 . LCCN 84014703 . OCLC 10925248 . ОЛ 2852326М . Проверено 2 мая 2023 г. - из Интернет-архива .
- Фейнман, Ричард П. (июнь 1974 г.). «Наука о культе грузов» (PDF) . Инженерия и наука . 37 (7): 10–13. ISSN 2475-9570 . Проверено 2 мая 2023 г. - через Калифорнийский технологический институт .