Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

RE: Perl and Java's place in the Universe (and my resume)

by Anonymous Monk
on Jun 29, 2000 at 01:20 UTC ( #20259=note: print w/replies, xml ) Need Help??

in reply to Perl and Java's place in the Universe (and my resume)

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.
  • Comment on RE: Perl and Java's place in the Universe (and my resume)

Replies are listed 'Best First'.
RE: RE: Perl and Java's place in the Universe (and my resume)
by Adam (Vicar) on Jun 29, 2000 at 02:16 UTC
    The above AM post is one of the best Anonymous posts on this site. The author understands that each tool has it's strengths and weaknesses, including Perl. My recommendation for language learning is to not limit yourself. Learn as much as you can. Java has its place, as do Perl and C++.


RE: RE: Perl and Java's place in the Universe (and my resume)
by buzzcutbuddha (Chaplain) on Jun 29, 2000 at 15:45 UTC
    I normally don't vote one way or the other on AM Posts, but this was very well written and straightforward.
    Very well done!

    Update: Whoever voted this -- please explain why. Just curious. Thanks!

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://20259]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (5)
As of 2021-02-26 16:10 GMT
Find Nodes?
    Voting Booth?

    No recent polls found