Schlemiel the Painter's algorithm: Difference between revisions

Content deleted Content added
No edit summary
SmackBot (talk | contribs)
m Dated {{Notability}}. (Build p608)
Line 1:
{{Notability|date=April 2011}}
{{notability}}
{{Orphan|date=February 2009}}
{{Distinguish|Painter's algorithm}}
Line 10:
Spolsky used a [[Yiddish]] joke to illustrate a certain poor programming practice. In the joke, Schlemiel (also rendered Shlemiel) has a job painting the dotted lines down the middle of a road. Each day, Schlemiel paints less than he painted the day before. When he is asked why, Schlemiel complains that it is because each day he gets farther away from the paint can.<ref name="basics">{{citation|last=Spolsky|first=Joel|title=Back to Basics|date=December 11, 2001|series=Joel on Software|url=http://www.joelonsoftware.com/articles/fog0000000319.html|publisher=joelonsoftware.com}}.</ref>
 
The inefficiency to which Spolsky was drawing an analogy was the poor programming practice of repeated [[concatenation]] of [[C (programming language)|C]]-style [[Null character|null]]-terminated character arrays (that is, [[String (computer science)|strings]]) in which the position of the destination string has to be recomputed from the beginning of the string each time because it is not carried over from a previous concatenation.
 
Spolsky condemned such inefficiencies as typical for programmers who had not been taught basic programming techniques before they began programming using higher level languages: "Generations of graduates are descending on us and creating ''Schlemiel The Painter algorithms'' right and left and they don't even realize it, since they fundamentally have no idea that strings are, at a very deep level, difficult."<ref name="basics" />