I’m kinda amused to see this old post suggesting that perl developers are happier than other developers. I can well believe it. I’ve always been happy playing with perl than the other languages I know, although I’m not quite convinced by the method.
Just a thought though – personally, I’m happier on smaller code bases than larger code bases. Could it be that perl sees more use for moderately sized systems and other languages are used to create developer depressing byzantine balls of mud?
I would throw an educated guess from my experience that the happiness comes down to the fact that generally with Perl you have good knowledge and control of what the code is doing, even when you have lots of CPAN dependencies. When things go wrong and there is an error I know immediately what happened and how to fix it. In contrast, from my experience programming in Java which I do frequently you feel more out of control. To reuse your adjective, there is typically such a byzantine class and dependency hierarchy that has nothing to do with what you wrote that when you stumble on an error when running your code it can sometimes be frustrating. Getting things to play together nicely in Java can be annoying and in Perl I find it much much easier.
I’ve spent most of my career working on very large Perl systems – just as large and Enterprise’y as any you’d find in another language (*cough*java*cough*) š
“Large” being a statement of complexity, capability and functionality, that is, not actual code size. And therein lies the secret to happiness with Perl. It’s such an expressive language, with such a wealth of available tools via the CPAN.
What takes a day to write in many other languages takes an hour with Perl.
What takes a week to read and grok somebody elses’ code in another language takes a day with Perl.
Perl makes my life easier. Several other languages make it more difficult. ā¤ Perl.
@Leandro – Yeah, folks seem to create more ‘interesting’ object hierarchies in the enterprisey languages don’t they š
I have the same experience in finding it easier to drill down to perl problems, but I’m still not sure how much is due to more complex architecture (for sure that is part of it) and how much is due to being more skilled with the tools.
@mstratman – I think that may have been partly what I was trying to get at. In Perl, to create a certain amount of functionality requires a lot less code, certainly than the enterprise languages (maybe less so with Ruby and Python) that you’re always working on a relatively smaller code-base.