On Thu, Nov 19, 2020 at 10:49:13AM +0400, Abdur-Rahmaan Janhangeer wrote:
> Greetings list,
> 
> > The purpose of executables is to make it harder to apply bug fix
> releases of Python? I thought that was an unwanted side effect.
> 
> I think you mis-understood me by me making myself not clear
> 
> I mean bundling this library: https://github.com/pyinstaller/pyinstaller
> with CPython distributions. Not program executables

I think you misunderstood Chris.

Suppose you distribute a .py script to a million people. Your script is 
faulty due to a bug in the Python interpreter or std lib. But you don't 
need to do anything to patch your script: you just tell people to 
upgrade to the latest version of Python where the bug is fixed. Or you 
say nothing at all, and when the user's get their mandatory OS-supported 
upgrade, including Python, it fixes itself.

Instead, suppose I distribute my .py script as an executable. It suffers 
from the same bug as yours. But to fix it, I have to rebuild the 
executable, and ship it out to a million people. Until I do, there's 
nothing my users can do to fix the bug. Upgrading their installed Python 
will do nothing.

Not only is it more work for me, but it's also a less satisfactory 
outcome for my users, as it is harder for them to get the benefit of bug 
fixes in Python.

This is similar to the classic argument between fans of static linking 
and those of dynamic linking, and like there, there are good arguments 
for both.

https://stackoverflow.com/questions/1993390/static-linking-vs-dynamic-linking/1993407#1993407

Executables are static; scripts are dynamic.



-- 
Steve
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/V4WP43GMCJ6D4QRASMRWPRFDCZ6JLL6X/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to