4 ms·
I might have a controversial or unpopular opinion - I do not think python should try to be concurrent or any more performant than it already is. Python is the
by game_the0ry 5y ago
I might have a controversial or unpopular opinion - I do not think python should try to be concurrent or any more performant than it already is.
Python is the tool I pick for quick scripting, not for highly performant systems - there are languages and run times for that.
Sometime highly productive software does not need to be highly performant, and that does not make the software any more or less valuable. And sometimes speed of iteration is more valuable than speed of run time execution.
- ferdowsi 5y agoThat's a fair opinion. Like many academics and data scientists are probably fine with Python as a tool for scripting or as a simple interface language for calling C libraries. But if Python continues as is, it will continue to to lose major enterprise traction as web companies transition to using faster languages for applications and infrastructure. It'll be tough to stave off the negative feedback loop at that point.
- Twisol 5y agoI'm not confident that's a bad thing, and I worry that we're judging languages on metrics that only make sense for startups. Does a language need to chase growth? I'm not saying Python shouldn't improve. But, if it comes to it, Python shouldn't cannibalize the niche it filled to do so. That will just spark other languages to fill the niche again.
- pansa2 5y ago> Python shouldn't cannibalize the niche it filled It’s too late for that, IMO. Python’s already added async-await because it wants to be C#, type hints because it wants to be Java, and pattern matching because it wants to be Haskell. People who liked Python because of what made it different from other languages have long since been left behind.
- ledauphin 5y agoright or wrong, Python is hardly a niche language at this point. There's really nothing to cannibalize. Also, making threading better is not necessarily a new feature if done well - it could be mostly transparent to users.
- hahajk 5y agoBut what if we had both? What if Ruby was as fast as Java? What a wonderful world that would be!
- arc-in-space 5y agoWhat do you mean? None of this is incompatible with being fast, and no changes to the language itself were being proposed here.
- wokwokwok 5y ago> I do not think python should try to be concurrent Fair. > or any more performant than it already is. Well, you can certainly argue that you’d prefer that the effort devoted to performance could be better spent elsewhere, but it seems a little down to say you don’t think it should be faster. Let’s not beat around the bush here: pure python is orders of magnitude slower than other similar tier languages, eg. javascript. That’s because it’s never been a priority. It also keeps getting new features. You can’t keep adding new features to anything without it getting slower bloating and becoming sluggish unless you devote effort to keeping things fast. So, I certainly have no problems with people working on making it faster. That’s awesome. The goal isn’t “pure python only, no more c!” It’s just: stop the pure python code being such a major bottleneck.
- slaymaker1907 5y agoThere are a lot of advantages though if you can get the interpreter fast enough to write more the standard library in Python instead of C. Racket moved to the Chez Scheme VM recently because it is much easier to maintain Racket/Scheme code than it is to maintain C. At my job, there are way more code scanning and audit requirements for any serialization code written in C/C++. While serialization code is always somewhat risky, at least you don't need to worry about buffer overflows in your parser if it's written in Python.
- rattray 5y ago> Python is the tool I pick ... not for highly performant systems Many high-throughput, high-concurrency systems run on Python, famously including Instagram and Pinterest (which see quite a lot of traffic).
- otterley 5y agoAre the performance-critical components of these sites written in Python? That’s the question.
- rattray 5y agoThe question at hand is concurrency, not single-threaded performance.
- otterley 5y agoYou said "high throughput" though. Your words, not mine :-)
- rattray 5y agoAh, I see the misconception - "high throughput" means a system processes a lot of stuff in a given span of time, not necessarily that each individual item is processed quickly. But many people use it like the latter.
- tehjoker 5y agoPython is used for high performance scientific computing... it's just all the HPC parts get written in C/C++ wrappers.
- da39a3ee 5y agoPython is ubiquitous in machine learning and data science, and it is also heavily used for server-side web applications. The fact that you only use it for scripting isn’t relevant to how the language should evolve given its usage by humans in general.