"A human being should be able to change a diaper, plan an invasion, butcher a hog, conn a ship, design a building, write a sonnet, balance accounts, build a wall, set a bone, comfort the dying, take orders, give orders, cooperate, act alone, solve equations, analyze a new problem, pitch manure, program a computer, cook a tasty meal, fight efficiently, die gallantly. Specialization is for insects." (Robert A. Heinlein)

Thursday, 18 March 2010

Again mobile development: Python S60

Java ME is not the only language available for S60 Symbian phone developing. I never tried Python development before because I've never seen advantages in learning a new language when I could do almost anything with the ones I already knew. Things are quite different in mobile development since Python makes, at least initially, to start developing simpler than Java ME.


Installation has been almost all on the cellphone side, following Nokia Wiki instructions I downloaded the Python for S60 2.0.0 SDK archive from Maemo garage site. I installed Python interpreter (Python_2.0.0.sis), after removing the old version, then the Python shell program (PythonScriptShell_2.0.0_high_capas.sis). As also reported ins the installation how-to, since my cell-phone is a 5th edition one, I had to separately install the file pips.sys and restart the cell-phone in order to have Python shell properly working.

On the EEEPC side I only installed Netbeans Python plug-in in order to have a good editor with syntax colouring, since I did not find a complete Linux solution for development and simulation with mobile python.


First run

To deploy the Python scripts on the cell-phone I simply had to copy them on a Python named folder on cell-phone memory card, here is how my hello-world output look like:



You can't judge a language from the hello-world but Python seems to make mobile development quite simpler than Java ME, at least for beginners. On the other side Java ME offers a more complete development environment on Linux and is also available on a wider devices base.