Talk:Cargo cult programming

message: I'm linking to a PDF version of Feynman's address, which is also linked from Cargo_cult_science
This lead me to a couple of questions:
* Should we link to an html version? Here are two html versions. Each differs from the PDF version, and from each other which appears more authorative (source: Caltech library, appears scanned from Engineering Science 1974). However, Feynman's book may have published an edited version as well
** Cargo Cult Science (html) as linked from Cargo_cult_science
** Alternate source for Cargo Cult Science (html) by Richard P. Feynman.
* What is the proper relationship of this article to Cargo_cult_science ? It seems inappropriate to duplicate full-text references here, but worse to not include them.
Jodi.a.schneider 22:20, 20 June 2007 (UTC)
thread_title:  Link to html full-text? 

message: According to the Wikipedia entry for "Cargo Cult", the aboriginal practice began in the late 19th century.  TPOBrien 01:04, 31 December 2006 (UTC)
thread_title:  Reference to World War II 

message: "Obsessive and redundant checks for null values or testing whether a collection is empty before iterating its values may be a sign of cargo cult programming. Such obsessive checks make the code less readable, and often prevent the output of proper error messages, obscuring the real cause of a misbehaving program." 
I think this needs to be elaborated upon. It can occur that a programmer is checking for things that don't need to be checked. This can be considered cargo-cult programming because it is a result of the programmers ignorance. For example if you are checking for an empty collection before iterating over it that might be unnecessary because with most loop/iteration constructs the platform generally skips over empty collections. But with, say, a repeat-until construct that is not the case and this check would be necessary. A lot of null-checking can just be the practice of 'defensive programming'. Or it might be bad practice because a framework already guarantees injection of a non-null value. Or it can be a situation where a nullpointerexception is just as informative as the information a null-check would give you, so null-checking is redundant. So it's really an 'it depends' thing and not an absolute thing. Words like 'obsessive' and 'might' already indicate this but I think it needs to be more explicit or else you risk developers calling proper defensive code out as 'cargo-cult programming' and that's not desirable. The simpler solution would be to just delete this sentence. I'm not doing that myself because I'm just a newbie here and I want to respect the contributors.
Timwaagh (talk) 00:29, 8 June 2020 (UTC)
thread_title:  Issues with the line about null/empty checks 

message: This kind of article is incomplete without any examples?! --184.20.10.253 (talk) 16:28, 26 November 2020 (UTC)
thread_title:  Where are the examples? 

message: The examples in the introduction ("unnecessary comments [...], overzealous adherence to [...] a programming paradigm, [...] Obsessive and redundant checks for null values") lack any sources, and thus represent either personal opinion, or original research. They should either be properly sourced, or removed. Adding  . 90.187.69.93 (talk) 10:03, 29 November 2021 (UTC)
thread_title:  Examples in introduction lack any sources