Of course Perl geeks don’t need to make this kind of question because there is no answer for this. We just love the language and we don’t have to give any explanation about it.
But for people that are not involved so much in Perl, let me explain why I personally love it and why there is so much people loving it and heating it.
Perl is the Swiss Army chainsaw of programming languages, it’s a flexible, powerful and multipurpose programming language initially developed for UNIX in 1987 by Larry Wall and later ported to many platforms, even Windows.
Ok this is a simplistic definition. But the real reason for loving Perl is because it’s one of your best friends. Perl let’s you an incredible freedom, this means that you have an incredible power with it but associated to any power, responsibility comes. A good Perl developer is “good” not just because he/she knows exactly anything about the language or due to the years of experience. To be good in Perl implies these two requirements: full understanding and common sense of what we are doing. Perl forces the programmer to have a real and global idea of the problem, therefore a good understanding of the needs is required as well. These kind of problems and these kind of visions, from the programmers point of view, bring concise and monolithic solutions that fix the problem definitively.
Let’s try to explain this a little better. It’s all about making things easy without loosing knowledge. I know many “programmers” of some new-age programming language in vogue these days that lack many of the basic knowledge required for being a technically qualified programmer. Of course this is good for companies because they can hire for less money some individual that only knows this or that framework. No technical knowledge is required. The language and the development environment prevent him/her to make mistakes, making “life easy” for them and production faster.
That’s true; from a productivity point of view, and , of course the company can save money and get the job done.
A language like Perl forces the developer to get a better and more global understanding of the problem and focus it as a whole to find a solution. The lack of so many intrinsic automatisms and limitations and the addition of a code made to be effective and not to be readable to anybody made this language a powerful and dangerous one at the same time. To become a good programmer in Perl it’s necessary to have a good understanding of the problem, a good knowledge of the language, a deep knowledge of programming concepts and the ability to take an unusual decision to find a great solution.
I don’t want to insult programmers of those new-age programming languages in vogue nowadays. It’s not about the language. In fact expertise, intelligence and knowledge are virtues not related to the technologies used. It’s about people and it’s about companies that only think about profit, of course that’s the way they operate, and the laws of profit do not take care about, even, they are not related to those human factors like knowledge.
Perl as many other programming languages, like C, will make you think and will make you use more brain cells because you will know that there is always a better solution. The language will offer you no limitations to perform that solution.
That’s why people that love to think and people that love to see elegant, smart and simple solutions tend to love languages like Perl and at the end we become real fans of it :)