|There's more than one way to do things|
Re: Perl Advocacy: Sometimes java is bitter...by mattr (Curate)
|on Feb 08, 2002 at 18:21 UTC ( #144180=note: print w/replies, xml )||Need Help??|
I got a warm feeling too and it wasn't from being combative. I see a good number of big projects these days which use Java for things Perl is awesome at, and the big difference is that it is "assumed" that an extremely expensive application server is required to make it run fast enough.
In one case many people had been fired from a web company which did not blink at recommending highly expensive servers, nor was any effort spent on considering on what the best course of action would be. And last year I managed a four month Weblogic project but when push came to shove, J2EE and the HP cluster (not my idea) got kicked out for JSP and a couple linux boxes. Lost a lot of time researching and getting training for application servers, spending client's nonexistent money, etc. End result, works just fine and yeah, if I new CGI::Application as well at the time I could have probably saved them 4-6 man-months of work doing it myself.
Another example is a product of someone's I'm handling. This Java/Tomcat thing does on-the-fly transformation of web content, based on XML queries. It seems a bit slow, reminds me of the great benchmark node I just read about XML. Now sure, the source code is closed. And there are good reasons to use Java I'm sure. But not *that* good! It feels like the pure perl XSLT transformation times that were being talked about. The main reason for Java seems to be for interoperation with the backend, but this product doesn't do that. Regardless of why it is in Java, the non-tech people are thinking it must be real advanced if it is Java. So again, lots of money is moving around because of a black box, underperforming technology and ICDIIPFHTP (I Could Do It In Perl For Half The Price).
Another example is a "senior programmer" who has developed a large, complex analysis of a sql based web logfile for one of the largest software companies around. It is in ASP. Huh? Whatever, I'm hoarse. But he went through hell.
Non-technical people decide on the technology. Seriously, Java can be great for lots of things I'm sure but spending tons of people's money on unneeded technology is not my idea of fun, even if you're told it's already decided and its take the job or forget it.
Most purchasing decisions I've seen for Content Management systems too, ought to have been Perl. Possibly not for your very high end stuff, although that may not be true either. But I'd say you could build something very very useful for less than what one license costs for one well-known package.
A rather big question of mine is, why on earth is there no Perl application server market? Are these things solid hype, or is it impossible to make money with it? Perhaps Apache+mod_perl is just perfect and too tough a competitor, but documentation is byzantine and it is not taken seriously as far as I can see. Everyone from management to sales, marketing, and even most developers know all about huge Java app servers but not about mod_perl. The worst is when Perl programming is called scripting like we're writing lingo cast directions or hypercard stacks or something. PHP or ASP are assumed to be superior to Perl unless the people who think so happen to be in my vicinity. Heck, it's hard for me to take it seriously and I've made money with mod_perl (spent a lot of time figuring it out though), because the main sites I've seen about it are years out of date.
Personally I have nothing against Java, but Perl feels a lot more of a vibrant community, and my personal time investment comes back magnified many times more than would be the case with Java. So I'd very much like to hear ideas about whether a serious application server might be realistic say when Perl 6 comes out, and whether there is any other information or package out there which is up to date and could fill the gap until then. Here's why Perl isn't taken seriously as far as I can see:
http://perl.apache.org (don't compare with http://jakarta.apache.org/ unless you feel too good today):
Second link (Take23) has a news page not updated in 8 months Other links are similar.
perl.apache.org/dist/ has files all between 1 and 4 years old. No more versions? Are we perfect? Well there is Axkit but I don't see that as a Perl app server the way Weblogic is for Java. Not that Weblogic is fast or anything as far as I can see..
That, and you never see mod_perl or Apache at a trade show I guess.
Nobody mentions application server type projects on Perlmonks. I wonder why?
At the risk of refuting myself, now I do see http://www.modperlcookbook.org/ which is a book published this year. Is this a statistical oddity? (Wish I had their book by the way). Actually besides CPAN, the most new stuff I've seen is at ActiveState with their Perl DevKit. Now you can build Windows installers, ActiveX, COM and what have you all in Perl. Not to create a holy war (hey it's late at night) but if Java is having a crisis of faith we need a blueprint. If Perl is getting stronger with 3-countem-3 full time perl_gods working full time on great stuff and the economy helping out, Perlmonks could just be the place to talk about the future too.
A final thought. This idea must have gone around tons of times, but is there a good reason why we can't have a list of real good Perl books (I think it might include the above book just from looking at the sample chapters) and part of the sale would fund Perlmonks? I doubt a lot of people would have found that book buried in a page only I know existed out of the next 500 people I know close by.
My last word on this (sorry All) long letter to the Monks is that I have not been on the mailing list for mod_perl (I must not have seen anything when I was really active a year or two ago) but I just followed a link and yes there are Feb 2002 posts. I'm going to study that some and not shoot my mouth off. Though I still think all that above still goes and "nobody but us owls" know about the ML anyway.
Oh, mod_perl news by the way. I have a search engine (open source modules, original mod_perl code, some tweaked C++ and lots of research) which indexes all of Omron's servers worldwide. The mod_perl part has some intelligence where it picks which of 60 databases it uses depending on the language and theme you want. Funny, my mod_perl code has never gone down, server's been hit by all kinds of NT attacks, and a recent vulnerability announced about one part of the system (htdig, the single byte module now) I integrated is rendered moot by my paranoid code. Omron's like Siemens, they are the ones who just made a robot cat. Anyway they asked me for some custom dbs and soon the omron.com search engine will be EyeLatitude instead. (Mainly English now).
I always feel like I want to contribute code back to the community when it is "solid" but guess what, this stuff works great (up a year now I guess) without the sweats commercial app servers have made de rigeur. I know I'm just small fry compared to some projects using similar code underneath, but I feel sometimes like everybody is living in a fantasy world. Called up Everypath today to see what it cost, starts at a million bucks the guy said. I think that Perl is competitive, creative, and a definite plus. I can tell if a program is junk inside before it blows up on me. I have a great time every time I start a Perl project. And I highly respect people I have the honor of meeting through Perlmonks. Compared to this, much else of development appears lonely, rapacious, and disillusioned! We're so blessed()!
So I don't think there is any point in being combative, but I do think that the immense amount of enthusiasm inside the community is not making its way out into the mainstream and I think it might be close to time. We could be on a flipflop here ..
Update: Thank you for the responses, wow! Fixed the Freudian slip, thanks Grinder. Also turns out the Omron site is already using my system EyeLatitude. 10,000 searches a month so far.
In Section Meditations