stringtranslate.com

Programación de culto a la carga

La programación de culto a la carga es un estilo de programación informática que se caracteriza por la inclusión ritual de código o estructuras de programa que no tienen ningún propósito real. La programación de culto a la carga es sintomática de un programador que no entiende ni el error que intentaba resolver ni la solución aparente (compárese con la depuración de escopeta , la magia profunda ). [1] El término programador de culto a la carga puede aplicarse cuando alguien sin experiencia con el problema en cuestión copia algún código de programa de un lugar a otro con poca comprensión de cómo funciona o si es necesario.

La programación de culto a la carga también puede referirse a la práctica de aplicar un patrón de diseño o un estilo de codificación a ciegas sin comprender las razones detrás de ese principio de diseño. Algunos ejemplos son agregar comentarios innecesarios a un código que se explica por sí solo, adherirse de manera excesiva a las convenciones de un paradigma de programación o agregar código de eliminación para objetos que la recolección de basura recolecta automáticamente.

Etimología

Cruz de John Frum en la isla de Tanna , Vanuatu

Los cultos a los cargamentos son movimientos milenarios que surgieron en Melanesia bajo el régimen colonial y que inspiraron a Richard Feynman a acuñar la expresión ciencia del culto a los cargamentos . Según la descripción de Feynman, tras el final de la Segunda Guerra Mundial, los practicantes creían que la entrega aérea de cargamentos se reanudaría si llevaban a cabo los rituales adecuados, como construir pistas de aterrizaje, encender hogueras junto a ellas y usar auriculares tallados en madera mientras estaban sentados en torres de control fabricadas. "La forma es perfecta. Se ve exactamente como se veía antes. Pero no funciona".

El término se empezó a utilizar más ampliamente como metáfora de rituales vacíos. El término "programación de culto de carga" apareció en la versión 2.5.1 del Jargon File , un glosario de jerga informática, publicado en enero de 1991. Mientras tanto, el término "culto de carga" en antropología se evita cada vez más por no representar la complejidad de las creencias melanesias. [2] [3]

Ingeniería de software de culto a la carga

Un término relacionado con la programación de culto de carga en ingeniería de software es ingeniería de software de culto de carga , acuñado por Steve McConnell . [4] : 23-26 

McConnell describe a las organizaciones de desarrollo de software que intentan emular a las casas de desarrollo más exitosas, ya sea siguiendo servilmente un proceso de desarrollo de software sin comprender el razonamiento detrás de él, o intentando emular un enfoque de desarrollo orientado al compromiso (en el que los desarrolladores de software dedican grandes cantidades de tiempo y energía a ver que sus proyectos tengan éxito) al exigir largas horas y horas extras no remuneradas, mientras que en las empresas exitosas estas podrían ser en cambio consecuencias de una alta motivación en lugar de causas del éxito.

En ambos casos, McConnell sostiene que la competencia determina en última instancia si un proyecto tiene éxito o fracasa, independientemente del enfoque de desarrollo adoptado; además, afirma que las "organizaciones impostoras" incompetentes (que simplemente imitan la forma de las organizaciones de desarrollo de software exitosas) de hecho están participando en lo que él llama ingeniería de software de culto a la carga . [5] : 11–13 

Véase también

Referencias

  1. ^ Raymond, Eric S. (11 de octubre de 1996). The New Hacker's Dictionary (tercera edición). MIT Press . ISBN 978-0262680929. OCLC  42329393. OL  9828647M.
  2. ^ Lindstrom, Lamont (2018). «Cargo cults». The Open Encyclopedia of Anthropology . Consultado el 17 de enero de 2024 .
  3. ^ Jarvis, Brooke (2019). "¿Quién es John Frum?". Tema . Archivado desde el original el 18 de abril de 2019.
  4. ^ McConnell, Steve (2003). Desarrollo de software profesional . Addison-Wesley . Págs. 23-26. ISBN. 978-0-321-19367-4– vía Internet Archive .
  5. ^ McConnell, Steve (marzo-abril de 2000). "Cargo Cult Software Engineering" (PDF) . IEEE Software : 11-13. eISSN  1937-4194. ISSN  0740-7459 . Consultado el 5 de mayo de 2023 .

Lectura adicional