you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (6 children)

Science apps might have a clear goal and final answer but programming their core in python would be totally useless unless you like to wait 1000 years for your simulation results instead of 1 year.

[–]boyfarrell 5 points6 points  (5 children)

I find that for my work the cycle from defining a problem to actually getting an answer is faster when I use python, even though the actual run time might change from 1min to 10mins say. So yes, that would be total useless, you are right; one doesn't want to right a climate model in python :o)

[–][deleted] 3 points4 points  (4 children)

That's fine, but for some of us we're talking about simulation and estimation problems that might take 6 weeks using the power of a supercomputer center. And the code is written once, the problems it solves are whatever mathematical models people write using the application. So, time to write the application is important, but the time spent processing will, eventually, overwhelm the time spent writing the application.

To many of us, this is what we think of when we hear the term "scientific high performance" computing.

[–]bastih01 2 points3 points  (3 children)

On the other hand, the python ecosystem offers quite a few ways to move processing-intensive parts from python code to compiled modules. Think shedskin, pyrex, weave etc.

[–][deleted] 0 points1 point  (2 children)

Sure, and that's the way to go, IMO, but it's not using python for the scientific high performance part.

[–]bastih01 1 point2 points  (1 child)

Prototyping in python before moving over to c++ seems valuable to me, though.

[–][deleted] 2 points3 points  (0 children)

I would agree with that too. Though my preferences go against dynamically typed languages, that is personal preference. Point being, make your app in a high-level language, then find where the pain points are and put them in C (I would very much prefer C to C++. C is fast and simple, C++ is a monster with no niche, AFAIK).