Why Module::Build is great

So I'm back to posting, and apparently I'm not the only one.

As much as I'm impressed by the work done by Reini Urban on LLVM and the compiler, I disagree with his last post.

When I started writing CPAN distributions, EU::MM looked to me like something I will never write. Take this Makefile.PL for example, taken from Test::Simple. Compared to many other Makefile.PL files, this is actually clean and straightforward. It still looks like something I would never write. Why would I ever want to?

Don't get me wrong, EU::MM seems like something you might enjoy, but not necessarily, and definitely not for everyone. Module::Build provides a good foundation for common requirements of the average programmer. It's very extensible, has a clean and - more importantly - clear API and easy to read and write. I also personally really like the whole "if we're gonna run Perl anyway, let's just do the toolchain in Perl" idea. I was also able to happily contribute to M::B (David Golden++) and overall have a good working experience for it.

Hopefully without antagonizing too much, I would compare it to Ubuntu vs. Slackware (well, maybe you'd have to squint a bit). Ubuntu might not have all the flexibility of Slackware (though it might! I don't know very well, nor do I care), but Ubuntu allows a common user with the common use-case to work happily. You might want more control, you might want more bare-bones. That's just fine (and perhaps that's why you'll need Slackware), but it does not mean Ubuntu isn't good, worthwhile, a great project or something you should suggest users.

(and I hope I'm not gonna get a war started in the comments...)

1 Comment

I hope you do, flame wars are excellent for a blog's popularity.

Leave a comment

About Sawyer X

user-pic Gots to do the bloggingz