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 baixo uso de memória seja muito importante em dispositivos móveis. Existe alguma vantagem real em usar Java em vez de uma linguagem como C ++ em um dispositivo móvel?
46
Respostas:
Este artigo lança alguma luz sobre a situação. O link mais pertinente nesse artigo é esse . Então você tem uma base de instalação massiva com muitos programadores que conhecem o idioma e é amplamente ensinado nas universidades. C ++ foi retirado do currículo da minha escola, Java ainda está aqui. Java possui Java ME, que possui uma base de instalação massiva em outros celulares. O Pantec Ease que tenho no meu bolso agora tem uma xícara de café no canto da tela. Alguém quer adivinhar o que é isso?
Esta resposta no Stack Overflow cobre muito bem também.
Resumo da resposta do SO:
fonte
Arriscarei um palpite de que o Google escolha Java por familiaridade, se nada mais. Muitos dos projetos do Google envolvem pelo menos conceitos de esquemas Java (GWT, por exemplo).
Além disso, é uma linguagem amplamente ensinada nas escolas técnicas (diferentemente do Javascript (que o Android também suporta 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 tarde para a festa. Forçar os desenvolvedores a usar o C ++, uma linguagem de compilação de baixo nível, dificultaria a geração de um fator 'uau' e, se nada mais, o Android precisava de números (de aplicativos) e brilho para decolar.
fonte
Não sei por que exatamente o Java foi escolhido, mas provavelmente foi por várias razões
Para capturar o grande grupo de desenvolvedores que estão familiarizados e usam Java
Preencha a lacuna móvel em Java, onde tecnologias como J2ME estão ausentes.
Em segundo lugar, não há Java Virtual Machine especificado para Android. Em vez disso, todo o código Java é compilado para execução no Dalvik , que é uma VM leve e otimizada, projetada especificamente para execução em ambientes móveis. Supostamente aumenta a vida da bateria e maximiza o uso eficiente dos recursos.
fonte