那么问题来了,华为为HarmonyOS研发全新编程语言的成功率大概有多大?能否确保它成为被广泛使用并具备影响力的语言?
首先,研发编程语言虽然技术门槛不高,但同样需要具备一定的实力才行。
因为编程语言只是提供了功能调用的使用框架罢了,完善的编程语言还需要在框架内做好填充。比如编译型语言强调硬件资源的调用,脚本语言强调库函数的调用。一门语言能操控多少硬件资源和调用多少库函数,是语言能否流行的重要因素。
而且,编程语言的每一次飞跃都会在编程思想、软件实现、交互方式等方面带来巨大地提升,但是有多少人有自信说自己写的汇编代码可以比C/C++经过编译器优化后的代码更快?相信大多数人很难做到。
其次,华为打造的鸿蒙生态能为编程语言提供多大的需求空间。
在物联网世界,不同的物联网设备,可能应用开发者会采用不同的编程语言进行开发,同样有可能导致碎片化的风险。
目前所有应用生态几乎全部基于智能手机平台。虽然智能手表、智能电视、车机等IoT设备已经出现好几年,但是生态发展缓慢。在物联网设备越来越多的同时,设备协同能力不足的缺陷愈发凸显,导致物联网生态整体效率不高。
而统一的编程语言可以有效降低应用开发门槛,避免重复开发、二次开发的问题,帮助HarmonyOS实现弹性部署、超级终端、一次开发多端部署的核心价值。
余承东在今年的华为开发者大会上称,自从今年华为P50系列上市,首次在智能手机上搭载,迄今已有超过1.5亿设备使用HarmonyOS,包括智慧屏、平板、手表、智能音箱、IoT设备等。预计年底,搭载HarmonyOS的1+8产品将达到2亿。
HarmonyOS给所有应用开发者提供分布式编程框架,让大家用统一的编程语言,只写一次的业务逻辑就能够运行在所有设备上,可以最大限度地实现生态在各个孤立设备上的共享。
也就是说,华为相当于把研发的编程语言和鸿蒙生态进行了绑定,一荣俱荣,一损俱损。如果鸿蒙真的能挺过16%的生死线,并且站到物联网生态的顶端,那么为鸿蒙自研的编程语言还是很有想象力的。如果鸿蒙的物联网生态不太成功,自研的编程语言也很难发挥作用。
最后,还是要回到开头所述:世界上并没有完美的编程语言,任何语言在诞生之初,其缺陷就早已注定。
有些编程语言(例如Ruby和Ruby on Rails),由于运行时的速度和启动速度不够快,无法支持全面的商业产品。而有些语言(比如PHP),由于安全性的问题导致Facebook等公司逐渐放弃了使用。
这几年来Java虽然保持着顽强的生命力,在 TIOBE 指数上稳居榜首,也一直是 Android 开发的定义语言。但随着 Kotlin 被更广泛地采用,它的地位也受到了冲击。
因此,大多数具有一定成熟度的系统或生态在发展的过程中,也有可能会再去选择第二种语言,然后是第三种语言。时代在发展,语言在发展,系统的需求在发展,下一代程序员也在进步。
另外,开发效率和运行效率也像鱼和熊掌一样,两者不可兼得。
如果研发的编程语言偏向底层,过于低级,虽然运行效率会比较高,但是开发起来比较困难,对于开发者不太友好;如果研发的编程语言偏向于高级语言,虽然开发程序容易,但是却会牺牲运行效率,这也是华为需要去考虑的因素。
昔者苍颉作书,而天雨粟、鬼夜哭。如今在这个互联网时代,组成庞大数字世界的则是一行行代码,华为能否真的在数字时代再现“仓颉”,令人期待。