Handheld Programming?
dutky asks: "What devices does Slashdot recommend for the programmer on the go? Recently I went on vacation to Vietnam. Before we left my wife asked what I would do if I couldn't program for a month. I tried to assemble an inexpensive and portable programming environment using a Palm 130, but it was less than satisfactory. With the recent article on the Zarus PDA I have gotten to thinking about the problem again. Notably, I -don't- need a whopping amount of RAM, disk space, or processor speed, and I can live with fairly modest screen sizes. I was unable to find anything that matched all these criteria in about two weeks of occasional (and hurried) research. Do any such beasts exist?"
"My requirements are pretty simple:
- Small and durable (I was packing three and a half weeks of clothes and stuff in a moderately large backpack)
- Long battery life (able to get in a good 8-hour programming session without interruption)
- Able to use a keyboard (I can't write C code from Grafitti)
- Reasonable screen resolution (I need to be able to see at least 80 columns by 40 lines)
- Ability to run a wide variety of programming tools (at least a good editor, C compiler, and probably several common scripting languages as well)
- External mass storage of some kind (I'd settle for SD or CF cards)
- Relatively inexpensive: $200-$400 is a good range (I don't want to be too upset if it gets lost, stolen or dropped off of a cliff)"
Yo-
:P
;P I have a 2 GB PCMCIA drive for it.
:)
One of the things I use a PDA for is just this. Believe it or not, it is one of the bigger reasons I got a PDA, and at the time, the Newton 2100, which could be programmed in its native language NewtonScript on the device itself. You can produce the same full applications as you could using the desktop NewtonScript tools.
I maintain a page about PDA-hosted development envrionments here. It is mostly concerned with WinCE and the Newton OS, but there is a link to a similar page for Palm OS info.
If you want to do C development, on the road, there really aren't many options. To my knowledge, there is no WinCE port of gcc. There are many programming systems available for WinCE and PocketPC machines, some compiled to machine code, some compiled to bytecode, and some interpreted.
To my knowledge, other than getting something like a Toshiba Liberetto (a 'real' PC, more than $400, and with > 2 hr battery life), the only option for doing C development on a small, PDA-class device is on the various Zaurus PDAs. You can install GCC, etc, on the Zaurus. Modern C development takes, relatively, a lot of storage space, compared to other options. You should be able to get external keyboards for the Zaurus SL-5x00 models. I doubt the wee thumbboard would be much more efficient than just using a decent character recognizer. Battery life may not be quite 8-hours, but that's what you get, I guess.
The newer JP only Zaurus has a built in keyboard, but it is quite small- a lot smaller than you'd find on the Jornada 720. Nothing touch typeable. But perhaps it is all you need?
If you were willing to go low-tek, you could get an older, DOS-based handheld PC like the HP OmniGo. You could probably run Turbo C on them. Or Watcom, etc. Those can he had pretty cheaply, and I believe get good battery life. Probably approaching 8 hours. They may use a non-rechargable battery (AAs or something), which could be good if youl'll be in the middle of nowhere for long stints. You could still use rechargable NiMH AAs even, just carry a bagfull of them.
Yet another option would be to install Linux on a Jornada 720. It would be able to run run GCC like the Zaurus, and have the added benefit of having a keyboard, 75% of fullsize. After a few days, I got quite used to it, and can type almost as fast as I can on a fullsize keyboard- and I have some pretty big and stubby fingers. I am using one right now for typing up this post, although under WinCE. (I use it for programming in Squeak Smalltalk. With the Jornada, you could get the optional 24-hour battery if long life is what you need. Under Linux, that battery could probably get you at least 8 hours, but a lot less than 24 hours. (poor or non-existant power management in Linux for the J720) I'm not sure about your environmental conditions, but the J720's screen isn't very readable in sunlight- TFT screen isn't reflective. Unreadable in direct and full summer or spring sunlight. Aside from that, it's a great device, and almost has replaced my poor iBook.
I use it for development (in Squeak and Dialect [a Python-like RAD language]), write papers in TeX (and render and read them), record data in Excel, browse the web in IE (much more full featured than the IE in PocketPC), listening to MP3s, SSH for email and sysadminage, read eBooks in uBook and Acrobat... Like I said, it is like a full computer.
Under CE, the Jornada 720 gets 6-8 hours of battery life.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
- Effective C++
- More Effective C++
- Modern C++ Design
- Exceptional C++
- More Exceptional C++
- Effective STL
Yeah, the names are redundant, but they're all very good texts.Care about electronic freedom? Consider donating to the EFF!