Well, since this thread has become a forum for rambling and subjective 
opinions, I may as well voice mine. :-) Feel free to disregard -- it's just 
about *feelings*.

I've been coding in C++ for 10 years now. I still love it. Sure, Java is 
cleaner and C is a more natural fit with the APIs, but it works. If you use 
it well, it helps cut code-time on larger projects down while keep code 
quality and spaghetti logic down. If you use it to reduce the interconnects 
between code functions/modules, you can really kick some ass over C. With 
my second Palm project, I developed my own little framework, and it 
simplified the clunky multiple-form-handling mechanism of the Palm OS 
greatly. It helped get the project going and it doesn't crash.

That said, the Palm OS is designed around the old Macintosh Toolbox, which 
was itself designed around procedural Pascal philosophies (from strings to 
calling conventions.) It is OLD. It takes more grunt work to code things 
that should be simple -- like tables -- than it would on most platforms. 
(On the RIM, it takes 1/3  the code to write a table. In Windows, you would 
just buy a cheap component or use MFC and the code would be taken care of.) 
I'm not saying that the WinAPI is modern, but between COM and MFC and the 
huge developer community, you can be amazingly productive. (And fields 
scroll BY THEMSELVES!) Programming the Palm has been like turning the clock 
back to 1985. The API was designed procedurally and doesn't adapt itself 
well to object-oriented programming (with all those nasty object-hostile 
callbacks.) C++ doesn't play too nicely with handle-based memory. Yadda 
yadda. C++ still helps, if you know it well enough. A really good framework 
would help a great deal! (A bad one would just suck.)

And while I'm on the soapbox, the single-threaded nature, while good for 
battery life, SUCKS for communications programming. Sure you can make it 
work if you're careful write and write socket kludges that time out every 
.1 second, but it's really not ready for the prime time. When we have 
high-bandwidth wireless networks, we're going to need real threading to 
handle the communications throughput. This mess of timeouts and wishful 
thinking is going to kill Palm in the wireless arena, unless they do 
something about it. It doesn't really even work at current modem speeds.

Okay, I'm off the I-wish-they-had-designed-it-with-me-in-mind rant. I do 
love my Pilot. And I am having fun writing applications for it.

(After all, I had fun programming in 1985 too.)

Vineel Shah
programmer around town

At 12:19 AM 5/12/00 -0400, you wrote:
>On 12-May-2000 Craig Thrall wrote:
>
> > Note that the PocketPC supports Visual Basic and Visual C++, and 
> although we
> > all love to hate those devices, frameworks (MFC and CString, for example)
> > can really help shorten your development cycle and increase the quality of
> > your code.
>
>I am forced to use a C++ framework on an embedded project and I must admit
>that while I once loved C++ I am finding it to be an incredible kludge.  It
>is maddening to see all those circular references in header files.  And then
>to see non error checking construction of objects willy nilly thoughout the
>code.  God what the hell was I thinking when I liked that language!
>
>After this punishment I am now solidly of the opinion that if the problem is
>too complex to code in C with a few structures and memory handles then you
>should break it down into simpler terms, rather than abstract it into C++.
>
>
>/* Chris Faherty <[EMAIL PROTECTED]>                 */
>/* Your Stock has crashed - you must now restart your system */
>
>
>--
>For information on using the Palm Developer Forums, or to unsubscribe, 
>please see http://www.palmos.com/dev/tech/support/forums/


-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/tech/support/forums/

Reply via email to