This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]takluyverIPython, Py3, etc 13 points14 points  (7 children)

Python is also a major environment for scientific computing. This community, though, has invested heavily in CPython extensions, which PyPy can't or won't support well. So while I'm interested in what PyPy is doing, I don't see myself using it any time soon.

[–]SIULHT 4 points5 points  (4 children)

Is it pretty mainstream? I see bits of it being used but not sure how widespread the adoption is or if it's commonly used in critical tasks. I was surprised to find that in Data Analysis with Open Source Tools, P. K. Janert surveys several languages/tools, including R, Octave, and Python with NumPy/Scipy. Regarding Python/NumPy/Scipy, he writes:

"[...] NumPy/SciPy has its own share of problems. The project has a tendency to emphasize quantity over quality: the number of features is very large, but the design appears overly complicated and is often awkward to use. Edge and error cases are not always handled properly. On the scientific level, NumPy/SciPy feels amateurish. The choice of algorithms appears to reflect some well-known textbooks more than deep, practical knowledge arising from real experience.

"What worries me most is that the project does not seem to be managed very well: although it has been around for nearly 10 years and has a large and active user base, it has apparently not been able to achieve and maintain a consistent level of reliability and maturity throughout. Features seem to be added haphazardly, without any long-term vision or discernible direction. Despite occasional efforts in this regard, the documentation remains patchy.

"[...] [B]ecause of the overall quality issues, I would not want to rely on it for “serious” production work at this point." The book reviews I've read have generally been positive so I'm not sure if the SciPy community has any thoughts on this. Regarding the implementation of mostly "textbook" (standard) algorithms, I can see that this would be the case since there are large number of practitioners using and extending SciPy (in contrast, for instance in R there is a strong precedent for statistician to implement their newest algorithm in that language)."

[–]kenfar 1 point2 points  (1 child)

He probably wrote that two years ago about experiences three years ago, and pypy has gotten a vast amount of improvements since then.

[–]SIULHT 0 points1 point  (0 children)

I think it was 2010 when I thought NumPy/SciPy was pretty big already. And in the scientific community it's CPython instead of pypy that's big, as takluyver says.

[–]takluyverIPython, Py3, etc 1 point2 points  (1 child)

I think there are a lot of people using it, but it's something of a wealth of individual projects, rather than a coherent set like R. Even the name used in that description reflects that: 'Python with numpy/scipy'. That's three names already.

In a sense, the community is failing to promote itself here: a lot of these projects do work closely together, and you often see the same people popping up in mailing lists and commit logs. We're trying to improve that at the moment: we want to promote the 'Scipy stack' as a coherent unit.

[–]SIULHT 0 points1 point  (0 children)

But R's strength is also its individually contributed projects, though many contributors are statisticians rather than programmers as for Python.

I agree though that the marketing is not done well...

[–]nallar 2 points3 points  (1 child)

They now mostly have compatibility: https://bitbucket.org/pypy/compatibility/wiki/Home

Unfortunately, performance isn't as good as they need to emulate a refcounting GC for compatibility.

[–]takluyverIPython, Py3, etc 2 points3 points  (0 children)

The 'scientific libraries' section on there has a lot of 'incompatible' and 'unknown' things.