So I decided to use some of my Copius Free Time to learn some more Java. I bought a copy of Core Java 2 Volume 1 - Fundamentals and sat down last night to read through the introductory chapters.
At the end of chapter one they have a list of "Common Misconceptions about Java". This contains things like "Java is an HTML extension" or "JavaScript is a simplified Java". One of them says "You should use Java instead of Perl for CGI scripting". Here's what they say about that:
This is half right. Not only should you no longer use Perl, you should also not use CGI scripts for server-side programming. Java servlets are a superior solution. Servlets execute much more efficiently than CGI scripts, and you can use Java - a real programming language - to implement them.
Now, I can understand them plugging servlets and I know that CGI really isn't very efficient, but that implication that Perl isn't a real programming language really rankled with me. It's so pointless. I almost gave up reading the book at that point.
I've emailed the authors to find out what constitutes a real programming language by their definition. I'll let you know if I get a reply.
Is that what people mean when they say that perl isn't really a programming language? Because it seems like explaining that we don't quite understand how electricity works, either. So what?
Sometimes when people feel inferior (say, because they watched another programming language beat the pants off of their favorite in something) they need to compensate. I couldn't care less; I'm learning more Java when I can. Tools, jobs, and all that.
I don't love Java, though.
That Java developer was a biologist by training & experience, who had just started out on programming a year or two ago. She felt pretty strongly that for web programming, Java was unquestionably superior to Perl because, like your quote says, Java can do servlets while CGI scripts can't & are thus Perl is slower. It was pretty obvious that she was parroting something she read in a book like this one, and that she never heard of FastCGI or mod_perl or anything like that. And in the month I spent there, we never did manage to get Tomcat running on the big Sun Enterprise server, so she had to keep developing everything on her desktop while the CGI stuff I wrote worked locally and on the server, and should have run just fine under Apache::Registry if they ever installed mod_perl. What was that about scalability?
I think most people -- myself included -- are inclined to just go along with the first thing they learn, no matter how bone-headed it may seem to someone more knowledgeable in the field, and we aren't willing to put the time into going into more depth & straighten out these misconceptions. I can't see an easy way to change this. You can advocate for better Perl books, but that does little to someone hearing lies in a Java or Python text (or, to be fair, the unfair digs at Java in a Perl or Python book, or whatever). I can't see a clear way out of this situation in general...