Por que o Java foi escolhido para o Android?

45

Por que o Java foi escolhido para Android, em vez de algo como C ++? Ouvi dizer que o Java usa bastante memória e presumo que o uso de pouca memória seria muito importante em dispositivos móveis. Existe alguma vantagem real em usar o Java em vez de uma linguagem como o C ++ em um dispositivo móvel?

    
por cgt 21.03.2012 / 14:23
fonte

3 respostas

38

Este artigo lança alguma luz sobre a situação. O link mais pertinente dentro desse artigo é este . Então você tem uma enorme base de instalação com muitos programadores que conhecem o idioma e são amplamente ensinados nas universidades. C ++ foi retirado do currículo da minha escola, Java ainda está aqui. Java tem Java ME, que tem uma base de instalação massiva em outros celulares. O Pantec Ease que tenho no bolso agora tem uma pequena xícara de café no canto da tela. Alguém quer adivinhar o que é isso?

Esta resposta no Stack Overflow também a abrange muito bem.

Resumo da resposta do 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

    
por 21.03.2012 / 14:30
fonte
17

Vou arriscar um palpite de que o Google escolha Java para a familiaridade, se nada mais. Muitos dos projetos do Google giram pelo menos conceitos de esquemas Java (GWT, por exemplo).

Além disso, é um idioma amplamente ensinado em escolas técnicas (ao contrário, digamos, Javascript (que o Android também apóia zelosamente)). O Java certamente não é a melhor linguagem para um dispositivo móvel em termos de desempenho e produção, mas é bem conhecido.

Lembre-se também de que o Android chegou um pouco atrasado para a festa. Forçar os desenvolvedores a usar o C ++, uma linguagem de compilação de baixo nível, tornaria mais difícil gerar um fator de "wow" e, se nada mais, o Android precisaria de números (de aplicativos) e flashiness para decolar.

    
por 21.03.2012 / 14:36
fonte
8

Não sei por que exatamente o Java foi escolhido, mas provavelmente por várias razões

  1. Para capturar o grande grupo de desenvolvedores que estão familiarizados e usam o Java

  2. Preencha a lacuna de dispositivos móveis em Java, onde existem tecnologias como o J2ME, em que o Java está ausente.

Em segundo lugar, não há Java Virtual Machine especificado para o Android. Em vez disso, todo o código Java é compilado para ser executado em Dalvik , que é uma VM leve e otimizada projetada especificamente para execução em ambientes móveis. Isso aumenta a duração da bateria e maximiza o uso eficiente de recursos.

    
por 21.03.2012 / 14:30
fonte