[Tutor] Two Newbile Questions: porting drawmap.c, & Python as a lifetime language

Python python at venix.com
Wed Jul 5 16:53:30 CEST 2006


On Tue, 2006-07-04 at 16:37 -0500, dnelson at cae.wisc.edu wrote:
> I am seeking opinions from seasoned veterans on the following two
> questions:
> 
You're getting plenty of replies.  Here's a bit more.

You're probably aware that ESRI has adopted Python for scripting with
their applications.

> 1. What's involved in a port of a C program into Python?  (drawmap is 
> offered in a number of linux distributions btw.)

http://ldots.org/pyrex-guide/
pyrex integrates Python and C into a hybrid language that might be
useful for porting existing C code.

> 
> 2. Seeing Python hailed as a good language for learning programming,  
> how do you rate it as a lifetime language? (I can imagine that many
> people have settled into one language for doing the remainder of their
> life's work. If I am pressed, I will choose Perl at this point.)

I think it is easier to learn to write complex applications in Python
than Perl.  Certainly Perl is rich in features and capabilities, but I
find the rules for keeping everything straight are more complex than
Python's and the possibility of uncaught errors in Perl seems much
higher than in Python.  My favorite example of this is:

cat test.pl
if ("abc" == "def") {print "all letters are =\n"};

perl test.pl
all letters are =

)

 
== is the numeric comparison.  The strings are evaluated to numbers and
both are treated as zero. 0 = 0 is true.
"abc" eq "def" will behave as expected.  Python has its own pitfalls,
but I find the Python pitfalls much easier to live with.

Python continues to evolve while preserving backwards compatibility.
Recent additions such as list comprehension, generators, generator
expressions, display a growth and dynamism that I think will continue to
make Python a great choice among programming languages into the future.

(You didn't really think you'd find people on this list urging you to
use Perl.)

-- 
Lloyd Kvam
Venix Corp



More information about the Tutor mailing list