Help coderanch get a
new server
by contributing to the fundraiser
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
  • Mikalai Zaikin

which way to go: eMbeded C++ or Personal Java

Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi all,
I need to develop a program on Win CE 3.0. The program will have to be able to display jpeg files, play back sound and video clip etc and access network service like http. Shoudl I use eMbeded C++ or Personal Java?
Thanks and Regards
Posts: 6055
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Oooh, good question.
I don't know enough about your project to suggest a clear answer, but I give you some ideas about the advantages and disadvantages of each language in the mobile device space.
Disclaimer: I am very Java biased. I learned C years ago and have maybe coded about 100 lines of it in my life. Rusty doesn't being to described my C/C++ abilities. I am a member of Sun's JSR 75, J2ME PDA Profile Expert Group. These opinions are my own, and based on knowledge external to the Expert Group.

For a WinCE device, your options are PersonalJava (which evolving into the Personal J2ME profile) and C++. Iassume you already familiar with both languages, and learning isn't an issue.

WinCE is a MS OS, and MS likes C++ and doesn't like Java. The same advntages of C++ over Java on a PC apply here: its faster (no JIT on WinCE) and you can more easily access native functionality. I don't know how readily availavle C++ WinCE compilers are.
We found our Java app to be a bit slow on a Jornada 133MHz; however running on an iPaq (206MHz?) seems fine. I actually don't really like Java for mobile devices simply because unlike PCs and workstations, mobile devices have a lot of variance between them. Jave tends to only support the intersection of their fuctionalities an can be very limited, e.g. MIDP. While device/JVM manufacturers can add OEM APIs, that makes Java as hard to port as C++. I think over the next few years, as devices matural and standardize, J2ME will, too, and this will be less of an issue. (Personal Java is currently very close to the JDK 1.1.8, but this may change a bit as it moves into the J2ME space, and as other devices come out which may fall into the PersonalJava space, influencing its direction.)
Also, there are a limited number of JVMs available, and their licensing isn't as simple as on the PC, so if this is a commercial/distributable product, that may be a factor.
Java does offer one advantage, however, and this is where my Java bigotry comes in. I think code is easier to maintain in Java, than in C++. For most commercial products, maintanence is a hugh cost of software development, much greater than the initial development cost, and so this plays a big factor.

So really, it depends on
- who will use it: few? many? is it a commercial product?
- how they will use it:do you rely havily on native
- what is the future:how long will you support it? will you be
adding new features? will you be on multiple platforms?
I hope this helps.
Waldle Cai
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thank you, Mark, for your professional opinion!!
This is NOT gonna be a commercial product. It'll be running on IPaq. It's just for demo. So development time frame is the first factor I should consider. Following issues are so my concern:
Is PersonalJava for Win CE 3.0 providing JPEG displaying API, multi-media API and http access?
Thanks a lot!!!
No matter. Try again. Fail again. Fail better. This time, do it with this tiny ad:
We need your help - Coderanch server fundraiser
    Bookmark Topic Watch Topic
  • New Topic