Olden days embedded [or] telecom domain programming difficulties.
- Coding in C/C++ in low level is very difficult. Need to understand low level architecture of how they are using
Proprietary software’s for mobile were giving high priority to native apps than third party applications.
- Symbian and brew platforms were better compared to other platforms, they gave good facilities for 3rd party developers. But still those platforms were having dependency on C, C++ for accessing low level hardware things for third party developers.
- Midlets[JAVA] came, they use JVM to interact with over all system but JVM abstracts much of hardware and O.S details. Less access to hardware still persists.
- Some times when you are writing your code in C/C++ you need to understand the endiannes while accessing network APIs. Some times programmer has to deal with critical section and mutual exclusion codes in case of synchronization.
- Some native platforms will never open up their platform for 3rd party developers. Even if they open, they will not give full supportive APIs to 3rd party developers.
- Though some platforms provides low level accessing APIs, still it has to be coded carefully in C/C++.