Perché Java è stato scelto per Android?

45

Perché Java è stato scelto per Android, invece di qualcosa come C ++? Ho sentito dire che Java utilizza molta memoria e presumo che l'utilizzo di memoria ridotta sarebbe molto importante sui dispositivi mobili. C'è un reale vantaggio nell'usare Java invece di un linguaggio come C ++ su un dispositivo mobile?

    
posta cgt 21.03.2012 - 14:23
fonte

3 risposte

38

Questo articolo fa luce sulla situazione. Il link più pertinente all'interno di questo articolo è questo . Quindi hai un'enorme base di installazione con molti programmatori che conoscono la lingua ed è ampiamente insegnata nelle università. Il C ++ è stato abbandonato dal curriculum della mia scuola, Java è ancora qui. Java ha Java ME che ha un'enorme base di installazione su altri telefoni cellulari. Il Pantec Ease che ho in tasca in questo momento ha una piccola tazza di caffè nell'angolo dello schermo. Qualcuno ha voglia di indovinare di cosa si tratta?

Questa risposta su Stack Overflow lo copre abbastanza bene.

Riepilogo della risposta SO:

java is a known language, developers know it and don't have to learn it

its harder to shoot yourself with java than with c, c++ code since it has no pointer arithmetic

it runs in a vm, so no need to recompile it for every phone out there and easy to secure

large number of developement tools for java (see first)

several mobile phones already used java me, so java was known in the industry

the speed difference is not an issue for most applications, if it were you should code in assembly

    
risposta data 21.03.2012 - 14:30
fonte
17

azzarderò un'ipotesi che Google scelga Java per familiarità, se non altro. Molti dei progetti di Google ruotano almeno concetti di schemi Java (ad esempio GWT).

Inoltre, è una lingua ampiamente insegnata nelle scuole tecniche (diversamente da Javascript, che anche Android supporta zelantemente)). Java non è certamente la lingua migliore per un dispositivo mobile in termini di prestazioni e produzione, ma è ben noto.

Ricorda inoltre che Android è arrivato un po 'tardi alla festa. Costringere gli sviluppatori a usare C ++, un linguaggio di compilazione di basso livello, renderebbe più difficile generare un fattore 'wow', e se non altro, Android necessitava di numeri (di app) e di flashiness per decollare.

    
risposta data 21.03.2012 - 14:36
fonte
8

Non sono sicuro del motivo per cui è stato scelto esattamente Java, ma probabilmente per vari motivi

  1. Per catturare il folto gruppo di sviluppatori che hanno familiarità con Java

  2. Riempi il gap mobile in Java dove tecnologie come J2ME mancano di Java.

In secondo luogo, non è stata specificata Java Virtual Machine per Android. Invece tutto il codice Java è compilato per essere eseguito su Dalvik , che è una VM ottimizzata e leggera progettata specificamente per l'esecuzione in ambienti mobili. Presumibilmente migliora la durata della batteria e massimizza l'uso efficiente delle risorse.

    
risposta data 21.03.2012 - 14:30
fonte

Leggi altre domande sui tag