Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
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":



  • Are you posting in the right place? Check out Where do I post X? to know for sure.
  • Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
    <code> <a> <b> <big> <blockquote> <br /> <dd> <dl> <dt> <em> <font> <h1> <h2> <h3> <h4> <h5> <h6> <hr /> <i> <li> <nbsp> <ol> <p> <small> <strike> <strong> <sub> <sup> <table> <td> <th> <tr> <tt> <u> <ul>
  • Snippets of code should be wrapped in <code> tags not <pre> tags. In fact, <pre> tags should generally be avoided. If they must be used, extreme care should be taken to ensure that their contents do not have long lines (<70 chars), in order to prevent horizontal scrolling (and possible janitor intervention).
  • Want more info? How to link or or How to display code and escape characters are good places to start.
Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2022-01-24 11:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:












    Results (64 votes). Check out past polls.

    Notices?