Re: PYTHON VS. PERL VS. TCL

Steven Miale (smiale@cs.indiana.edu)
Wed, 12 Apr 1995 15:37:09 -0500

In article <3megke$ni3@bcarh8ab.bnr.ca>, Sat Nashikkar <snash@bnr.ca> wrote:
>How does python compare with Perl and Tcl ?

It's better, obviously :-)

>1. Learning curve

Python has one of the smallest learning curves of any language I have
ever learned, at least for someone with lots of experience with Algol
derivatives. Perl looks like old UNIX shell languages, and Tcl... well,
it is best described as taking the worst parts of LISP and COBOL.

>2. Ease of use

Again, Python wins IMHO. I don't think that I have _ever_ had to sit down
and think about how to code a particular problem in Python. It just comes
naturally.

>3. Portablility

Don't really think this matters; all three languages have been ported to
a variety of systems. Perl is mainly a tool language, and so really doesn't
have much to do outside of UNIX machines. Python has been ported to all,
and also has OS-specific modules for each platform (UNIX, DOS, etc.)

>4. Execution speed

Tcl is pretty slow. I don't know what the speed difference between Python
and Perl is, though.

>5. Extensibility

Python. Writing a C module is trivial; all the examples and helper functions
that you could ever want have been provided.

>6. Development tools such as debuggers, profilers, code browsers

Python has a debugger (pdb) and a profiler (profile); I don't know if it
has a code browser yet, but that should be easy to implement. Dunno about
Perl or Tcl.

>7. Scalability, i.e. scope of application.

Very; having OO and modules is a big win. I forgot what the largest Python
program is, but I believe it's well over 10,000 lines of code.

>8. Maintainability

Same as above. Python lends itself well to good software engineering IMHO.

>9. Built-in Functionality ie. OS interface, GUI toolkits, Networking, etc.

All three languages have Tk support now. Python (in addition) has modules
for SUIT and stdwin (portable GUIs), as well as X. It also has interfaces
for OS calls and a socket library. Checking Contrib/, there are demos
for RPC, POP and SMTP mail clients, etc.

>10. Contributed code in the public domain

Quite a bit - a lot of demo code comes with the standard distribution,
and quite a bit of code is posted here. There used to be a contrib FTP
site.

>11. Popularity.
> Not that this implies too much, take m$oft windoze, for e.g ;-)

It's the least popular of the three, unfortunately. I don't think that
this is a concern, though.

>I just picked up the Python1.2 distribution and I am considering using it for
>some tools development. I like the OO features :-) .

Have fun. Feel free to ask questions.

Steve

-- 
Steven Miale  <http://www.cs.indiana.edu/hyplan/smiale.html>