How good are the library sets you have to work with on a daily basis?
The BREW libraries I have to work with are so bad that it makes me want to program in a different part of the industry. Const-correctness is sproadic at best, and next to useless because of it - sometimes I have to declare member functions to be non-constant because one or more of the library calls they use omitted a const declaration where there should be one. Many of their controls don't work completely correctly on some phones. Documentation is sparse, sometimes in broken English, and omits crucial details - for instance, that a particular input mode for a text control was left out of an entire release - and I just came across a case where it was just flat-out wrong. Things seem to be done in a way as to minimize the work of the library designer at the cost of the client programmer - for instance, a double-word return value for a particular function actually contains two values, one in the high word and one in the low word. They provide macros to separate them, but why on earth not just use pointer parameters in the first place? (Using references isn't possible because the libraries are all in C - I'm ignoring that as a design flaw even though it causes problems as well, because four years ago when the platform was created I don't know if C++ compilers were available for ARM yet.) Sometimes a small but crucial bit of functionality will have been left out of a control (for example, overriding a background color, or getting the shift state of a text control), which renders the control either useless or partially crippled in a real-world application.
I mean, the platform is so bad that I have literally been angry enough to want beat the living fuck out of their design team, many times, because of the time, money, and sanity I have to waste working aroung their horrible code.
Wondering if anyone else has to deal with this kind of thing.
The BREW libraries I have to work with are so bad that it makes me want to program in a different part of the industry. Const-correctness is sproadic at best, and next to useless because of it - sometimes I have to declare member functions to be non-constant because one or more of the library calls they use omitted a const declaration where there should be one. Many of their controls don't work completely correctly on some phones. Documentation is sparse, sometimes in broken English, and omits crucial details - for instance, that a particular input mode for a text control was left out of an entire release - and I just came across a case where it was just flat-out wrong. Things seem to be done in a way as to minimize the work of the library designer at the cost of the client programmer - for instance, a double-word return value for a particular function actually contains two values, one in the high word and one in the low word. They provide macros to separate them, but why on earth not just use pointer parameters in the first place? (Using references isn't possible because the libraries are all in C - I'm ignoring that as a design flaw even though it causes problems as well, because four years ago when the platform was created I don't know if C++ compilers were available for ARM yet.) Sometimes a small but crucial bit of functionality will have been left out of a control (for example, overriding a background color, or getting the shift state of a text control), which renders the control either useless or partially crippled in a real-world application.
I mean, the platform is so bad that I have literally been angry enough to want beat the living fuck out of their design team, many times, because of the time, money, and sanity I have to waste working aroung their horrible code.
Wondering if anyone else has to deal with this kind of thing.