On Thursday, May 18, 2017 at 1:19:48 AM UTC+1, Steve D'Aprano wrote: > On Thu, 18 May 2017 07:47 am, Ian Kelly wrote: > > > Because, as has already been stated, there's no way to make such a simple > > process cross-platform. > > Please understand that Bart's understanding of cross-platform and the Python > community's understanding of cross-platform are different. > > Bart's understanding of cross-platform is: > > "I have a Windows box, or maybe two of them, and a Linux VM, and so long as > my code will compile and run a few simple scripts on each of them with no > obvious bugs, I'm going to assume we're done!" > > The Python community's understanding is: > > "We have to support literally tens of thousands of different combinations > and permutations of hardware, operating system version, variations in how > the OS and user's environment are configured, and variations in C compilers > and how they are configured; we have to support hundreds of different > flavours of Linux alone, plus FreeBSD, OpenBSD, NetBSD, and other Unixes, > plus multiple versions of Windows and MacOS, and possibly a few others; we > have to support machines with different floating point capabilities, and as > much as possible abstract those differences away so that they're not > visible to the end user; and importantly, we want to halt the build process > with a comprehensible[1] error message if some essential feature is lacking > on your platform." > > > When I first started using Python in version 1.5, among the many Unixes > supported were: > > - VAX; > - VMS;
VAX and VMS are Unixes, you learn something new every day ;) > - Sun OS/Solaris (technically a Unix); > - HP UX (also technically a Unix); > - Windows 95/98; > - Windows NT; > - Windows CE; > - OS/2; > - classic Mac OS ("system 6", I think, or possibly 7). > > My memory is a little fuzzy on the following, so don't quote me, but I think > the following were also officially supported: > > - IBM AS/400 ("System i" or "iSeries"); > - BeOS; > - MS DOS; > - Z/OS (OS 390); > - Acorn RISC; PEP 11 https://www.python.org/dev/peps/pep-0011/ gives quite a list of OSes that were but are no longer supported. > > although some of them may not have been official ports. (Most of these are > still available through third-parties.) > > Support for a lot of those have been dropped, but it still leaves its traces > in the build system. The most important of which is the use of configure > and make in the first place: even if every Linux and Windows system in the > world today uses exactly the same configuration (which they don't), make > still tests for each of those features because you never know when you > might be running on some exotic mainframe or embedded device with radically > different features. > > So tell us Bart, what do you think are the chances that your Q compiler will > *just work* with no modifications at all if somebody tried to build it on > an IBM AS/400, or under BeOS? Or for something a little more current, how > about Android? Perhaps Bart can also tell us why the developers have so many buildbots to support https://www.python.org/dev/buildbot/. > > [1] Comprehensible to the core devs, not necessarily the end user. > > -- > Steve > Emoji: a small, fuzzy, indistinct picture used to replace a clear and > perfectly comprehensible word. Kindest regards. Mark Lawrence. -- https://mail.python.org/mailman/listinfo/python-list