开发自己的编程语言,开发自己的编程语言有哪些
开发鸿蒙app需要什么编程语言,什么时候开发工具?
估计鸿蒙应该会以之前华为已经公布的方舟编译器为应用生态的核心,即将所有安卓程序编译为本机代码。所以题主的问题会转变为“方舟编译器支持编译什么语言”?
之前华为公布的方舟编译器提出的主要特色就是不再“一边运行一边翻译”,流畅度可以提升60%,那么可以推断方舟编译器多半是一个将程序源码编译为本机机器代码的这么一个编译器了。那么对于一个编译器来说,主要要讨论的有输入和输出两个方面。
方舟编译器至少应该包含一个java编译器,因为目前安卓程序大多还是***用Java进行开发,现有大量的JAVA遗产代码支撑起了安卓的生态(还包括部分J***a生态)。
方舟编译器也应该包含一个Dalvik字节码编译器,如此还可以将已经编译好的DEX字节码程序编译为本机代码,既然对J***a编译器都已经搞定,搞定字节码编译也并不难。
虽然Kotlin已经被宣布成为安卓开发的第一语言,但开发社区转向Kotlin还需要时日,方舟编译器未来应该也要考虑对Kotlin的支持。
此外借道Xamarin的C#也能开发安卓程序,但是使用者寥寥,如果方舟编译器也能支持编译Xamarin的.net字节码库,那未来可以把Windows生态也拉入到鸿蒙的阵营。
ARM指令集,这是必须的了,因为华为自己的麒麟芯就是基于ARM8做出来的。所以方舟编译器首先会确保编译出来的程序能够在ARM芯片上运行,并且方舟编译器可能还会支持华为自己的指令扩展包括对麒麟芯内部AI单元的指令。这将是近期策略,毋庸置疑。
X86指令集,考虑到美国的打压,微软可能停止向华为提供Windows系统授权,那么华为需要在自己未来的X86 PC上部署自己的操作系统,那么可能也需要从基础上支持X86指令集。再考虑到INTEL,AMD等X86 CPU供应商也可能掣肘。那么还有国内获得了X86授权的国产CPU,他们这两年也逐渐将产品性能赶上来了。到时候华为如果不用Intel和AMD的芯片,还可以用国产CPU,性能问题随着摩尔效应收窄,和国产工艺迎头赶上,加上市场空间的转移,国产CPU会大有所为。所以华为的方舟编译器也要扶持这部分生态。
如果让我设计,我肯定还用J***a,甚至可以提供一键导入Eclipse、AS工程的功能,让原有的Android工程以最小代价移植到新操作系统上来,降低移植工作量。如果***用其他语言,就涉及到完全重新编码、测试,我肯定是下不定决心的,除非有特别大量的潜在用户,或者是有补贴。
这个还真没消息。估计j***a在甲骨文大老板放厥词后,中国用的人会逐步减少。毕竟风险太大了。而且j***a是面向对象语言,适配目前流行的函数范式,怎么也是打补丁。比较而言swift、kotlin、scala从设计之初就同时考虑对象范式和函数范式要麻烦的多。苹果放弃在object c上搞函数范式,而新开发swift就是这个意思,kotlin之所以离开j***a另立门户也是同样考虑。先行多年的scala就因为其函数范式的并行便利,在大数据的spark技术栈有明显优势。同样面临cpu单核性能极限,终端应用软件也在迅速靠近函数范式,所以才有swift和kotlin这种东西。函数范式是把程序员的串行思维编译成适应多核的并行代码重要思路。所以,华为想用堆核心解决cpu性能问题,应该也是会考虑语言问题的,也会想用函数范式语言才对。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/15730.html