Hi,

Perl has a big advantage from the perspective of the initial programmer, but a very big disadvantage from the perspective of the maintainer, and this is "There are more ways to do it".

Most programmers use to do some things in a certain way in perl, and they will be able to understand very easy their program, but other programmers might find harder to understand their code. There are recommendations for the "right way" of doing things in a perl program, but they are not respected so well as in other languages that don't compile if the program doesn't follow all the rules. Of course, a program may be much badly written and much harder to understand in python or ruby than in perl, but a language like python is more clear due to its indentation and punctuation, and in ruby due to its punctuation. I found that this is the opinion of those that like python or ruby but it is not mine. For example, python and ruby doesn't uses the { and } for enclosing blocks of expressions, and it is harder to jump from a { to a }. (I am blind and it is not important at all that the block of expressions start and end lines have the same indent level.) I also don't like at all the Visual Basic style of expressions that are not ended with a ; but with an end of line, however, many programmers say that this is very nice, because too many punctuation chars make the program harder to read.

The programmers in ruby and python (and other languages) use to like separating the expressions in more smaller parts, while the perl programmers like very often to use a bigger expression in a single line, and this makes it harder to read. For example:

my $id = 123;
my $name = get_name($id);
my $age = $age{$name};
print $age;

is often written in perl as:

print $age{get_name(123)};

And this example is a very simple one, that can be very easy understood, but often there are much more complicated expressions, written in a single line, sometimes splitted on more lines.

Another thing that I like in perl is the possibility to write object oriented code and procedural code in a single application, but this is another thing that especially the new programmers don't like at all. In schools the programmers learn first about the procedural programming, and then about the OOP, and they also learn that the OOP style is the right way to go. Python and ruby languages are made to write OOP programs, and I don't know, but they could be easier for this than perl.

A big advantage of perl is cpan, the archive of free modules. The other languages don't have such a large archive. On the other hand, perl could be very hard to use if needing to install some modules, because it might require compiling C code that can give errors sometimes, and then is required to know C. Also, perl remains a language for Unix platforms. It is much used under Windows, but there are more perl modules that don't work at all under Windows, or that work badly, or which work with a version of perl but don't work with the next one...

Perl is definitely not good for everything, and it depends what should those programs do. If they need to access the graphical interface of the operating system a lot, python might be better. For creating applications for the web, ruby with Ruby on Rails could be a good choice, and many persons will say that, because RoR is the most used framework by the ruby programmers, but I think in this field, perl is better, because it is a little faster than ruby, and it has more templating systems and frameworks, and more modules that can be used in the program.

But if you ask somebody that know python or ruby if the language he knows is better than perl, of course he will say that perl is not nice. I have started to learn perl by starting to read 5 or 6 books about perl, but I have stopped because I didn't like them at all. I'm glad I found O'Reilly's Learning Perl and Programming Perl, because without them I think I would not like perl today.

Octavian

----- Original Message ----- From: "Michael Gargiullo" <[EMAIL PROTECTED]>
To: "Nath, Alok (STSD)" <[EMAIL PROTECTED]>; <beginners@perl.org>
Sent: Friday, March 30, 2007 5:43 PM
Subject: RE: Perl versus other scripting language




-----Original Message-----
From: Nath, Alok (STSD) [mailto:[EMAIL PROTECTED]
Sent: Friday, March 30, 2007 6:40 AM
To: beginners@perl.org
Subject: Perl versus other scripting language

Hi Perlers !
In my project we are using lot of scripts (for various job
launching
activities )some written in bash, some in perl.It's completely
chaos
and not organized.

Now we want to revamp the whole scripting framework using some
high level scripting languages like perl, python, ruby etc.

I wanted to use perl, but my other teammates wants to use either
python or ruby.They say perl is not readable and hence difficult

to maintain.
I am comfortable using perl but not sure about ruby and
python
what they offer.

Can somebody throw your opinion please ?

Alok.




Let me preface this by saying I'm not a huge fan of either python or ruby, but they do have their places.

Ask yourself and your group a few questions...

Which language are all of you the most comfortable with?

At 3am, which would you rather fix?

Does anyones argument for or against another language that include the words "Sucks", "rules" or "plain English"?

Seriously, All three languages can most likely be used to rewrite your scripts...

If I were doing it, It would be in Perl... but that’s years of using Perl talking.

Just use the "right" tool for the job.


--
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.5.446 / Virus Database: 268.18.22/739 - Release Date: 3/29/2007 1:36 PM


--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/



--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to