Why do I hate Symbian? PDF Print E-mail

Thursday, March 01, 2007

  1. Removed all the good parts of C++: No exception handling. No STL.

  2. Stupid alternatives:

    • They removed exception handling, but they added another feature called Leaving. It is basically like exception handling, but it doesn't unwind the stack!! To get your object deleted, you have to put it on something called the Cleanup Stack which you have to manage manually (This means that we are back to manual new & delete).

    • The data structures they provide is very hard to use. Just try to use a linked list.

  3. Unnecessary MVC: The Model-View-Controller is useful for large application(e.g. web apps, etc), but it's an overkill for small applications. In Symbian, the list box - the most common control - is divided into 5 classes, according to their implementation of the MVC!!

    1. CEikListBox: The controller

    2. MListBoxModel: The model

    3. CListBoxView: Responsible for drawing the list box area which doesn't contain items
       

    4. CLisItemDrawer: Responsible for drawing the items themselves.

    5. CListItemData: Can you guess what is the role of this one?? If you are not an experienced Symbian programmer, then your guess is wrong. This class is responsible for storing the fonts used for drawing items!!!

  4. Premature optimization: They always favor optimization over clarity, even if they want to optimized a single instruction or 4 bytes. They reference strings using offsets, which means that you cannot show them in the debugger arghhhh

This also made them have 6 classes for strings. see http://newlc.com/String-and-Descriptors.html
 

  1. The documentation is not clear

  2. Deprecating APIs in months: They deprecate APIs in months, for no reasons. Sometimes there is an alternative, sometimes there isn't (e.g. Image Conversion Library, Telehpony library, etc)

  3. It's hard to write stable systems: As I mentioned above, they provide Leaving. Unfortunately, they don't use it most of the time. What they use most of the time for error reporting is panics. Even when there is a small error (e.g. invalid index), the program panics!! How can you build a stable system if every error will cause the program to abort!!

  4. You cannot include more than one table in a single query: In other words, what they say is an RDBMS, is not an RDBMS.

  5. Most of the time, you have to reinvent the wheel: They don't follow standards at all. They keep implementing their own standards. First, they didn't support Arabic, so we had to reimplement the support ourselves. Later, they added Arabic, but you have to supply your fonts in .gdr format, not TTF, so we had to port the FreeType ourselves. Later, they added support for TTF fonts, but the problem is that they you cannot add your own special characters to the fonts. On Windows, for example, you can add characters which are not valid unicode characters, but as long as the TTF file has them, they can be viewed. On Symbian, those characters won't appear. Symbian hardcodes the validation of the characters. This is why I had to reimplement the support for Arabic on Symbian!!!

  6. People use it only to get jobs: All the people I know who write programs for Symbian do this only because of the low competition!.

  7. No good support for on-device debugging: It is there, but it's hard to do.

I will be happy to hear more reasons from you to hate Symbian. I hope this will save some people from this ugly monster Stick out tongue [:P]

I have posted about other alternatives here

 

Source: http://spellcoder.com/blogs/tayseer/archive/2007/03/01/6033.aspx

Comments (8)Add Comment
great tea
written by ligy teas , May 28, 2010
I will be happy to hear more reasons from you to hate Symbian. I hope this will save some people from this ugly monster
report abuse
vote down
vote up
Votes: +0
http://www.sellnikeairmax.com
written by air max , June 07, 2010
A man is not old as long as he is seeking nike tailwind 2010 thing. A man is not old until regrets take the place of dreams.The important nike tailwind 2010 in life is to have a great aim, and the determination to attain it. Fear not that why black airmax 95 life shall come to an end, but rather fear that it shall never have a beginning.There is only one success to be able to spend your airmax 95 sneakers life.Bianguai people suddenly started a gentle love, love when people understand the deterioration of the air max 2009 niggling over.If you understand the value of love and love you have given me I have to wait for the airmax 90 shoes future.Love is a woman with the ears, and if the men will love, but kids nike shoes love is to use your eyes.
report abuse
vote down
vote up
Votes: +0
...
written by liu , June 12, 2010
The louis vuitton online store has gotten the 2010 hot new products. Discount LV handbag on sale and cheap Louis Vuitton replica handbags are ...louis vuitton
lv
vitton
replica handbags
report abuse
vote down
vote up
Votes: +0
d
written by louis vuitton , June 19, 2010
Buy gucci handbags, gucci bags, gucci wallets, prada handbags, prada bags, prada wallets,
louis vuitton, Louis Vuitton replica, vitton ..lv
replica handbags
report abuse
vote down
vote up
Votes: +0
a very nice website
written by oil painting reproduction , June 25, 2010
his site is amazing. Very well developed with great information.
Thanks for a wonderful experience.
report abuse
vote down
vote up
Votes: +0
...
written by designer purses , June 28, 2010
Cool site with awesome stuff.
report abuse
vote down
vote up
Votes: +0
Are you idiot?
written by Miha , July 16, 2010
> Even when there is a small error (e.g. invalid index), the program panics!!
So, you really believe that passing invalid index into array is a small error? I wonder if you able to create stable app at all...
report abuse
vote down
vote up
Votes: +1
...
written by Abercrombie fitch outlet , July 28, 2010
Google has shaken up the mobile phone industry, but not the way many imagined it would. Finally, it seems, there is a solid group of companies prepared to bring the future to everyday consumers. The Open Handset Alliance is more than action; it’s recognition that the current system is
report abuse
vote down
vote up
Votes: +0

Write comment
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
smaller | bigger

security code
Write the displayed characters


busy
 

 

This domain is for sale! Please contact me via contact page!