Aloin tässä lueskella ensimmäistä Symbian-aiheista kirjaa (siis en ole aiemmin moisia lukenut, ei niin että tuo kirja olisi välttämättä ensimmäinen kirjoitettu), Symbian OS Explained. Ehkä sitä voisi tutkia miten asiat pitäisi oikeasti tehdä ja tuo valmentaisi Accredited Symbian Developer -tutkintoonkin, jos sellaisen jaksaisi kokeilla. Tuota kirjaa lukiessa tuli heti alussa mukava kohta vastaan:
The user expects the phone to be responsive, not sluggish to respond
to each key press; the operating system and hardware must carefully
balance demands for good performance speed with the consumption
requirements of power-hungry processors.
Besides being efficient, the operating system must be robust when
the limited resources are exhausted. It must be engineered to cope with
low memory conditions, loss of power or when a communications link
is unavailable. Memory management is key. The operating system must
track precious system resources accurately and free them when they
are not required. It’s not acceptable for memory to slowly leak away,
resulting in disintegration in performance and usability until the user is
forced to reboot. The operating system should make it easy for software
engineers to write code that runs without memory leaks and can handle
out-of-memory conditions when they occur.
So when a phone is shipped, it’s
shipped. It must not have any serious defects. Not only must the platform
on which a phone is based be well-engineered, it must also provide the
means for developers to build, debug and test robust code.
Näistä viisaista sanoista voisi ottaa varsinkin eräät valmistajat oppia. Jostain syystä ei tajuta, että ei se puhelin oikeasti saa miettiä puolta sekuntia näppäinpainalluksissa, muistia pitäisi oikeasti olla käytettävissä eikä systeemi saa vuotaa sitä omiin touhuihinsa taustalla. Eikä puhelin saisi sekoilla ja jumitella kun verkko katoaa, sanoo erään yrityksen tukipuolen päähenkilö mitä tahansa.
Hassua sinänsä, että Symbian-kirjan kirjoittaja ja kehittäjä kirjoittaa tuollaisia kirjan alkuun, varmasti tietää itse etteivät asiat Symbian-alustoilla yleensä näin ole.
Tai no, tämä kohta kyllä vähän vihjaa ettei tiedä (tämä on juuri ennen Symbian 8.0:n tuloa kirjoitettu):
The huge demands upon a mobile operating system have
shaped Symbian OS, from resilient power-management and careful use
of memory resources, to the sophisticated use of C++ and object-oriented
programming techniques.
Kukaan täysjärkinen ei varmaankaan sano, että Symbian (tuolloin varsinkaan) käytti sofistikoidusti C++:aa, sen deskriptorit ja muut ovat vihan ja kauhistelun kohde suurimmalle osalle jne. Muistin tuhlailusta en voi kyllä syyttää, esimerkiksi bitmapit pakataan muistiin ja muuta mukavaa, eli se on aika oikein.
[developing software is] not easy, but opting to work on
Symbian OS gives you the benefits of a purpose-built platform.
Näinpä.