WEB/420 Team C

Perl vs. Java

Home
JavaScript vs. VBScript
JavaScript
VBScript
Perl vs. Java
Perl
Java
Active X vs. JavaBeans
Active X
JavaBeans
Multiple Choice Quiz
References

 

 

Overview

 

PERL

 

The name Perl stands for Practical Extraction and Report Language (Perl, 2004). Perl is a high-level programming language especially designed for processing text. (Christiansen, 1999). The initial version was designed and introduced by Larry Wall in 1987, and since it is an open-source code there are thousands of people who have had some input to it in subsequent versions. Perl is one of the most popular languages used for CGI scripts, but its file and text manipulation facilities also make it well suited for system utilities, software tools, system management tasks, database access, graphical programming, networking and programming for the World Wide Web. It can be used for tasks as simple as one-line processing to tasks normally done on large elaborate systems. Perl is an interpretive language so no compiler is required. The software can be downloaded for free and the language is relatively easy for someone to start to learn.

 

JAVA

 

Java is a programming language developed by Sun Microsystems. Java began as the “Stealth Project” in 1991 and was named Oak, but was formally introduced as Java in 1995, and the compiler was written in Java as of 1994 (Java History, n.d.). Java is simple, object oriented, platform independent, safe, high performance and multi-threaded. Java is often used for small, executable programs that can be downloaded on a client’s computer (applets), and can be used for applications as well (Harold, 2004). The software can be downloaded for free from various web sites.

 

 

Hardware /Software Considerations

 

PERL

 

Perl is an open source code and is supported by its users. The standard Perl library and optional modules are created and maintained by volunteers (Christiansen, 1999). The GNU project includes PERL in its distributions, but there isn’t a separate GNU Perl. Perl is not well suited for real-time embedded systems, low-level OS development work, multi-threaded shared-memory applications or extremely large applications (Christiansen, 1999). Perl builds and runs on virtually all known platforms, and there are specific versions available for various proprietary platforms (Christiansen, 1999).

 

JAVA

 

Java packages and compilers are available free under GNU and are also available directly from Sun. Compiled Java code can run on most computers and operating systems because Java interpreters and environments or Java Virtual Machines exist for most operating systems (Java, 2004). Java is a general-purpose programming language but is most well suited for use on the World Wide Web.

 

 

Key Features

 

PERL

 

Perl is noted for its process, file and text manipulation facilities. It is very popular with system administrators and CGI script authors, although it may also be used by a host of people in other occupations (Christiansen, 1999). Many UNIX users are using Perl instead of the Bourne, C and Korn shells for scripting duties and short programs. Perl provides access to all of the UNIX built-in commands plus offers a more powerful programming language (A Perl function, 1998).

 

JAVA

 

Java was the first language to include inline sound and animation in a web page, and is used to allow user-interaction from a web page (Harold, 2004). Java is an ideal programming language for distributed applications, and it allows you to distribute content along with the code which will allow the user to interact with the content.

 

 

Security Issues

 

PERL

 

Perhaps the biggest security risk of any programming language is found in the people who use it and who may or who may not know how to use it safely. The biggest security concern with Perl is that user input that is sent to a Perl script may contain characters that will be interpreted as Perl code. This is especially a problem with system(), exec() and open() functions (Dimov, n.d.). Thus, user input must be filtered so that unwanted characters are not misinterpreted as code.

 

JAVA

 

The widest use of Java is in the creation of applets that will execute on a client’s computer. Thus, it is easy to see that there will always be those who design Java applets with malicious intent. Java has been modified over time in an attempt to minimize the risks of malicious code. Java offers strong security measures to prevent system modification and the invasion of privacy, however its protection against denial of service attacks and antagonism is rather weak (McGraw, 1999).

 

 

SUMMARY

 

In side by side benchmark tests with a specific programming problem, (Prechelt, 2000) determined that writing a program in Perl would take half the time that the same task would take in Java and that the program would only need half as much code. Java would consume more memory than similar Perl code. Prechelt’s tests also showed that a Java program would be faster than Perl in the initialization phase but it the main phase of the program the Perl program would execute faster than Java.  It seems that Perl would offer some advantages in the development phase and would have a lesser impact on the system memory, although the skill or lack of skill of the programming team could easily sway the balance in one direction or the other.
 
 

References:

 

Christiansen, T. (1999). Perlfaq1. Retrieved Oct 7, 2004, from Perldoc.com Web site:

http://www.perldoc.com/perl5.6/pod/perlfaq1.html.

 

Christiansen, T. (1999). Perlfaq2. Retrieved Oct 7, 2004, from Perldoc.com Web site:

http://www.perldoc.com/perl5.6/pod/perlfaq2.html#What-machines-support-Perl---Where-do-I-get-it-

 

Developer's Daily, (1998). A Perl function to prompt users during interactive command-

line input. Retrieved Oct 10, 2004, from Developer's Daily Web site: http://www.devdaily.com/perl/edu/articles/pl010005/pl010005.shtml.

 

Dimov, J. (n.d.). Security issues in Perl scripts. Retrieved Oct 10, 2004, from

cgisecurity.net Web site: http://www.cgisecurity.com/lib/sips.html.

 

Harold, E. (2004). Java tutorial. Retrieved Oct 10, 2004, from Cafe au Lait Java News

 and Resources Web site: http://www.cafeaulait.org/javatutorial.html#xtocid5001.

 

McGraw, G. (1999). Securing Java two. Retrieved Oct 10, 2004, from SecuringJava.com

Web site: http://www.securingjava.com/chapter-two/chapter-two-1.html.

 

Prechelt, L. (2000). An empirical comparison of C, C++, Java, Perl Python, Rex and Tcl.

Retrieved Oct 10, 2004, from University of Karlsruhe Web site

http://page.mi.fu-berlin.de/~prechelt/Biblio/jccpprt_computer2000.pdf

 

UNC School of Information and Library Science, (n.d.). Java history. Retrieved Oct 10,

2004, from School of Information and Library Science Web site: http://www.ils.unc.edu/blaze/java/javahist.html.

 

Webopedia, (2004). Java. Retrieved Oct 11, 2004, from Webopedia Web site:

http://webopedia.internet.com/TERM/J/Java.html.

 

Webopedia, (2004). Perl. Retrieved Oct 9, 2004, from Webopedia Web site:

http://webopedia.internet.com/TERM/P/Perl.html.

 

 
 

©WEB/420 Team C 2004 - All rights reserved