On 2010-06-16 14:13:22 -0700, Magnus Holm said:

> On Wed, Jun 16, 2010 at 20:45, Rein Henrichs <reinh / reinh.com> wrote:
>> _why's code is full of metaprogramming where simpler alternatives exist.
>> Case in point: Camping. I wonder if it isn't in part to blame for the
>> current Ruby fetish with metaprogramming. That said, I do love me some
>> chunky bacon.
> 
> Bad choice of victim (Camping, not _why), because the whole philosophy
> of Camping
> is to experiment with weird Ruby code:
> 
>     No, let's not have rules.  I don't feel comfortable with having
>     coding standards or any protocol on Camping.  The point of Camping
>     is to have very ugly, tricky code that goes against all the rules that
>     people make for "beautiful" code these days.  To show that ugly code
>     can do beautiful things, maybe.
> 
>     I don't want to demonize anyone here, I just want to express the
>     ideas that make Camping different.  Camping's personality is 80x50.
>     It is like the little gears of a watch that are all meshed together
>     into a tight little mind-bending machine.  The challenge of Camping
>     isn't to figure out how to automate obfuscation.  The challenge is
>     to bring new tricks into the code that push Ruby's parser and make
>     everyone look twice.
> 
>     Not all code needs to be a factory, some of it can just be origami.
> 
>     _why
> 
> 
> // Magnus Holm

Not at all. This is exactly why I chose Camping. It more than 
adequately demonstrates _why's fetish for "tricky code". Such 
trickiness is also present in much of his other code, but not even _why 
can disagree with this example.

_why may know tradeoffs imposed by "very ugly, tricky code that goes 
against all the rules" but the people who look to _why for advice (like 
his Poignant Guide, aimed directly at Ruby newcomers) are incapable of 
making this critical distinction.

Also, the pronoun may have been ambiguous. I meant "I wonder if *_why's 
code* isn't in part to blame...", not specifically Camping.

-- 
Rein Henrichs
http://puppetlabs.com
http://reinh.com