“I’m a big fan of Perl, have done nearly all my Web programming
in that language, and have attended all three annual Perl
conferences. So it was a real change of pace to attend IPC8, the
Eighth International Python Conference. And, I’ll admit, it was
daunting to be asked to give the keynote talk at the conference’s
very popular Zope track…Although my experience with both
Python and Zope is far more limited than my experience with Perl,
I’ve seen enough now to draw some interesting parallels and
distinctions between the two languages and their respective
cultures. Here, then, are some observations about these two
wildly successful open-source scripting languages….”
“From 50,000 feet, Perl and Python are strikingly similar. Both
are open-source products that can be built on Win32 and a wide
variety of UNIX platforms. Both can be used in a purely procedural
manner, or in an object-oriented way. Both manage memory
automatically. Both support rich, dynamic data structures such as
lists and associative arrays. Both come with extensive libraries of
scripted and compiled extension modules that work with databases,
graphics, networking, directory services, XML, and much more. Both
are rooted in strong communities.”
“For Perl, OOP was a bolt-on, not a built-in. Objects didn’t
arrive until the fifth incarnation of Perl. By contrast, OOP was
built in to Python, not bolted on. That said, I’m not inclined to
make as much of this point as some people do. Perl’s
object-orientation, though it has more of a blue-collar feel to it
than Python’s, can certainly get the job done. What may matter more
is what’s under the hood. Although to the scripter both Perl and
Python can seem object-oriented, Perl in the guts of its
interpreter is not object-oriented whereas Python is….”