第1071章 仓頡的路线之爭(1/2)
而此刻会议室的另一边,终端bg总裁姚尘风看著台上正在详细讲解技术细节的余新峰,脑海中也不由浮现出“仓頡”项目启动初期,团队內部关於技术路线的那场激烈爭论。
这支由余新峰组建起来的程式语言团队,虽然匯聚了一批国內优秀的青年才俊,但他们中的大多数人,此前並没有从头开始设计和开发大型通用程式语言的完整经验。
大家都清楚,通用语言的技术难度和复杂性,远高於为特定领域设计的专用语言。
在“仓頡”语言的起步路线上,团队內部出现了明显的分歧。
有一部分专家提出,应该基於javascript语言进行改进和增强。
他们的理由很充分:
javascript在web前端领域占据著绝对的统治地位,生態极其繁荣,像微信小程序等国民级应用,其技术底座就与javascript密切相关。
javascript的优势在於开发便捷、敏捷性强、动態类型灵活、无需编译即可运行,学习和上手成本相对较低。
但是,这个提议几乎被华兴高层和余新峰团队核心毫不犹豫地否决了。
为什么?因为安全性!
javascript作为动態类型语言,其在类型安全方面的天然劣势,是其无法逾越的鸿沟。
而对於华兴立志要打造面向万物互联时代的鸿蒙作业系统而言,安全性是底线,是生命线!
开放的鸿蒙生態需要应对来自全球各种复杂场景和潜在威胁,任何可能引入安全漏洞的技术选择都是不可接受的。
缺乏严格类型检查的动態语言,在大型复杂项目开发中,更容易出现难以在编译期发现的潜在错误,这对系统安全是致命的。
此外,在性能方面,动態类型语言在运行时需要进行类型判断和转换,其执行效率、內存占用和功耗控制,往往难以满足鸿蒙系统对多种终端设备(尤其是资源受限的iot设备)的苛刻要求。
选择javascript路线,无异於从一开始就背上了沉重的“歷史技术债务”,未来將步履维艰。
经过审慎的评估与激烈的討论,华兴最终拍板:
“仓頡”必须定位为一款自研的、静態类型的程式语言。
它的对標对象,是苹果的swift、安卓早期依赖的java和现在主推的kotlin这些成功应用於大型移动生態的语言,无一例外都是静態类型。
静態类型语言在编译阶段就能发现大量类型错误,极大地提升了代码的健壮性和安全性。
同时,由於其类型信息在编译期確定,编译器可以进行更深层次的优化,通常能带来更好的运行时性能。
当然,华兴也考虑到开发者的习惯和迁移成本。
为了让来自不同技术背景的开发者能够相对平滑地过渡到“仓頡”,团队决定採用“多范式”的语言设计策略。
这意味著“仓頡”会借鑑和融合多种编程范式中通行的、优秀的表达方式,儘量让它的语法和特性与一些主流的编程风格保持近似性。
姚尘风回想起余新峰当时的解释:
“我们可以把『仓頡』看作类似swift那种集大成的语言,它应该能让熟悉苹果或安卓开发的开发者,感受到一种技术上的亲近感,从而更容易切换到『仓頡』上进行开发。”
团队在每一个语言特性的设计上都投入了大量精力进行重新思考和自主实现,力求做到既先进又实用。
“所以,”余新峰曾总结道。
“等到『仓頡』语言正式发布后,我们给开发者的选择会是灵活的。
本章未完,点击下一页继续阅读。