3 ms·
It's not that it isn't good enough, it's that the cost of switching is larger than the value of what they believe they would gain. I believe this is very common
by Orangeair 11y ago
It's not that it isn't good enough, it's that the cost of switching is larger than the value of what they believe they would gain. I believe this is very common in academic settings (consider, for instance, how many people still see no reason to switch away from Fortran).
- orangecat 11y agoIt's not that it isn't good enough, it's that the cost of switching is larger than the value of what they believe they would gain. That's exactly what "not good enough" means. Getting rid of the GIL, or a 5x performance increase, or optional static typing might have been worth breaking everyone's code. Somewhat better Unicode handling wasn't.
- actsasbuffoon 11y agoJython and IronPython both remove the GIL, and PyPy is often roughly 5x faster than CPython. Strangely enough, these projects don't seem to be as widely used as I'd expect. By the way, optional static typing is available in any version of Python by using MyPy.
- netheril96 11y agoBecause all the alternatives do not support many C-extensions, especially numpy, without which no scientists would look at Python at all.
- mixmastamyk 11y agoAll three of those bundled into the official release might have done it.
- coldtea 11y ago>I believe this is very common in academic settings It's even more common in enterprise settings, where the cost of switching also includes real money, not just some postgraduates porting code over...
- CHY872 11y agobut with Fortran, the reason is generally because there's a large highly optimised legacy codebase that few understand or want to understand. Also it's still difficult to beat Fortran in terms of performance. Python has neither characteristic. Switching to Python 3 is really easy, and it's easy to understand both. There are only a few projects where it would take more than a week or two to move from Python 2 to non-idiomatic Python 3 (assuming that Python 2 needn't be supported afterwards). Sure for some unviersities or whatever it wouldn't be in the budget, but where active development occurs by this point it's largely due to stubbornness (or need to support python 2 due to stubbornness of others).
- fnordfnordfnord 11y agoI worked for a physicist for a number of years who refused to give up on Fortran. It wasn't for (computer) performance reasons. It was because he could quickly get his ideas into code with Fortran. He wasn't interested in computing for the sake of computing.
- coliveira 11y agoMost scientists use computers as a tool to prove that something works. Since few scientists are required to make commercial tools based on these ideas, so there is no reason to use latest software engineering fads/techniques. I know a guy who writes his software in VBA+Excel, and for him it is all that he needs to get data for his scientific papers.