Hacker News new | ask | show | jobs
by operator-name 324 days ago
You frame that as if python doesn’t have a choice, but it chose to have explicit syntax.

There’s no reason a python-like language couldn’t have deeper semantics for async, and language level implementation.

1 comments

Well, there aren't reasons why Python couldn't have that, but there certainly are good reasons why the Python maintainers decided that type of runtime was not appropriate for that specific language--not least among them that maintaining a scheduling/pre-empting runtime (which is the only approach I'm aware of that works here without basically making Python into an entirely unrelated language) is very labor intensive! There's a reason there aren't usable alternative implementations of ERTS/BEAM, and a reason why gccgo is maintained in fits and starts, and why the Python GIL has been around for so long. Getting that type of system right is very, very hard.
> maintaining a scheduling/pre-empting runtime (which is the only approach I'm aware of that works here without basically making Python into an entirely unrelated language) is very labor intensive! There's a reason there aren't usable alternative implementations of ERTS/BEAM […]

You seem to know a lot about PL. Could you elaborate on that reason and on the maintenance burden of a preemptive runtime?