[SciPy-User] Porting code from IDL to Python - 'Common block' equivalent?

Perry Greenfield perry at stsci.edu
Fri Jul 23 13:16:04 EDT 2010


On Jul 23, 2010, at 12:41 PM, Christopher Barker wrote:

> David Andrews wrote:
>> Now it's just a matter of converting ~13k lines of IDL into python :D
>
> A little piece of advice here -- I would resist the urge to "convert"
> your code line by line, or even function by function.
>
> I'm not familiar with IDL, but I do know that you will be much happier
> in the long run with a code structure that is natural in Python. IIUC,
> IDL is an array-oriented language, so that part will hopefully be a
> natural transition, but from the sounds of it the overall code  
> structure
> may need to be quite different.
>
> So, think about the project as a whole, and how it can best be
> structured in Python, and start from there.
>
> Oh, and write unit-tests from the beginning!

I wonder if that is the best approach if one doesn't have much  
experience with Python. I know that is the ideal thing to do, but it  
you don't have much experience, you'll probably have to do it again  
anyway. Perhaps do a few line-by-line (the ones you need right now if  
you can keep it to  a small subset), and after you get some experience  
writing (and reading other people's) Python code, redo them.

Just a thought.

Another thought: avoid the "common block" approach as much as you can  
in your new code. There are usually better ways to do it.

Perry
  



More information about the SciPy-User mailing list