La programación del culto al cargo es un estilo de programación de computadoras que se caracteriza por la inclusión ritual de estructuras de código o programa que no tienen ningún propósito real. La programación de Cargo Cult es sintomática de un programador que no comprende un error que intentaba resolver o la solución aparente (compare la depuración de escopeta , la magia profunda ). [1] El término programador de culto de carga puede aplicarse cuando cualquier persona sin experiencia con el problema en cuestión copia algún código de programa de un lugar a otro sin comprender cómo funciona o si es necesario.
La programación del culto al cargo 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. Por ejemplo, agregar comentarios innecesarios al código autoexplicativo, adherencia 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.
Verificaciones obsesivas y redundantes de valores nulos o probar si una colección está vacía antes de iterar sus valores puede ser una señal de programación de culto a la carga. Estas comprobaciones obsesivas hacen que el código sea menos legible.
Origen
El término culto cargo como idioma se refería originalmente a las religiones aborígenes que crecieron en el Pacífico Sur después de la Segunda Guerra Mundial. Las prácticas de estos grupos se centraban en la construcción de elaboradas maquetas de aviones y pistas de aterrizaje militares con la esperanza de convocar a los seres divinos que llegaban en aviones que habían traído cargamento maravilloso durante la guerra. [2] [3] En las últimas décadas, la antropología se ha distanciado del término "culto al cargo", que ahora se considera que se ha aplicado de manera reductiva a una gran cantidad de movimientos sociales y religiosos complicados y dispares que surgieron del estrés y el trauma de colonialismo, y buscó alcanzar metas mucho más variadas y amorfas —cosas como la autodeterminación— que la carga material. [4]
El uso del término en programación de computadoras probablemente se deriva de la caracterización de Richard Feynman de ciertas prácticas como ciencia de culto de carga . [3] [5]
Ingeniería de software de Cargo Cult
Un término relacionado con la programación del culto al cargo en la ingeniería de software es ingeniería del software del culto al cargo , acuñado por Steve McConnell . [6]
McConnell describe organizaciones de desarrollo de software que intentan emular empresas 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 una gran cantidad de tiempo y energía para ver el éxito de sus proyectos) al exigir largas horas y horas extra no remuneradas, mientras que en las empresas exitosas estas pueden ser consecuencias de una gran motivación en lugar de causas de é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 organizaciones exitosas de desarrollo de software) están de hecho participando en lo que él llama ingeniería de software de culto a la carga . [3]
Ver también
Referencias
- ^ Raymond, Eric S. (1996). El diccionario del nuevo hacker . Prensa del MIT. ISBN 0-262-68092-0.Mantenimiento CS1: fecha y año ( enlace )
- ^ Bezroukov, Nikolai. "Artículo de programación de Cargo Cult" . Softpanorama (un poco escéptico) Sociedad de Educación de Software de Código Abierto . Consultado el 25 de marzo de 2008 .
- ^ a b c "Ingeniería de Software Cargo Cult" . Software IEEE . Marzo-abril de 2000 . Consultado el 24 de mayo de 2008 .
- ^ Jarvis, Brooke (2019). "¿Quién es John Frum?" . Tema .
- ^ "Definición de programación de culto a la carga" . Archivo de jerga en jargon.net . Consultado el 25 de marzo de 2008 .
- ^ McConnell, Steve (2003). Desarrollo de software profesional . Addison-Wesley . pag. 23 -26. ISBN 978-0-321-19367-4.
Otras lecturas
- ¡Seguro que está bromeando, señor Feynman! , Richard Feynman, WW Norton & Co, Nueva York, 1985, ISBN 0-393-01921-7 . Uno de los capítulos es la transcripción de un discurso de graduación de Caltech de 1974, que contenía la acuñación de " ciencia del culto al cargo ".
- Cargo Cult Science, por Richard P. Feynman . Artículo basado en su discurso de graduación de Caltech de 1974 , con imágenes, como se publicó originalmente en Engineering and Science , Volumen 37: 7, junio de 1974. Versión digitalizada de Caltech Library, consultado el 20 de junio de 2007