2 ms·
>One thing I've noticed, though, is that the Perl community is better at stealing from Ruby and Python than those communities are at stealing from us. DBIx::Cla
by elblanco 17y ago
>One thing I've noticed, though, is that the Perl community is better at stealing from Ruby and Python than those communities are at stealing from us. DBIx::Class is significantly more advanced than any Python or Ruby ORM that I know of, KiokuDB is the only sane object database among those three languages, etc., etc. But Ruby and Python still don't have anything close. OTOH, Python's WSGI and Ruby's Rack are great ideas... so the Perl community now has PSGI and Plack. So you can see why I find it compelling to stick with Perl. Good ideas eventually migrate over here, and the community supports them.
I upvoted for this. Perl is kind of the "English" of the programming world, picking up whatever useful artifacts from other ideas it can without being concerned over language or design purity. Perl's design concept is to use whatever's best - i.e. be agnostic and be pragmatic.
This has it's good sides and bad sides (just like English). Perl can be both easy to learn the basics of, but very tricky in advanced usage, and it suffers from the "hard to maintain" problem. But it can be a nice dense language that maps well to a reasonably logical thinking process (it's probably by semi-intention since L.Wall is a Linguist).
Perl 5 is certainly showing its age though.
- jrockway 17y ago"Hard to maintain" is true of code written in any language. Software is generally hard to maintain. Perl has had this stigma forever and the community has compensated in many ways; Perl Best Practices, 100s of Test:: modules, Moose, etc., so you actually have a pretty good chance of writing maintainable software. One feature I consider key to good OOP are "roles", and only Perl, Smalltalk, and Haskell really have those. People like to repeat things they hear, but if you think about it, Perl is not at all unmaintainable.
- elblanco 17y agoOne can certainly hack out some very maintainable Perl code. I agree 100%. I just started doing some work on an old 10kloc Perl app I wrote 3 years ago and because I planned it out in a sensible manner, have been able to jump in without too much trouble. But I've also choked when trying to work on trivial scripts I tossed together in a rush. I've always found Python to naturally follow more maintainable code patterns -- and it seems really designed with a philosophy towards that goal. But I've always liked Perl better since the code flows more like how I think (at least in a write once kind of way).