Python Painfully Ported to Palm; Plan is "Peer-to-Peer"
An Anonymous Coward gave us the excuse for the above headline with this note: "Endeavors Technology has "successfully developed a highly optimized, open source port of Python to the Palm OS platform" It's called Pippy. The press release is also there. Nice!" Here's a story about the situation.
Python Palm-platform ported!
Poster perusing preliminary press-release ponders programming Perl-free PDAs.
Preppie people prefer Python; Perl pedantic.
Python port "Pippy" passable? Possible. PythonLabs prepared port perfectly.
P2P Python programs particularly pleasant.
(Poster pitches "P"-filled post pre- particularly pernicious puns.)
This is very great news for me.
:-)*
When I bought a Visor Deluxe, I was horrified by the amount of shareware for the Palm.
Don't get me wrong, there is great shareware out there. I paid for GetRight back in my Windows days (I don't have Windows at all anymore). However, the shareware concept has created a fsckload of apps that do the same thing from a bunch of people who want to make a little money from their efforts. Open source allows the bunch of programmers to pool their efforts.
That's why I search SourceForge first for Palm apps.
I have LispMe on my Visor, but Python makes a world of difference. I only recently tried Python and it changed my programming life. I would never imagine making C++ apps for most things anymore, even though I was heavily trained in it.
I now use Python in place of bash in many situations. As a bash freak, that's impressive. I'll type 'python' and do something to a bunch of files now, among other things. I recently had a request from a support guy, "how can I do this" and I wrote a very short script in Python on paper and gave it to him. It would have been a PITA in any other scripting language.
There's a reason why people have been calling Python the "Pascal of scripting languages" recently. It's easy, but powerful. It enforces good style.
It seems that people that learn Python become obsessed with it. I haven't been let down.
I'll definitely downlaoad it. I expect it will be a world of fun. Have I mentioned how fun Python is?
Forth is a brilliantly designed language for what it does, but it's a pain for most people to think in. The RPN notation just doesn't mesh well with most peoples' cognitive styles.
Running Python on embedded platforms as a way to interact with them will be a very big win. There are a lot of lovely things about Python in this regard: the language is learnable in less than a day, you can easily read other peoples' code, the OOP model is well-designed, and the exception handling is very well thought-out and robust.
I am definitely hoping to have time to bring up a Python interpreter on the next embedded project I'll be working on. If I can release it publicly without violating any agreements, I will.
WWJD for a Klondike Bar?
I now use Python in place of bash in many situations. As a bash freak, that's impressive. I'll type 'python' and do something to a bunch of files now, among other things. I recently had a request from a support guy, "how can I do this" and I wrote a very short script in Python on paper and gave it to him. It would have been a PITA in any other scripting language.
I now write my file smashing scripts in a combination of bash and python I call "bashon". This caters to the strengths of both: bash for macro substitution and system commands, python for writing readable code that does nontrivial things. For example, a bashon script that makes n files (3rd parameter) named "foo###" (2nd parameter) in directory xxx (1st parameter) on test partition hda7:
--
Life's a bitch but somebody's gotta do it.
Where did the name Pippy come from?
The name Pippy was formed by appending the suffix ".PY" to the acronym PIP (Python In Palm). The name is reminiscent of Pippi Longstocking, a female fictional character of small stature, enormous strength, and unbounded free spirit.
I ported Linux to my Rio 500, and I'm routing IP between the USB port and headphone socket.
Of course, I'm just wildly thrashing here. I don't care if this post gets modded up or down.
-Cyc
Apache 1.3.9b3 on palm.arm.body.org
/.'s 10 Millionth
The mindset of Palm programmers seems to be morbidly similar to that of most Windows programmers - develop an app, release it as Shareware with a nag screen and 30-day trial period, then try to make a few bucks by selling your software on PalmGear, so any project to further open development for the Palm is a big step forward.
On the downside, it appears that it wants a device with at least 4MB of memory (Sorry III, V and 2MB Visor owners...) and it doesn't seem to have the ability to create standalone PRC files (thats a standalone application file).
Some of the other alternatives for developing directly on your Palm (no PC necessary; these read MemoPad or DOC files with your source):
Quartus Forth: A standalone Forth interpreter/compiler that is quite powerful; however, the free version can't compile PRCs, and it costs $70 to register.
LispMe is a Scheme compiler, licensed under the GPL. Yummy. Now we just need a better way to write parentheses in graffiti...
PocketC is an onboard C compiler, distributed as shareware.
And, one musn't forget the ever-helpful Palm OS Programmers FAQ
In the README they say "There is a GUI problem with PalmOS 3.0 that we are investigating", and at startup it warns me that I don't have at least PalmOS 3.5, but I just wrote some trivial code in and so far I haven't seen any problems with running it on 3.0.
Anyone discover what the issues with 3.0 are yet? Anyone dare try some serious recursion?
K45
This signature has eleven vowels.
It would be even better if the Pippy folks made sure it runs on embedded Linux and the BSDs as well. Of course, I'd also like to see the Python folks spend a bit of time making the Pippy subset a part of their thinking. Call it "Factored Python" or some such.
This strikes me as a really useful path for Python as a whole to pursue. I really like Python's general runtime model, and an extremely lightweight version would be valuable for all sorts of things.