Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

comment on

( #3333=superdoc: print w/replies, xml ) Need Help??
Having worked with both I can tell you that they are both truly useful languages. If you have the opportunity you should get to know them both. The main reason Java gets the vast majority of the mindshare in my opinion is that it was designed for the Internet and the new push in distributed computing, and it is Object Oriented in nature which is the current defacto trend in design methodology. Java also is very easy for C++ programmers to pick up since it's so similiar which is another reason it is so popular. Perl's strengths as far as I'm concerned are it's comprehensive regular expression engine, it's string manipulation and formatting abilities and it's brief syntax which allows you to quickly hack something together that needed to be done yesterday. That is why sysadmins love it so much because it lends itself so well to "throwaway" code and ad-hoc solutions. Another benefit is the community that has grown around this language and the vast amounts of modules that have been designed to do anything and everything. Perl's weaknesses in my opinion (others would argue that these are strengths, but when applied to scalable enterprise systems they cease to be amusing) are its less-than intuitive syntax, its lack of typecasting, its lack of a coherent thread model (I realize that there is a threads package but it is an add on, and is not part of the standard source), and its lack of support for certain object oriented semantics (such as templatized data types, true inheritance, exception handling, enforceable data encapsulation, and abstraction for example). Perl folks would argue that Perl has all these things but they are not enforced...and the object model requires a lot more overhead than Java. As a system gets more complex these things tend to start stacking up and Perl objects become a tangled mess. Java on the other hand is very strong in the Object Oriented supports a true Object model and has the ability to implement inheritance, encapsulation, etc. Like Perl it has a very strong community and lots of add on packages, many available for free as well. It has a simple threading model, and great facilities for internet applications (applets, which are more powerful than CGI in my opinion, as well as servlets, etc.) JavaBeans allow you to build reusable components that can be dropped in as building blocks to other applications. One of the other strengths is its distributable nature, there are a large number of CORBA orbs with built in Java support, while I believe only MICO has Perl support. Another issue is the fact that I find Java debugging easier to do than Perl due to Perl's lack of typedef. For me personally, in a professional setting I like to do the "core" of the system in Java or C++ because they are easier to clean up/maintain in my opinion and then write "glue" applications/scripts in Perl (things such as file parsers, cleanup scripts, and system monitors and system loggers) since these tend to change rapidly be needed right away and assist development.

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

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?

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (1)
As of 2022-01-18 02:32 GMT
Find Nodes?
    Voting Booth?
    In 2022, my preferred method to securely store passwords is:

    Results (52 votes). Check out past polls.