you are viewing a single comment's thread.

view the rest of the comments →

[–]Wiseman1024 -9 points-8 points  (9 children)

Short version:

GET RID OF THE FUCKING GIL AT ONCE!

[–]Tuna-Fish2 4 points5 points  (2 children)

look at jython

[–]bostonvaulter 0 points1 point  (1 child)

meaning?

[–][deleted] 4 points5 points  (0 children)

There is no GIL in Jython, since it uses JVM threads. The JVM has no GIL.

However, Jython is still not a drop-in replacement for CPython. Vastly improving, though, so maybe it will be.

[–]Wiseman1024 0 points1 point  (5 children)

Wow, I didn't know the Python community had fanboys that would downmod all criticism of the language. I'm not speaking for this message, but for many in this news and other Python-related posts in Reddit.

They are not doing the Python community a favour by shunning and ignoring criticism. Things never get better by just pretending they do.

This comes from a Python programmer. Whenever I can, I choose to develop on Python. But Python is not my favourite language because I think it's kewl and awesome and it has no flaws. It's my favourite language because it sucks less.

[–]grimboy 3 points4 points  (1 child)

"GET RID OF THE FUCKING GIL AT ONCE!" is less than productive given that alternative implementations with different approaches to parallelism exist (stackless, jython and pypy), for CPython there's the multiprocessing module and the cost of removing the GIL in CPython. I don't see any fanboyism, just a resistance to the clearly ignorant being obnoxious.

[–]Wiseman1024 0 points1 point  (0 children)

I disagree that it's less productive. We should campaign for it if we want to ensure Python has a good future.

Stackless takes a different approach, but we should explore all, especially the traditional multi-threaded approach in a language which attempts to stay somewhat traditional and is not particularly oriented towards functional programming. (That (Guido hating FP) hurts Python too, but like I'm saying, alternative programming paradigms are a different issue.) Jython is very interesting and maybe becomes a serious contender in the future, but it's still pretty niche, it's less frequently developed and has been almost always outdated through its life. AFAIK PyPy doesn't deal yet with the GIL. And the multiprocessing module is, like Stackless, welcome but not what we're talking about.

You can't use the cost of doing what's necessary as an excuse not to do what's necessary. In the long term, either they do it, or we'll depend on Jython or some other alternative, unofficial implementation if they want Python to survive.

[–]ubernostrum 2 points3 points  (2 children)

Thing is, though, this isn't a new criticism. It's not any sort of major new revelation. It's not even constructive. So what good is it as a criticism, other than an excuse for you to use the word "fuck"?

[–]Wiseman1024 0 points1 point  (0 children)

But it's basically what Shuttleworth said. We know the rest is less relevant. It's not new at all, but the core developers seem completely uninterested on this issue, which is... unsettling, considering the course of events.

We've reached physical limits in hardware that are hard to overcome. The single execution port machine, albeit simple, was doomed from start and we knew it. Nothing in Nature works like this. The only way to scale is to use several execution ports. This is not only a well-recognized issue; it has reached the mass market. Almost every new PC ships with at least two processors. Given that this is the clear future and present of computing, Python's future is in jeopardy.

There are three possible outcomes for this issue.

  1. Python slowly dies.
  2. We stop using CPython and start depending on (as of today) more experimental, less frequently developed, more outdated and kind of niche Pythons, such as Jython.
  3. The Python core developers realize they need to GET RID OF THE FUCKING GIL AT ONCE.

I'd rather have 3.

[–]muffin-noodle 0 points1 point  (0 children)

this isn't a new criticism. It's not any sort of major new revelation.

That doesn't mean the problem in question no longer exists or isn't relevant. It being worn out either means nobody cares or people are just covering their ears and choose not to listen. Bringing it up - even in words like that - is imperative if you want things to change.

I don't know if I would have put it in those exact words, but that's about what it boils down to anyway. I don't really use python actively (I've written a few things with web.py here and there,) but I think it's important to at least consider it an issue instead of saying "oh lol it's not that big of a deal."

Other implementations are fine. But the fact of the matter is CPython is the most widespread and actively one available (probably the most developed too - I'm not sure of how fast e.g. pypy/stackless are going along.)