Sunday, December 16, 2007

P.I.P.S. and Open C

I love the C language. I truely do. Its like the Led Zeppelin among all the languages. Knowing C automatically makes you like the coolest cyber-punk around. Its like the light-saber of the cyber world. Having it makes you the Darth-Vader of the cyber-wars.

But alas, you cannot use C to program the mobile phones. It has never been the choice of the mobile honchos who somehow were always seduced by more a more bigger language. J2ME (ah yuck!!), C++ (Symbian, oh man !! thats one tough platform to master), Java (Google's Android), C#( Windows Mobile). So, unless you want to work on a hobbyist platform (like OpenMoko), the C developers are left out in cold for writing softwares for cell-phones.

Too bad. Huh ? But not now. At the start of this year, Symbian introduced what is known as P.I.P.S. ("PIPS is POSIX for Symbian", get it ? No ? Me neither, anyways, read on). So PIPS is basically Unix's POSIX libraries ported to Symbian OS). POSIX stands for Portable Operating System Interface and is roughly a set of IEEE standardized APIs for Unix like operating systems.

In sync with this Nokia, lauched what they termed as Open C. Its basically the PIPS with many more libraries supported other than PIPS. Open C basically aims at allowing developing houses to port existing (especially open-source) applications to Symbian systems. So it basically boils down to reusing your desktop code for Symbian smart-phones.

However, I think Open C gives the developers a unique opportunity to develop applications for Symbian using the age-old C language. I think its pretty cool. In some ways its a first of its kind opportunity for developers like me who swear by the C language on Unix systems.

However, there is a down side to this technology. Developers can not, as yet, write the GUI of the application in Open C. The C functions written by you have to called by an application written in Symbian C++. Now, Symbian C++ is a devil of a language. It has one of the deepest learning curves of all the technologies I have worked on. I am pretty sure that Symbian or Nokia would never allow the GUI to be written in C for their aim of allowing to port existing open source apps to Symbian is met by Open C. So I am not hopeful.

BUT, there is something in my mind which I would post in the next few posts. Till then enjoy exploring Open C. If nothing else, its at least a start.

I would post an easy-to-follow, how-to video for Open C very soon. Keep your eyes open.