Hartti gives a run down on all the languages you can use to program your Nokia device
By Stefan Constantinescu on Monday, December 11th, 2006 at 7:59 PM PST In Symbian
Symbian C++
Market: 100+ million Symbian devices, including S60 from Nokia (NYSE: NOK)
Pros: No execution overhead, best access to native capabilities (access to some capabilities requires Symbian signing), free SDKs and tools (to start with), localization framework
Cons: Steep learning curve
Java ME (MIDP2.0/CLDC1.1)
Market: 1+ billion devices (including MIDP 1.0 devices), almost all new phones are Java ME enabled
Pros: Largest market, free tools (a choice of) and SDKs
Cons: Fragmentation (support of APIs, screen sizes, memory, etc.), some native access lacking (and no JNI)
Python
Market: Not preinstalled on any devices, on S60 phones only
Pros: Open Source (source available), easy to get started, extensibility (getting better access to native capabilities all the time)
Cons: Work in progress, very limited market – requires users to install Python environment on their phones (although it is possible to create stand-alone Python apps)
Flash Lite
Market: 100+ million, preinstalled on newer S60 and Series 40 devices, available for download
Pros: Programming for non-programmers, same great tool as with Flash for desktops, not much fragmentation, very good and upgradeable emulators, player scales the UI (vector graphics)
Cons: Flash Authoring tools is expensive (30-day free trial is available), Flash 1.1 (most of the devices on the market) is very limited in capabilities, integration with browsers not available on many devicesSource: Forum Nokia Blog
I hate to say it but Java is the best. If you’re thinking seriously about producing an application that will work on almost any device then you’re going to use Java. One more thing about Symbian C++, and something VERY critical, there are atleast 4 different versions of your operating system! Series 40, Series 60 v2, Series 60 v3, Series 80.
Stop the madness! Take the Windows Embedded approach and built a modular operating system. Same kernel for everything, but some phones that have higher specs get more modules aka features. You’re only confusing the market with your non sense. Not to mention people in the USA don’t even know who Symbian is. Palm (NSDQ: PALM) yes, Windows Mobile yes, BlackBerry (NSDQ: RIMM) (they can’t name research in motion) yes, but Symbian … can you say you need to start advertising more? I know America isn’t your hottest market, but maybe it’s because people here really don’t know about the products you make.
If I were studying (I should be studying for my Organic Chemistry Final) to become a mobile developer, I wouldn’t be learning Symbian, I’d be learning Java.


First off, Series 40 does not use Symbian.
Secondly, Symbian really isn’t all that fragmented. The bulk of the market is either S60 2nd Edition or S60 3rd Edition. And even then, there’s not much effort involved to support both. A typical 2nd Edition application will only require a few changes to support 3rd Edition.
Makes the developers life that much more complicated.
I didn’t know Series 40 isn’t Symbian, what is it then?
Ciao Stefan,
it’s Java so you cannot run any C++ app, but you can run Flash Lite apps and of course J2ME.
Alessandro
thanks for the clarification, i learn something new every day!