|laziness, impatience, and hubris|
Perl irks me. I enjoy programming Perl immensely, but there is one niggling little thing that worries away at my peace of mind while I am programming in it.
"Have I got it right?". All the while I'm coding I'm asking myself this question, and I'm not getting the answer I want to hear. My programs work, sometimes even for more than a few seconds (grin). But I'm constantly wondering, "How can I make it better?". Should I have used an array instead of a hash? Was storing my variables in a separate namespace better than creating an object to manage them? On and on and on. I barely have enough attention to program, what with thinking about the stuff I have already programmed.
This contrasts with my work in more established languages like C where I know that there is no way I could be doing it better. Partially because in C there is a sort of recipe list. A lot of problems have well known "best ways to do it" answers that are known to the community. When I sit back and look at a C program I wrote, I get a feeling of satisfaction and completeness. I run the program and mentally I go "Yes!".
But in Perl, there are so many ways to do it and they all change depending on so many different aspects of your program, the data structures you choose, the user interface you are using, the storage methods available. I don't get a feeling of satisfaction when I've finished a program. I sit in front of my screen, turning bits of the code around in my mind, because I'm not sure I've done it the best way. Even when it's finished, it's still not done.
I enjoy all the Perl code I write (except maybe CGI thesedays), but I just wish I could get a feeling of satisfaction and that warm inner glow of a job that's done, well or not.
And that is why Perl irks me.