Front page | perl.module-authors |
Postings from December 2010
Re: What hurts you the most in Perl?
From: Octavian Rasnita
December 1, 2010 16:15
Re: What hurts you the most in Perl?
Message ID: C3C0869F81FC4271A64B22273A5AA2C4@teddy
From: "Gabor Szabo" <email@example.com>
> Sure, Perl needs some technological improvements and I think people
> involved in p5p have been doing some nice things lately at an
> increasing speed.
> Many modules on CPAN also need improvements.
> But even what we have today we could achieve much better results if
> the perception of people was better.
> With my original question I wanted to know what technological and
> perception related issues people see. We already got some material but
> I'd be happy to see more comments. Especially from those who work with
> people who are not involved in the Perl community. How do your peers
> and your bosses see Perl?
Just silence. :-)
Whenever someone from another company we collaborate with, media company, advertising, web design company, or software company reaches to ask what language we use for creating the web site and I tell them that the language is Perl, I usually hear only silence. Most of them haven't even heard about this language or some of them are wondering that this language is still used.
The languages that exists for the most of the people are Java, C#/DotNet and PHP. Of course, they also heard about C and C++ but there are fewer programmers which use these languages these days.
From the scripting languages Python started to be more and more required but there are very few jobs for Python users yet.
Perl was used 10 - 15 years ago, but it was abandoned a long time ago when "better" languages appeared.
For the software companies "better" means a language with a more strict syntax, with the possibility of hiding the source code (this is very important because the laws can't help for protection) and Java/c#/PHP with Zend Encoder are excelent for this, and there should be many programmers in order to have a cheaper work hand and the possibility to choose.
Perl can't hide the source code very easy, and the possibilities of hiding the source code are not promoted although most of the software companies require this, Perl core is a too low level language comparing with PHP, and using non-core modules is complicated or impossible for those who need to host the web sites on shared hosts without shell access.
Perl offers too many ways to do the things, and there are very many extraordinary good programmers that have different opinions regarding the "recommended way" and the software companies usually don't like this.
And finally there are fewer and fewer Perl newbies, meaning that after a few years there will be very few Perl programmers and this is not OK also.
Perl is good for those who have a job and know how to use it, but it is not good for those who want to find a job as a programmer.
As someone said, it is fun, oh yes, much more interesting than other languages, more flexible to fit anyone's tastes, but these things are disadvantages for teams of programmers that might happen to have totally different tastes.
Perl is not promoted because the Perl community has an inner fight because as I said, Perl means very many technology and languages.
If a software company uses Perl but with Mason and pure DBI calls, they will find as something bad if a new potential employee tells them that he knows newer technologies like Moose, Catalyst, DBIC, HTML::FormFu and Template-Toolkit and they might not want to employ him because they might not want to have an internal competition with someone new who knows more modern things in Perl. Because if that new employee will prove that the modern things in Perl are really better and more productive than the Perl modules they use, the old employees might need to make the efforts of learning new things, so they might make the recommendation to not employ that potential employee.
And that software company that uses Perl might be the only one in the city, although there are tens of software companies which are searching for programmers...
The protestant religious cults try to attract members not from the islam or buddhist group nor from the group of atheists, but from the group of other kind of christians.
The Perl community is also a kind of christian group divided by very many preferences and coding styles which try to impose their preferences and recommendations in the Perl users group and usually don't care about getting good *technical and marketing* ideas from the other groups of programmers.
Unfortunately the Perl group is smaller and smaller and not the main one as the group of christians. :-)
I've seen that PHP has stolen the "standard" way of defining OOP classes while Perl still uses names as "package" or "::" or "->" and I don't know if :: will disappear from Perl 6...
I've also seen that the Python guys realized that Windows is still the most used OS, and it is the OS used for business, and they offer a much better support for it than Perl. Unfortunately most Perl good programmers that might change some things in this field don't care about this.
Some good Perl programmers may not like this and may invite those who want support for Windows to work for it, but unfortunately it is not so simple to ask from a newbie that doesn't know C to change Perl to handle better the Windows threads, so the results are that those newbies are forced to start learning another language...
I have talked with a guy from a software company about a desktop application that we needed and at one time I told him that that app should be multi threaded in order to have a responsive interface, and that will require much more work, but he told me that this is not a problem at all, because it requires just a few more lines of code for synchronizing the threads. Well, if that app would be done with Perl and WxPerl for example, that app would have required hundreads MB of RAM and using threads would have been much more complicated.
So the advantage of Perl's productivity is true, but only in less and less fields.
Java and DotNet also offers ways of creating web apps with complex interfaces and JS code created automaticly, yes, bad JS old-style code, and not new JS libs, but it is created automaticly and offers features which can't be offered easy with Perl, so more and more software companies use DotNet for web apps also because it is much higher level.
Knowing these things, I don't have too many elements to sustain that Perl is better than the languages used by those software companies, and this is frustrating of course. And hurts.