Android是32位ARM。 维基
描述:
1)那么,32/64或8/12/16位编译器是可用的D语言,如果不是可以由编译器build立,如果我没有错?
2)Linux标准内核:用C语言和其他语言编写的库可以编译为具有D语言的ARM,我相信不仅D语言也可以用C / C ++。
据Android维基信息开始我的困惑:
wiki:Linux内核的修改版本(它不是linux,但是它的修改过的linux,因为硬件兼容性?所以我不能使用RPM打包?因为它不是标准的linux了?)
wiki:虽然大多数Android应用程序都是用Java编写的,但平台上没有Java虚拟机 ,Java字节码也不能执行。 Java类被编译成Dalvik可执行文件并在Dalvik虚拟机上运行。 Dalvik是专门为Androiddevise的专用虚拟机,针对内存和CPU有限的电池供电移动设备进行了优化。 J2ME支持可以通过第三方应用程序提供。
问题:为什么Android不是用D或C / C ++语言编写的? 而不是处理所有这些混乱,这是唯一的公司certificate他们需要的Bigtable(世界不能解决那里问题)和移动平台也需要改变,如Android? 那么iPhone /诺基亚实施有什么问题?
问题:为什么Android不运行JVM,但是他们构build了一个Java概念来执行替代JVM处理,而不是像MeeGo或其他类似的方法。 这是一个营销条款还是一个技术术语? 不能用C / C ++或D语言编写只有整个Android? 而不是涉及Java概念或混乱概念?
如果是的话,那么Chromium-web浏览器为什么再次使用C ++? 为什么不只跟随爪哇也为Chromiumnetworking?
它的一切都要了解它如何在实际生活中得到应用,对我来说,它只是为了知道为什么他们为Android做了这样的混乱? 那么我们是否在大学学习了编程语言的错误方式(后来知道Big Google刚刚使用Java for Android)?
在此先感谢您的宝贵意见。
为什么Android不是用D或C / C ++语言编写的?
因为它们都不是完全托pipe的语言。 D 是垃圾收集,但你也可以做手动内存pipe理…带来的所有风险。
另外,因为从Java基础(以Apache Harmony等forms)开始意味着:
然而,正如@Marchy所指出的那样,谷歌并不是最初的决定:
“ … Google并没有Build Android,他们买的是一家创业公司,作为一个创业公司,你可以使用任何东西,通过优化来获得快速的动力和极其有限的资源…… ”
尽pipe显然谷歌确实有一个手,因为(据维基百科 )谷歌在收购之前帮助Android公司融资。
为什么Android不运行JVM,但是他们构build了一个Java概念来执行替代的JVM处理。
最终,由于Sun / Oracle对Java语言和平台的限制,使得Google无法像Android那样进行创新。 具体而言,Sun / Oracle不会授权供应商在移动平台上实施Java SE。
那么我们是否在大学里错误地学习了编程语言呢?
也许你做了!
但是当我在大学学习编程时,完全知道我从来不会使用一些我被教授的语言。 例如,我从来没有使用Algol-60,Simula-67,SNOBOL或CDC汇编语言。 但是,这并没有使他们受教的原因无效,或者我在学习中获得的宝贵教训。
我想这是因为很多程序员都熟悉Java和Java,因为它作为一种语言的所有缺陷,都有出色的库和工具支持。 另外,虚拟机间接层防止应用程序与硬件耦合过紧。
有很多Java程序员,整个生态系统的基础上。 远远超过D:p在虚拟机上运行大部分程序的操作系统对安全性(http://en.wikipedia.org/wiki/Language-based_system)具有很好的优势。 但是,从用户的angular度来看,对于一个非常重要的应用程序来说,做一些例外可以提高性能。 一个特定的JVM的select,似乎很清楚,是有一些东西适应典型的embedded式资源。 我认为Google在这方面的select非常实用。
对于大学语言教学(咆哮?),我不认为是学习最新的时尚语言。 这是学习如何学习计算机相关的技术,如编程语言。 从1960年代到1970年代,这些概念并没有太大的改变,尽pipe这些概念的实施是不同的。