Rob Spoor wrote:One warning about using parallel streams: if I recall correctly, parallel streams are executed in the common ForkJoinPool. That does not have unlimited capacity...
Campbell Ritchie wrote:What makes you think that interpreted languages are slower than compiled languages?
Derc Zbrojvic wrote:. . . Python is interpreted and thus slower . . .
Interpreters do not have the scope that compilers have (else they would be compilers), or the execution metrics that VMs may provide them with (yet?). So they can't really optimize as much as JIT or native compilers.
The top 6 results of this search makes me think so too, because they say so (I haven't bothered to look at more pages).
Anyhow, that was the conventional wisdom (general rule of thumb) taught 30 years ago, and I'd be pleasantly surprised if that gap would be narrowed. But it won't be, because the drawback that make interpreters slow on execution, is at the same time their strength at deployment time (no compilation steps).
All this is not to say that interpreters can't be faster in some very well defined specific areas (as one of the pages from the search point out - the only one bothering to do tests). And if your interpreted application builds off that niche strengths, the more power to you.
I'm also watching with interest the rise in use, popularity, and remuneration (especially outside the US) for Python in comparison to Java, even though Python is interpreted and thus slower than Java. It seems very likely to me that it can be a "Java killer" by attracting new and existing players in lieu of Java, especially because of its reputation of being easier to use. (As a long-time Java dev, I won't contest that.) So that would tell me that the world still has lots of room for non-performance-critical but quick-to-rollout projects...
Then again, I'm personally of a skeptical mind, and the above annual surveys (however valid their methodology and conclusions may be... or not) and their purported proof of the rise in both Rust and Python's popularity have received a lot of PR attention in promotion of the respective languages - Slashdot, Coderanch (ha) and some other blogs come to mind. Meanwhile, in my country, mobile networks, banks, German luxury car makers, and a bunch of other big money enterprises still have a high demand for Java developers, and those systems are pretty entrenched and are not going anywhere soon
As a last remark, it is my personal opinion that the industry fixates a little bit too much on languages and the productivity gains to be had from them, and quite too little on the overall productivity gains that can be had from information availability through proper documentation systems, maintainability through coding practices, quality through proper testing, code reviews and constant skills+experience upgrading, and other organizational factors that happen on a higher level than coding. Unfortunately (in my country at least) it would seem that coders are simply seen as fungible production units with a fixed productivity that should be swapped in and out as the need demands
Campbell Ritchie wrote:What do the colons (“:”) mean?