On 10/25/2014 7:32 PM, Russell Keith-Magee wrote:
On Sat, Oct 25, 2014 at 3:36 PM, Todd
mailto:toddrjen@gmail.com> wrote: On Oct 25, 2014 4:22 AM, "Russell Keith-Magee"
mailto:russell@keith-magee.com> wrote: > 3) Disabling certain modules on mobile platforms. Supporting modules like linuxaudiodev, ossaudiodev, readline, curses, idle and tkinter on mobile platforms doesn't make much sense; modules likes bsddb and bz2 are difficult to support due to library dependencies; and the need for modules like multiprocessing is arguable (and difficult to support on mobile). Even providing a Python executable/shell is arguable for these platforms. I would definitely be extremely interested in a python shell in android. One thing I feel are lacking on android are good advanced mathematical tools and and python shell with appropriate libraries could make a very powerful open-source tool for that. There have been some attempts at that already.
Yes - and (to the best of my knowledge) none of them provide the default Python shell. They're custom user interfaces, using native system controls, that provide a shell-like UI. What I'm talking about here is the literal "python.exe" build target - the one that is an executable that starts and expects to attach to stdin/stdout. *That* executable isn't practical on Android *or* iOS, because neither platform has the concept of a "console" in the traditional Unix sense of the word.
I would also differentiate android and iOs more. Android seems to be betting on multi-core performance while iOs seems to be betting on single-chore performance. So while multiprocessing may not make much sense on iOs, I think it may be more sense on Android, especially if they move from 4 to 8 cores.
Firstly - I don't know what gave you the impression Apple devices aren't multicore - every Apple processor since the A5 (introduced in the iPhone 4S and iPad 2) has been at least dual core, and the A8X in the newest iPads is triple core.
Secondly, if you're assuming "multicore" automatically means "mathematical powerhouse", you're mistaken. If you're planning on doing serious mathematical heavy lifting on a phone... well, you've already made your first mistake :-)
Similarly, ultimately android is Linux-based, so things like readline should work, and it seems others have been able to get it to work, and bz2 seems to work fine on third-party android file managers.
iOS is Posix under the hood as well. My point was that readline and curses make a whole lot of assumptions about the type of terminal you're using, and if you're writing a halfway decent UI for a mobile platform, you'd probably be better served throwing those tools overboard in preference for something that takes native UI controls into account.
As for bz2 - I can't think of any reason it wouldn't work on Android (or iOS either, for that matter); I was more flagging the fact that it has binary dependencies which need to be resolved, and external dependencies complicate the cross-compilation process.
More broadly, as a result of both these points, I was trying to gauge the extent to which "complete availability of all Python modules" would be considered a requirement of any official effort to port Python to Android and iOS.
Yours, Russ Magee %-)
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/
-- Terry Jan Reedy