Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
The AM post is a very well spoken post.

One of the things that s/he didn't address, however, was the target. In the context of a backend web processing, Perl is used far more than Java. In fact, I don't know of anyone *myself* that has used Java for CGI type purposes.

Java, however, has one particular strength that Perl will never be able to address, and that's client side processing. Java allows you to manage graphics rendering, form validation, sockets connections, etc all on the client side. An example might be a client/server process where the server supplies a continuous stream of data to the client to be displayed as a gas gauge, representing the current number of processes running on the server (as to why this is useful, we'll just skip over). With Perl, the best you could hope to do is client-side pull, updating the form every so often. With a Java application, you could update as fast as your link supports (maybe 100-200 times a second).

Similiarly, if you have form data that's algorithmically generated, Java can do this for you. An example of that might be doing loan calculations, where the user enters the number of payments, the loan amount, etc, and calulcates payments. You *could* do this by re-submitting the form to the server everytime a user makes changes, but you take unnecessary server hits, and delay feedback to the user unnecessarily.

I've seen a growing number of standalone applications that are written in Java, such as book managers, CD managers, etc. They're pretty slick. Unfortunately, like Perl, they require the user to have software already installed in the machine to run them (typically the Sun JDK environment, or MS-Java). At the moment, this is what I'd consider one of Perls weakest points. If you're an NT user, or running on a poorly managed *nix box, you might not be able to run either the Perl application or the Java application. For this reason, I'm a big fan of web driven apps, where you, as the author, have control over the environment. Java applications written for a web browsers can be somewhat browser dependent, especially if you start getting a little funky. But, conversely, any classes the user needs to run the application get pushed to his/her machine at run time.

Knowing both Perl and Java give you an extremely powerful toolkit. There are those that pooh-pooh Java saying it doesn't have a place. They're just basically un-informed, and should be ignored. There are some jobs best (or easiest) done server-side, and some jobs that are best done client-side. Being able to recognize the difference, and knowing what tools to use (and how) is what gives you the ability to solve problems, impress your friends, and command awesome incomes. (Well, usually the first two, at any rate.)

Java, like Perl, is pretty much here to stay. There will be other technologies to come down the road, but the fact is that learning both of these is not going to be a mistake. Not to mention, the more languages you learn, the easier it is to pick up new ones. After a little bit, you can basically glance through a reference for a new langauge, and understand how to use it (you may not be able to exploit it to it's fullest potential, but you'll be able to do what you need to do. Which is the goal.)

--Chris

P.S. Skip learning COBOL, it's dead.

In reply to (jcwren) RE: Perl and Java's place in the Universe (and my resume) by jcwren
in thread Perl and Java's place in the Universe (and my resume) by husker

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others lurking in the Monastery: (4)
    As of 2021-02-28 20:00 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      No recent polls found

      Notices?