Live data from Hacker News

The Changing "Guarantees" Given by Python's Global Interpreter Lock

stefan-marr.de

141–142 of 142 posts

Re: The Changing "Guarantees" Given by Python's Global Interpreter Lock

#141
post #46

The brief blurb about how GIL came to be, in light of Python’s success as a language and a tool, makes me question my s/e belief system. Things like this are like when good things happen to bad people and bad things happen to good people. It makes you question the meaning of it all. Is there no great architect in the sky? Is there no software god after all, looking down, punishing sloppy engineers and granting blessi…

Tools win not because they are "better" in some platonic ideal of a programming language but because they are more practical for solving the problems people have. Python, JS, C, Bash aren't even particularly great at the problems they solve, but they succeed mostly on inertia (it's where all the libraries are, it's what people know) and occupying developer mindshare. They are full of obvious design mistakes; things t…

> The fruit is low-hanging

This is basically the only part of your post I disagree with, for reasons you pointed out yourself.

Low-hanging-fruit would imply that it is easy to displace these flawed languages with something better. And you have made a beautiful argument for why that is very very very difficult indeed.

Re: The Changing "Guarantees" Given by Python's Global Interpreter Lock

#142

Earlier quoted context omitted.

There is no language standard. The GIL is a Python language feature because it's a CPython feature.

The GIL is not a required language feature. Neither Jython nor IronPython have a GIL. What would it mean to have a language standard? A publication from ISO or ECMA? I ask because the Python Language Reference at https://docs.python.org/3/reference/index.html seems to be a (terse) language standard. Among other things, it highlights some of the things which are implementation defined, rather than language defined.

It's not a required language feature, but it's most certainly a feature of CPython, and CPython is still effectively synonymous with Python, even if other implementations deviate in various ways from its behavior.
Post reply on HN