Juri Pakaste writes: "Chris Double has provided the first reason I'd almost — if it starts working some time in the future, I'll change that to really — like to have a phone running Symbian."
The one thing I dislike about the Symbian OS is the fact that the API is C++ based. Like Taligent and BeOS, all C++ operating systems seem to suffer from a number of problems.
One of these problems is lack of extensibility. Every time an OS component upgrades it risks breaking client software due to the fragile base class problem. Client software needs to be rebuilt. Look at Symbian V7.0 vs V6.0. As far as I'm aware applications need to be rebuilt to run on each operating system version.
Another problem is the lack of a standard for the binary layout of classes in memory. This makes extending C++ classes almost impossible when using different C++ compilers. When BeOS moved from having the OS built using the Metrowerks Compiler to using GCC all client applications had to be rebuilt. They were no longer compatible.
But the big one for me is the difficulty in porting 'C' based applications to something that uses a C++ API. I continually have to jump through hoops to port across things like Lisp compilers, Python, Gwydion Dylan, etc. Especially when integrating these systems with the OS GUI.
Like it or not, C API based operating systems are much easier to integrate with and extend. What I'd really like to see one day is a Lisp based operating system - especially on my phone.