Android est un bras 32 bits. wiki p>
Description: P>
1) Donc, le compilateur 32/64 ou le 8/12/16 bit est disponible avec la langue D, sinon il peut être construit par un compilateur, si je ne me trompe pas? P>
2) Noyau standard Linux: Les bibliothèques écrites en C et dans d'autres langues peuvent être compilées pour armer WTIH D langue je crois, non seulement la langue D également possible avec C / C ++. p>
Selon les informations Wiki Android, commence ma confusion: p>
wiki: version modifiée du noyau Linux (ce n'est pas linux mais sa compatibilité matérielle de Linux de Linux, BeaSuse, donc je ne peux donc pas utiliser l'emballage RPM? Parce que ce n'est plus standard Linux?) P> LI>
wiki: tandis que la plupart des applications Android sont écrites en Java, il y a No Java Virtual Machine Strong> dans la plate-forme et le code d'octet Java n'est pas exécuté. Les classes Java sont compilées dans des exécutables Dalvik et fonctionnent sur la machine virtuelle Question: Pourquoi juste Android n'est pas écrit avec des langues D ni C / C ++?
Au lieu de faire face à tous ces mess, c'est la seule société prouvée que Bigtable dont ils avaient besoin (le monde ne peut résoudre pas encore la question) et la plate-forme mobile nécessite également des changements tels que Android? Quel est le problème avec la mise en œuvre de l'iPhone / Nokia alors? P>
Question: Pourquoi Android ne gère pas JVM, mais ils construisent un concept Java effectue une alternative Traitement JVM, au lieu de faire la même chose comme Meego ou autres.
Est-ce un terme marketing ou est-ce un terme technique? Ne peut-il pas être écrit en langage C / C ++ ou D uniquement l'ensemble de l'Android? Au lieu d'impliquer le concept de Java ou des concepts de mess? p>
Si oui, alors le navigateur de chrome-web pourquoi ils ont utilisé à nouveau C ++? Pourquoi pas seulement suivi Java également pour chrome-web? P>
C'est tout sur le point d'apprendre comment il est utilisé dans la vie pratique, à moi, c'est juste de savoir pourquoi ils ont fait un tel gâchis pour Android? Sommes-nous alors apprenant à apprendre des langues de programmation à une mauvaise qualité de l'université (sachant plus tard, OH Big Google vient d'utiliser Java pour Android)? P>
Merci d'avance, pour vos précieux conseils à ce sujet. P>
3 Réponses :
Je suppose que c'est parce que beaucoup de programmeurs connaissent Java et Java, pour toutes ses fautes en tant que langue, possède une excellente bibliothèque et un excellent support sur les outils. En outre, la couche d'indirection VM empêche les applications d'être trop étroitement couplées au matériel. p>
Pourquoi simplement Android n'est pas écrit avec des langues D ni C / C ++? p> blockQuote>
Parce qu'aucun d'entre eux n'est une langue entièrement gérée. D est em> les ordures collectées, mais vous pouvez également faire une gestion de la mémoire manuelle ... avec tous les risques qui entraînent. P>
En outre, car à partir d'une base Java (sous forme d'Apache Harmony, etc.) signifiait que: p>
- Les développeurs Java seraient en mesure de transition à Android et Li>
- Il y aurait moins de la mise en œuvre de l'équipe de développement Android. Li> ul>
Cependant, comme @Marchy souligne, ce n'était pas Google qui a rendu la décision initiale: p>
" ... google n'a pas construit Android. [Android Inc] était une startup qu'ils ont acheté et, en tant que startup, vous utilisez tout ce qui est là-bas et optimiser pour gagner de l'élan rapide et avec des ressources très limitées. ... EM> " P> blockQuote>
Bien que évidemment, Google ait eu une main, puisque (selon Wikipedia ) Google a aidé à financer Android Inc avant le rachat. p>
Pourquoi Android ne gère pas JVM, mais ils construisent un concept Java effectue une alternative Traitement JVM. P> blockQuote>
En fin de compte, car les restrictions que Sun / Oracle place sur la langue et la plate-forme Java auraient rendu impossible l'innovation de la manière dont Google a fait avec Android. Plus précisément, Sun / Oracle ne permettra pas aux fournisseurs de licence de mettre en œuvre Java SE sur des plates-formes mobiles. p>
Est-ce que nous apprenons ensuite les langages de programmation de mauvaise qualité. P> blockQuote>
Peut-être vous em> avez fait !! p>
Mais quand j'ai appris la programmation à l'université, c'était tout en œuvre que je n'utiliserais jamais certaines des langues que j'ai apprises. Par exemple, je n'ai jamais utilisé Algol-60, Simula-67, Snobol ou Langue de montage CDC depuis. Mais cela n'a pas invalidé les raisons qu'ils ont été enseignées, ou les précieuses leçons que j'ai gagnées pour les apprendre. P>
Vrai, quand vous dites une langue gérée. Le meilleur est www.purebasic.com Hélas, ils ne sont pas les langues autochtones. :)
Oui ... mais le problème réel est que les décisions linguistiques de programmation sont (d'une manière générale) fabriquées sur la base de critères plus importants B> que les mérites purement techniques des langues respectives.
Les gars n'oublions pas que Google n'a pas construit Android. C'était une startup qu'ils ont acheté et, en tant que startup, vous utilisez tout ce qui est là-bas et optimiser pour gagner de l'élan rapide et avec des ressources très limitées. D'une perspective architecturale Android contient de nombreuses erreurs de base importantes, telles qu'un cadre de présentation amateur limitant sévèrement la complexité de l'interface utilisateur grâce au manque de MVC (et à son hypothèse d'activité unique). Aucun article d'architecte de présentation expérimenté n'aurait jamais permis une telle limitation - le résultat est des applications qui ne peuvent pas atteindre UX comparables aux plates-formes telles que IOS.
@Marchy - D'autre part, ces erreurs n'ont probablement aucune différence pour le succès d'Android. Les mérites techniques / échecs dans le logiciel sous-jacent impact rarement sur le succès du marché ... à condition que les problèmes de convivialité des utilisateurs finaux soient bien gérés.
Un gros point qu'ils ont choisi Java sont des outils. Java a des tonnes d'outils déjà prouvés au travail, Eclipse étant le plus important d'entre eux pour l'équipe Android. Un autre point est que ce que l'équipe Android était construite un traducteur bytecode (JVM Bytecode à Dalvik Bytecode) afin que l'équipe Android a également utilisé des compilateurs Java traditionnels qui ne prennent que leur production et la traduisent.
Il y a beaucoup de programmeurs Java, tout un écosystème à construire. Beaucoup plus que D: P Un système d'exploitation La plupart des programmes d'une machine virtuelle ont de beaux avantages pour la sécurité (http://fr.wikipedia.org/wiki/language-based_system). Mais faire une exception pour une application très importante, du point de vue de l'utilisateur peut aider les performances. Le choix d'une JVM spécifique, il semble être clair, il est d'avoir quelque chose d'adapté aux ressources typiques intégrées. Je pense que Google choix est assez pragmatique à cet égard. P>
Pour l'enseignement des langues de l'université à l'université, je ne pense pas qu'il s'agisse d'apprendre la dernière langue à la mode. Il s'agit d'apprendre à apprendre des technologies liées à l'ordinateur, telles que les langages de programmation. Les concepts n'ont pas beaucoup changé depuis, disent 1960, 1970, bien que ce soit correct, leur mise en œuvre est différente. P>
Cela ressemble à un discours à moi.
Il y a tellement de déclarations mal informées dans cette question que je ne saurais pas où commencer.
Il est également important de noter que les courses Android sur le bras, les MIPS et X86. Java / Dalvik signifie qu'une application fonctionne sur tous ces processeurs, au lieu de devoir compiler une fois pour chacun. De plus, vous pouvez écrire C / C ++ (pas sûr de D) pour Android avec le NDK. (Une partie de cela pourrait être nouvelle puisque vous avez posté la question)