
On 2018-01-29 20:24, Barry Warsaw wrote:
But there's something else that's very important to consider, which rarely comes up in these discussions, and that's the developer's productivity and programming experience. One of the things that makes Python so popular and effective I think, is that it scales well in the human dimension, meaning that it's a great language for one person, a small team, and scales all the way up to very large organizations. I've become convinced that things like type annotations helps immensely at those upper human scales; a well annotated code base can help ramp up developer productivity very quickly, and tools and IDEs are available that help quite a bit with that.
This is often undervalued, but shouldn't be! Moore's Law doesn't apply to humans, and you can't effectively or cost efficiently scale up by throwing more bodies at a project. Python is one of the best languages (and ecosystems!) that make the development experience fun, high quality, and very efficient.
You are quite right. I think, however, that that is precisely why it's important to improve the speed of Python. It's easier to make a good language fast than it is to make a fast language good. It's easier to hack a compiler or an interpreter to run slow code faster than it is to hack the human brain to understand confusing code more easily. So I think the smart move is to take the languages that have intrinsically good design from cognitive/semantic perspective (such as Python) and support that good design with performant implementations. To be clear, this is just me philosophizing since I don't have the ability to do that myself. And I imagine many people on this list already think that anyone who is spending time making JavaScript faster would do better to make Python faster instead! :-) But I think it's an important corollary to the above. Python's excellence in developer-time "speed" is a sort of latent force multiplier that makes execution-time improvements all the more powerful. -- Brendan Barnwell "Do not follow where the path may lead. Go, instead, where there is no path, and leave a trail." --author unknown