Ci sono molte applicazioni in Java. Lo sviluppo in Java è più veloce e oggigiorno i dispositivi sono così potenti che l'efficienza non conta quando l'applicazione è principalmente un'interfaccia utente interessante per alcuni dati estratti dalla rete. Quale è la maggior parte delle applicazioni là fuori. Quindi puoi certamente ottenere un lavoro nello sviluppo di applicazioni Android anche senza la conoscenza del C ++.
Ci sono comunque molti buoni motivi per scegliere il C ++ per applicazioni più complesse:
- Fino ad oggi il C ++ è ancora l'unico linguaggio portatile per tutte le piattaforme. Alcune piattaforme mobili hanno Java, altre hanno CLI / CLR (.NET), ma nessuna delle due è disponibile su tutte. Scrivere un'applicazione portatile in C ++ è molto lavoro, ma è fattibile e comprovato da molti esempi.
- Java ha un'inefficienza della memoria integrata nel linguaggio. Se si osservano vari confronti, un'attività simile richiede in genere una memoria 3-10 volte superiore a Java rispetto a C ++. Quindi, se stai facendo qualcosa che ha bisogno di molti dati in memoria, Java non sarebbe una buona scelta (nota che la situazione è molto migliore con CLI / CLR).
- Dalvik, la JVM su Android, è un po 'indietro rispetto alle migliori JVM come HotSpot. Quindi, se stai facendo qualcosa che ha davvero bisogno di potenza di calcolo, Java non è una buona scelta su Android. Esistono tuttavia pochissime applicazioni che necessitano effettivamente di molta energia. La maggior parte delle applicazioni si limita a sedersi e a giocherellare con il pollice 99% di tempo in attesa che l'utente faccia clic su qualcosa e per quel tipo di applicazioni Java va bene (per la maggior parte anche Python andrebbe bene).
Penso che il primo motivo sia di gran lunga il più importante.