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