On May 19, 7:03 am, Bruno Desthuilliers <bruno. [EMAIL PROTECTED]> wrote: > 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 ?-)
I agree with what most people here said, that the language doesn't really matter, etc., but that simply does not apply to the specific case of optimization research. The little I know about optimization, even trivial problems may be hairy problems. Naïve implementations simply don't finish and the performance bottlenecks are not necessarily in the numeric computation algorithms (so numpy doesn't help much here). If the guy is doing research on that, it possible that he will work with thousands (or millions) of weird constraints. I'm pretty sure about that: when the algorithms take 4 hours to test a single execution, you value processor time. The situation would be simpler if there were good well-known toolkits for optimization in python (like numpy for matrix operations), but that's not the case. -- http://mail.python.org/mailman/listinfo/python-list