[Python-ideas] Python 3000 TIOBE -3%

Matt Joiner anacrolix at gmail.com
Thu Feb 9 20:16:00 CET 2012

> If threading is the only acceptable concurrency mechanism, then Python
> is the wrong language to use. But you're also not building scaleable
> systems, which is most of where it really matters. If you're willing
> to consider things other than threading - and you have to if you want
> to build scaleable systems - then Python makes a good choice.

Yes but core Python doesn't have any other true concurrency mechanisms
other than native threading, and they're too heavyweight for this
purpose alone. On top of this they're useless for Python-only

> Personally, I'd like to see a modern threading model in Python,
> especially if it's tools can be extended to work with other
> concurrency mechanisms. But that's a *long* way into the future.

Too far. It needs to be now. The downward spiral is already beginning.
Mobile phones are going multicore. My next desktop will probably have
8 cores or more. All the heavyweight languages are firing up
thread/STM standardizations and implementations to make this stuff
more performant and easier than it already is.

> As for "popular vs. good" - "good" is subjective measure. So the two
> statements "anything popular is good" and "nothing popular was ever
> good unless it had no competition" can both be true.
> Personally, I lean toward the latter. I tend to find things that are
> popular to not be very good, which makes me distrust the taste of the
> populace. The python core developers, on the other hand, have an
> excellent record when it comes to keeping the language good - and the
> failures tend to be concessions to popularity! So I'd rather the
> current system for adding features stay in place and *not* see the
> language add features just to gain popularity. We already have Perl if
> you want that kind of language.
> That said, it's perfectly reasonable to suggest changes you think will
> improve the popularity of the language. But be prepared to show that
> they're actually good, as opposed to merely possibly popular.

This doesn't apply to "enabling" features. Features that make it
possible for popular stuff to happen. Concurrency isn't popular, but
parallelism is. At least where the GIL is concerned, an good
alternative concurrency mechanism doesn't exist. (The popular one is
native threading).

More information about the Python-ideas mailing list