Did You Know?
Donate to TecMint

LFCS - Linux Foundation Certified SysAdmin - Exam Preparation Guide

The Truth of Python and Perl – Features, Pros and Cons Discussed

Download Your Free eBooks NOW - 10 Free Linux eBooks for Administrators

The debate of Python vs Perl is age old and we are not continuing this debate. Actually the author feels that the debate is very much meaningless. Both Python as well as Perl are used widely as scripting language. Both of them has its own Pros and Cons over other. We are discussing both the Programming Languages their features, pros, cons and a lot more.

Python vs Perl

Python vs Perl

About Python

Python is a general purpose high level Programming Language was developed by Guido van Rossum. Python is best known for its highly readable codes that lets you achieve lot of things in very few lines of code.

Features of Python

  1. FOSS (Free and Open Source Software)
  2. OOPS (Object Oriented Programming Language)
  3. Imperative i.e., computation in terms of statements
  4. Functional Programming i.e., computation in terms of Mathematical functions
  5. Procedural Programming i.e., step-­by­-step Programming
  6. Often used as scripting Language
  7. Community based Development
  8. Exceptional Handling, implemented
  9. Support for garbage collection and Memory Management.
  10. Current version Python 2.7.6

About Perl

Perl is a general purpose High Level Programming Language was developed by Larry Wall. Perl stands for Practical Extraction and Reporting Language.

Features of Perl

  1. Dynamic Programming Language
  2. Useful for Graphical Programming
  3. Often used in scripting, and one of the Platform to create tools for System Administration
  4. Network Programming, Bio­informatics and Finance are its other area of Application.
  5. Camel, the symbol of perl is not officially declared.
  6. Procedural Programming
  7. Perl borrows a lot of features from programming languages like c, Lisp, AWK, sed, etc.
  8. Often used as glue language, working between two distinct interface.
  9. Often implemented as a core interpretor.

Pros and Cons of Python

Pros of Python
  1. Easy to learn for newbies.
  2. Programming Language seems designed
  3. Best for Small task with the help of predefined and keywords and commands.
  4. Great Object Oriented Approach
  5. cleaner Syntax
Cons of Python
  1. Force programmer to follow certain convention
  2. Codes wont work if indentation is incorrect

Pros and Cons of Perl

Pros of Perl
  1. Looks like Shell Language
  2. Follows Traditional Approach by using Braces for functions and Loops.
  3. Extremely Powerful Programming Language
  4. Versatile
  5. More Multi-purpose Language
  6. Mature Language
  7. Can be Imperative, Procedural, Functional or Object Oriented, depends upon need.
Cons of Perl
  1. Many ways to achieve same result, means unreadable code, which in turn means untidy code
  2. As scripting, it is slower for a lot of tasks.
  3. Object Oriented not implemented well
  4. Creates problem when the codes are larger say more than 200 Lines.
  5. Argument Handling is poor
  6. Not Portable
  7. No Interpretor Shell
  8. Ugly Libraries

Conclusion

The debate of Perl vs Python is very much religious. As a Developer one must choose his tool carefully. It is all about the task and the tool best suited for both of the above programming language has different goal and comparing them is a unfruitful task.

In this article we have not supported and/or rejected, any programming language neither can anyone do it. We Just tried our best to cover the right thing and avoid any controversy.

That’s all for Now. Provide us with your valuable Feedback in our comment section. I’ll be coming up with Interview Series articles soon. Till then Stay Tuned, Healthy and connected to Tecmint.

I am a major in computer science, love to research nix. I love to write codes and scripts, review distros, experiment Foss Technologies, write technical articles, Hack, of course Ethically. I am working as System Administrator (nix) for a NGO.

Your name can also be listed here. Work as a Paid freelancer/writer at TecMint.
Download Free eBooks
Advanced Bash-Scripting Guide
Linux Bible
A Newbie's Getting Started Guide to Linux
Ubuntu Linux Toolbox: 1000+ Commands

13 Responses

  1. Sam says:

    This is a horrible article, the author has no idea about perl. Let me go through the supposed ‘cons':

    Many ways to achieve same result, means unreadable code, which in turn means untidy code — Good I say, this promotes creativity

    As scripting, it is slower for a lot of tasks. — What?

    Object Oriented not implemented well — OO in perl is fine, it has 10+ OO frameworks

    Creates problem when the codes are larger say more than 200 Lines. — Flat out lie, I know plenty of perl programs that are 10k+ lines

    Argument Handling is poor — how so?
    Not Portable — How? where does python run that perl can’t? Perl interpreter is less than 50kb. Python interpreter is 1+mb. Clearly python could never run on an embedded system with less than 1mb of ram…

    No Interpretor Shell — more lies, just type ‘perl -d’
    Ugly Libraries — beauty is in the eye of the beholder…

  2. Konstantin says:

    I fully support you, Sam. Perl is very fast, maybe fastest in scripting languages. But for refactoring Perl is not so good as Python.

  3. Nawaz says:

    Tecmint folks,

    Could someone please give us a headstart into learning perl and python scripting languages. I am a DBA and i do a lot of automation of Oracle DBA tasks using shell scripts. But I read a couple of years ago that some 100-200 lines of shell script code is just a few lines of code in perl for automation. I did set out to learn perl from the basics but could not follow through and apply it in real world (Oracle DBA world). I would appreciate if someone could post articles on the basics/intermediates of perl and python so folks like me can improvise from there.

    ~

    Nawaz

  4. Tony Cooper says:

    Another so called expert talking nonsense! Some points:

    “Many ways to achieve same result, means unreadable code, which in turn means untidy code” No this is down to lazy/incompetent programming. Perl is much more forgiving as a language so you can get away with more. More choice means less constraint.

    “As scripting, it is slower for a lot of tasks.” This is Python vs Perl so this point is irrelevant!

    “Object Oriented not implemented well”. It’s not as nice as Python but core OO in Perl works perfectly well and is still easy to use. There are also good frameworks that help streamline things,

    “Creates problem when the codes are larger say more than 200 Lines.” Nonsense. I have written 20K programs without issue. In fact this is a weakness of Python, which does not support data privacy, whereas Perl does.

    “Argument Handling is poor” Well he had to get something right!

    “Not Portable” Nonsense. Just as portable, if not more so than Python. Python does have issues with being less mature as a language and so often requiring one to upgrade Python in order to get a script working.
    “No Interpretor Shell” Nonsense, perl -d – Ctrl-D.
    “Ugly Libraries” Nonsense. Most have OO interfaces these days.

    If you want a more informed comparison look here at my blog:

    http://coosoft.wordpress.com/2013/02/24/the-perl-vs-python-debate/

    Tony.

  5. pmu says:

    One more article where a so called programmer who do not have sufficient knowledge of a language tend to give some really flimsy reasons to run it down. “Interpretor” is how you spell it?? Really??

    Perl may not be as popular as Python, but it’s a great language.

    A LOT of big organizations use Perl to this date and will continue to do so.

  6. Ron S says:

    I disagree that the two items you list as cons for python are actually cons. I think they are big pros.

  7. DataMunger says:

    Apparently the author of this article has never worked with Perl.
    Every CON point mentioned is wrong.

    I suggest he read the following article.

    http://www.drdobbs.com/open-source/why-i-use-perland-will-continue-to-do-so/240148364

  8. Marco Aurélio says:

    Yes, Perl has a poor (Function) Argument Handling, because it has no true Real Subroutine Signatures, but it change in Perl 6. And yes, Perl isn’t suitable for a team work, seems so far Hardcore put 20 Perl programmers to work without a good standard coding style, even ‘use strict’ try it… So, in the OO, the MOP try to resolve it.

  9. Marco Aurélio says:

    Wait, Perl is so far portable, because it is ANSI C and is available for a wide range of machines and OS. Someones say that this is the most Portable Scripting Language because it is the oldest Scripting Language…

    Python -> RAD/Team Work
    Perl -> Critical Systems/Sysadmin

    But you are right, Perl has ugly Libraries on CPAN, on other Hand, Python has so far useful Libraries.

    • jjolla says:

      what precisely is meant by “ugly libraries” ?

      imho, CPAN is the silver bullet – Perl programs don’t need to be large at all .. because just about everything you need done has already been published on CPAN. Your program tends to be simple glue more times than not.

      Python has awesome math/scientific libraries, and in this space it outshines Perl.

Leave a Reply

This work is licensed under a (cc) BY-NC | TecMint uses cookies. By using our services, you comply to use of our cookies. More info: Privacy Policy.
© 2012-2014 All Rights Reserved.