Using Python for programming algorithms

Bruno Desthuilliers bruno.42.desthuilliers at websiteburo.invalid
Mon May 19 06:03:46 EDT 2008


Vicent Giner a écrit :
> Hello.
> 
> I am new to Python. It seems a very interesting language to me. Its
> simplicity is very attractive.
> 
> However, it is usually said that Python is not a compiled but
> interpreted programming language

cf my answer to you and Henrique on this.


> I am working on my PhD Thesis, which is about Operations Research,
> heuristic algorithms, etc., and I am considering the possibility of
> programming all my algorithms in Python.
> 
> The usual alternative is C,  but I like Python more.

Then use it.

> The main drawbacks I see to using Python are these:
> 
> * As far as I understand, the fact that Python is not a compiled
> language makes it slower than C, when performing huge amounts of
> computations within an algorithm or program.

In which way is this a problem here ? I thought your thesis was about 
algorithm, not about implementation optimisation ? And if it's the 
later, then even C might sometimes be too high level - you should drop 
to assembly language.

> * I don't know how likely it is to find libraries in Python related to
> my research field.

I can't tell but you'd be surprised by the quantity of available Python 
libs.

> * I know Python is a "serious" and mature programming language, of
> course. But I do not know if it is seen as "just funny" in a research
> context. Is Python considered as a good programming language for
> implementing Operations Research algorithms, such as heuristics and
> other soft-computing algorithms?

Don't know if this answers your question, but it seems that at least 
some authors consider it a good choice:
http://www.oreilly.com/catalog/9780596529321/

All code examples in this books are in Python - very badly written 
Python, alas...

> Maybe this is not the right forum, but maybe you can give me some
> hints or tips...

Hem... Obviously, most people here will have a little biased, you know ?-)




More information about the Python-list mailing list