in reply to Java Vs Perl

Java Is Hazardous to the Health of Your Projects:

"Java, which is currently the most hyped programming language, fails to make the cut under these criteria. It's too new and it's proprietary. Does that mean that it shouldn't be used? No, but it does mean that it should be used only if the planned life of the application is relatively short -- definately less than five years. As yet, Java does not have the track record for stability that other programming languages have. Although there is a lot of marketing momentum behind Java right now, until a defined and stable standard emerges, it is a high-risk option compared with standardized languages."

The discussion I highlight above is an excellent reason to use C, Perl, Python, Ruby (etc.) in favor of Java, C++, C#, Visual Basic (etc.) on projects that are to be developed by a small team, and maintained for a prolonged period.

That said, there is a real reason why Perl is special, both as a language and as a community. Technical reasons include Perl's expressiveness and dynamism. Community reasons include a highly portable, cross platform, open source definition and implementation.


Mago
mago@rio.pm.org

Replies are listed 'Best First'.
Re^2: Java Vs Perl
by Anonymous Monk on Jan 11, 2005 at 11:51 UTC
    As yet, Java does not have the track record for stability that other programming languages have. Although there is a lot of marketing momentum behind Java right now, until a defined and stable standard emerges, it is a high-risk option compared with standardized languages.

    Ok, let's just assume this is all true and sensible.

    The discussion I highlight above is an excellent reason to use C, Perl, Python, Ruby (etc.) in favor of Java, C++, C#, Visual Basic (etc.) on projects that are to be developed by a small team, and maintained for a prolonged period.

    Since this is Perlmonks, I'm not going to discuss C, Python or Ruby. But I do want to discuss Perl. There's nothing wrong with Perl, but I don't think you should suggest it has attributes it doesn't have. Perl doesn't have a standard, and it doesn't have a track record of stability. In fact, in both deparments, it does worse than Java. Just look at two hot things of the last decade: threads and Unicode. Perl has had several thread implementations, and several Unicode implementations, and despite having worked on it for years, it still doesn't get it right.

    Don't get me wrong, I'll pick Perl over Java 11 out of 10 times myself. But that's because Perl has so many goodies, I'm willing to deal with the fact Perl is a moving target, and upgrading to a new version isn't always painless.

    But neither your post nor mine has anything to do with the original question.

      Just look at two hot things of the last decade: threads and Unicode. Perl has had several thread implementations, and several Unicode implementations, and despite having worked on it for years, it still doesn't get it right.

      Uhhh ... I've been programming exclusively in Perl for over 4 years and on and off for 8 years prior to that. I have never once programmed anything threaded. Ever. In fact, I would say that most programmers in the world have never knowingly handled threading issues.

      And, no, I don't count Java's auto-threading of all applications to be relevant to the discussion. Threading is much harder than managing database connections and programmers writing in Java seem to get the latter wrong a heck of a lot more often than programmers writing in Perl.

      As for Unicode ... what does 5.8.x not do that it should? (Discount regular expressions for a second because, AFAIK, Perl has the best Unicode regular expression support anywhere.) I work with web apps that have to seamlessly render pages in at least 5 languages, with one up to 12 languages. CJK, Arabic, and Latin-1 are all handled without a problem. More often than not, it's Oracle or Sybase that screws it up, not Perl.

      Being right, does not endow the right to be rude; politeness costs nothing.
      Being unknowing, is not the same as being stupid.
      Expressing a contrary opinion, whether to the individual or the group, is more often a sign of deeper thought than of cantankerous belligerence.
      Do not mistake your goals as the only goals; your opinion as the only opinion; your confidence as correctness. Saying you know better is not the same as explaining you know better.

        I've been programming exclusively in Perl for over 4 years and on and off for 8 years prior to that. I have never once programmed anything threaded. Ever. In fact, I would say that most programmers in the world have never knowingly handled threading issues.
        I've been programming Perl for 10 years now, but I've never programmed anything with mod_perl or the DBI. Ever. And that's probably true for most programmers in the world. But that doesn't mean that mod_perl or the DBI aren't hot or important.

        It doesn't matter whether programmers get it right. Fact is, there is a demand for threaded applications. Whether it's useful or not. And when programmed right, threading in Java works a lot more efficient than in Perl (where threads is such a bane that by default if you compile Perl, threads are disabled). It's like vitamine pills. Whether they work or not - there's a demand for them. And that (partially) explains why Java is "bigger" than Perl.

        As for Unicode, I don't have my p5p archive here, and I'm not going to look up the online archives, but there are still a lot of bugs/glitches coming by on the mailinglist.

        I believe Merlyn once said that (roughly), the answer to the question of forking is "don't". Fork works, especially if on *nix. It's simple. If on a Windows system, fork emulation w/ ActiveState is still better than threading. If something "must" be threaded, it can also usually be written with subprocesses. GUI apps must be threaded to not lose responsiveness when doing slow things , that's about it.
      Ok, the original question is: "Why is Perl programmer are well paid?"

      This isn't a important question !

      The real important question is: "What do Java Project do as compared to Perl Project ? What would be better ?"

      Mago
      mago@rio.pm.org