From: Matthew Smillie Date: 2006-06-10T04:05:27+09:00 Subject: Re: Ruby's role in future operating systems On Jun 9, 2006, at 18:54, James Britt wrote: > Louis J Scoras wrote: >> On 6/9/06, Kyrre Nygard wrote: >>> You're making a good point here. But to me it feels like a "if it >>> works >>> don't fix it" kind of thing. I mean, all in all, wouldn't Ruby >>> prevail? >>> >>> Feel free to show me some examples though. >> # mp32ogg [untested] - quick and dirty conversion: >> mpg321 -w - somesong.mp3 | oggenc -o somesong.ogg - > > Question (maybe a bit off-topic): > > The example may be quick, but in what way is it dirty? > > More generally, why do those two words get used as if they were > joined at the hip? Is there a bias against being quick, a belief > quick only comes at the cost of clean code? I think it's a linguistic quirk of English more than anything else. Like the canonical example of 'kick the bucket,' it's an expression that doesn't quite parse for native speakers if you substitute otherwise-equivalent words or grammatical constructions. For example "quick and grubby", "speedy and dirty" or "fast and filthy" don't quite have the same meaning (though I do like that last one quite a bit). In my experience, 'quick and dirty' doesn't necessarily mean *bad* - a quick and dirty meal can be tasty - it's more a description of the process or role of the activity; informal, slightly tangential to your goals, but has to be done anyway. In other words, it's the means to an end rather than an end in and of itself. And Ruby is *really* good at that sort of programming, precisely because it's quick. > My usual response is that I prefer quick and dirty to slow and > dirty; Java or C# (the usual suggested alternatives for "real" > programming) offer no more assurance of clean code than using Ruby; > indeed, the opposite is likely more the case. Regardless of the speaker's intention, I think that's a great response. Even better if the phrase is just being used as an idiom, since it focuses the speaker's attention on what 'dirty' code would actually mean. matthew smillie.