From: Rolf Banting > Functions are first class citizens in Perl - so you get functional programming built in. You don't in Java.
Even the newer perl modules on cpan started to use OOP, and I guess this is because OOP is better, even though under perl it usually makes the programs run slower. I guess that today there are no many students that are taught in schools that the functional type of programming is good... > How are standards of OO quantified and compared? Simple. They should follow the "modern" standards, standards made by those who have the power to promote their way - Sun, Oracle, IBM, Microsoft. This is because if a student learns C#, and learns Java, he will find easier to learn an OOP style similar to that from Java than a way like the one used in Perl. And anyway, for the beginners, this is not a big problem. The biggest problem is that perl is harder to learn. The programmers might want to learn a language for a year, and get a job, and after this they hope that they will find time to learn the chosen language better while they have a job. Harder to learn than what? Is there any evidence for this? Yes. Most PHP programmers I know, that also tried to learn Perl told me that PHP is more easy to learn and to use. We could say that perl would be really great for these days if we could say about it something like: - It is the most easy to learn language even by the most stupid programmers. It is easy to learn! The core language, yes, but in order to prove its advantage, the programmer also needs to know how to use hundreads of CPAN modules, and with all those modules, it is much harder to learn, because it requires to learn how to get them, how to compile them, how to fix the errors they give when trying to install them, and finally the programmer will find that some of the good and recommended perl modules from CPAN aren't even portable under Windows. Without the CPAN modules, perl is much lower level than PHP, and it isn't so productive anymore. > There are very many recent books that teach Perl. Why is "recent" important? The language features haven't changed much so why would the learning resources? Because Catalyst is very fast changing, DBIx::Class the same, HTML::FormFu the same, CGI::Application the same, because Moose appeared, but there are no very many books that talk about them (or other modules). There are however very many perl books that teach how to use CGI.pm, how to print "Content-Type: text/html\n\n";... and of course that if a beginner programmer will start to read them, he will think that perl is obsolete, even though it is not true. - There are important other software made in Perl which are used much these days, like a mailing list manager, a web server, financial charting software, stock exchange trading applications, etc. I know of perl CORBA applications that have been responsible for charging literally millions of real-time short messages in telecomms networks in Latin America. From the point of view of students, this is very little relevant. Is that company very well known? Does it has advertising on MTV? or at least CNN to be well known in the entire world? Because if it is not, the students will see that some pages from google.com have an url that ends with .py and not .pl, and this means a lot for them and for the language they will choose. Perl is great, but I think it will remain a niche language for a long period, even though we know that we can do everything with it. The truth is that we can't do really everything with it. There are applications made in Java that do annimation, graphic games, search engines, and many other things that we can't do only by using perl, without C or other languages. Octavian