第1071章 仓頡的路线之爭
重生后我只做正確选择 作者:佚名
第1071章 仓頡的路线之爭
而此刻会议室的另一边,终端bg总裁姚尘风看著台上正在详细讲解技术细节的余新峰,脑海中也不由浮现出“仓頡”项目启动初期,团队內部关於技术路线的那场激烈爭论。
这支由余新峰组建起来的程式语言团队,虽然匯聚了一批国內优秀的青年才俊,但他们中的大多数人,此前並没有从头开始设计和开发大型通用程式语言的完整经验。
大家都清楚,通用语言的技术难度和复杂性,远高於为特定领域设计的专用语言。
在“仓頡”语言的起步路线上,团队內部出现了明显的分歧。
有一部分专家提出,应该基於javascript语言进行改进和增强。
他们的理由很充分:
javascript在web前端领域占据著绝对的统治地位,生態极其繁荣,像微信小程序等国民级应用,其技术底座就与javascript密切相关。
javascript的优势在於开发便捷、敏捷性强、动態类型灵活、无需编译即可运行,学习和上手成本相对较低。
但是,这个提议几乎被华兴高层和余新峰团队核心毫不犹豫地否决了。
为什么?因为安全性!
javascript作为动態类型语言,其在类型安全方面的天然劣势,是其无法逾越的鸿沟。
而对於华兴立志要打造面向万物互联时代的鸿蒙作业系统而言,安全性是底线,是生命线!
开放的鸿蒙生態需要应对来自全球各种复杂场景和潜在威胁,任何可能引入安全漏洞的技术选择都是不可接受的。
缺乏严格类型检查的动態语言,在大型复杂项目开发中,更容易出现难以在编译期发现的潜在错误,这对系统安全是致命的。
此外,在性能方面,动態类型语言在运行时需要进行类型判断和转换,其执行效率、內存占用和功耗控制,往往难以满足鸿蒙系统对多种终端设备(尤其是资源受限的iot设备)的苛刻要求。
选择javascript路线,无异於从一开始就背上了沉重的“歷史技术债务”,未来將步履维艰。
经过审慎的评估与激烈的討论,华兴最终拍板:
“仓頡”必须定位为一款自研的、静態类型的程式语言。
它的对標对象,是苹果的swift、安卓早期依赖的java和现在主推的kotlin这些成功应用於大型移动生態的语言,无一例外都是静態类型。
静態类型语言在编译阶段就能发现大量类型错误,极大地提升了代码的健壮性和安全性。
同时,由於其类型信息在编译期確定,编译器可以进行更深层次的优化,通常能带来更好的运行时性能。
当然,华兴也考虑到开发者的习惯和迁移成本。
为了让来自不同技术背景的开发者能够相对平滑地过渡到“仓頡”,团队决定採用“多范式”的语言设计策略。
这意味著“仓頡”会借鑑和融合多种编程范式中通行的、优秀的表达方式,儘量让它的语法和特性与一些主流的编程风格保持近似性。
姚尘风回想起余新峰当时的解释:
“我们可以把『仓頡』看作类似swift那种集大成的语言,它应该能让熟悉苹果或安卓开发的开发者,感受到一种技术上的亲近感,从而更容易切换到『仓頡』上进行开发。”
团队在每一个语言特性的设计上都投入了大量精力进行重新思考和自主实现,力求做到既先进又实用。
“所以,”余新峰曾总结道。
“等到『仓頡』语言正式发布后,我们给开发者的选择会是灵活的。
习惯用我们基於typescript扩展的arkts的开发者,可以继续使用arkts;
而追求更高性能、更强类型安全的开发者,则可以选用『仓頡』。
『仓頡』的目的,不是在开发者工具箱里替换掉別的工具,而是为他们增加一种更强大、更可靠的新选择。”
姚尘风对此深表赞同。
生態建设不能一蹴而就,更需要给开发者足够的过渡空间和选择权。
“仓頡”的价值,在於为华兴未来的生態发展,提供一个更具潜力、更自主可控的底层技术选项。
演示告一段落,余新峰开始向各位董事匯报“仓頡”项目具体的推进过程。
他的语气逐渐变得沉稳,充满了技术人的篤定。
“从2019年8月1日项目正式立项起,我们程式语言实验室就开始了紧张的研发工作。”
余新峰操作ppt,展示著项目里程碑图。
“但一门程式语言的成熟,不仅仅在於语言本身的设计和编译器实现,更在於它能否经得起真实业务场景的考验,需要强大的標准库、框架和工具链支撑。”
他目光扫过在场的各位高管,重点看向了姚尘风和陈默:
“幸运的是,我们並非孤军奋战。
在公司的大力协调下,除了我们核心的程式语言团队,华兴其他產品线的兄弟团队也很快加入进来,为我们提供了宝贵的『试验田』。”
他切换了一张ppt,上面显示著“数据通信產品线”的字样和一些网络设备的图片。
“我们选定的第一个內部深度试用场景,是公司强大的数据通信產品线。”
余新峰解释道:
“选择这里,主要有几个原因。
首先,负责数据通信软体和创新的主要领导和专家刘子昂总,他本身就是我们中央软体院编译器和程式语言实验室的创始人之一,对程式语言和底层技术有著深刻的理解和情怀,给予了我们极大的支持。”
“其次,也是更重要的一点,”他加重了语气。
“数据通信產品线对软体的质量要求极高!
通信设备需要7x24小时稳定运行,对软体的可靠性、性能、安全性有著近乎苛刻的標准。
尤其是在追求商用化的过程中,从编程风格、代码规范、静態检查工具,到动態测试、调试工具,都需要一套完整、严谨的流程和体系。”
“这对於尚处在发展初期的『仓頡』语言来说,是一个绝佳的、全方位的试炼环境。”
余新峰脸上露出一丝感激的笑容。
“数据通信產品线的同事们,愿意冒著一定的风险,將他们部分非核心但关键的模块,尝试用『仓頡』进行重构或新开发。
这过程中,我们暴露问题、解决问题,共同打磨『仓頡』的语言特性、编译器稳定性、调试工具链的易用性。
每一个bug的修復,每一次性能的优化,都让『仓頡』变得更加坚实。”
他展示了一些內部数据:
第1071章 仓頡的路线之爭
而此刻会议室的另一边,终端bg总裁姚尘风看著台上正在详细讲解技术细节的余新峰,脑海中也不由浮现出“仓頡”项目启动初期,团队內部关於技术路线的那场激烈爭论。
这支由余新峰组建起来的程式语言团队,虽然匯聚了一批国內优秀的青年才俊,但他们中的大多数人,此前並没有从头开始设计和开发大型通用程式语言的完整经验。
大家都清楚,通用语言的技术难度和复杂性,远高於为特定领域设计的专用语言。
在“仓頡”语言的起步路线上,团队內部出现了明显的分歧。
有一部分专家提出,应该基於javascript语言进行改进和增强。
他们的理由很充分:
javascript在web前端领域占据著绝对的统治地位,生態极其繁荣,像微信小程序等国民级应用,其技术底座就与javascript密切相关。
javascript的优势在於开发便捷、敏捷性强、动態类型灵活、无需编译即可运行,学习和上手成本相对较低。
但是,这个提议几乎被华兴高层和余新峰团队核心毫不犹豫地否决了。
为什么?因为安全性!
javascript作为动態类型语言,其在类型安全方面的天然劣势,是其无法逾越的鸿沟。
而对於华兴立志要打造面向万物互联时代的鸿蒙作业系统而言,安全性是底线,是生命线!
开放的鸿蒙生態需要应对来自全球各种复杂场景和潜在威胁,任何可能引入安全漏洞的技术选择都是不可接受的。
缺乏严格类型检查的动態语言,在大型复杂项目开发中,更容易出现难以在编译期发现的潜在错误,这对系统安全是致命的。
此外,在性能方面,动態类型语言在运行时需要进行类型判断和转换,其执行效率、內存占用和功耗控制,往往难以满足鸿蒙系统对多种终端设备(尤其是资源受限的iot设备)的苛刻要求。
选择javascript路线,无异於从一开始就背上了沉重的“歷史技术债务”,未来將步履维艰。
经过审慎的评估与激烈的討论,华兴最终拍板:
“仓頡”必须定位为一款自研的、静態类型的程式语言。
它的对標对象,是苹果的swift、安卓早期依赖的java和现在主推的kotlin这些成功应用於大型移动生態的语言,无一例外都是静態类型。
静態类型语言在编译阶段就能发现大量类型错误,极大地提升了代码的健壮性和安全性。
同时,由於其类型信息在编译期確定,编译器可以进行更深层次的优化,通常能带来更好的运行时性能。
当然,华兴也考虑到开发者的习惯和迁移成本。
为了让来自不同技术背景的开发者能够相对平滑地过渡到“仓頡”,团队决定採用“多范式”的语言设计策略。
这意味著“仓頡”会借鑑和融合多种编程范式中通行的、优秀的表达方式,儘量让它的语法和特性与一些主流的编程风格保持近似性。
姚尘风回想起余新峰当时的解释:
“我们可以把『仓頡』看作类似swift那种集大成的语言,它应该能让熟悉苹果或安卓开发的开发者,感受到一种技术上的亲近感,从而更容易切换到『仓頡』上进行开发。”
团队在每一个语言特性的设计上都投入了大量精力进行重新思考和自主实现,力求做到既先进又实用。
“所以,”余新峰曾总结道。
“等到『仓頡』语言正式发布后,我们给开发者的选择会是灵活的。
习惯用我们基於typescript扩展的arkts的开发者,可以继续使用arkts;
而追求更高性能、更强类型安全的开发者,则可以选用『仓頡』。
『仓頡』的目的,不是在开发者工具箱里替换掉別的工具,而是为他们增加一种更强大、更可靠的新选择。”
姚尘风对此深表赞同。
生態建设不能一蹴而就,更需要给开发者足够的过渡空间和选择权。
“仓頡”的价值,在於为华兴未来的生態发展,提供一个更具潜力、更自主可控的底层技术选项。
演示告一段落,余新峰开始向各位董事匯报“仓頡”项目具体的推进过程。
他的语气逐渐变得沉稳,充满了技术人的篤定。
“从2019年8月1日项目正式立项起,我们程式语言实验室就开始了紧张的研发工作。”
余新峰操作ppt,展示著项目里程碑图。
“但一门程式语言的成熟,不仅仅在於语言本身的设计和编译器实现,更在於它能否经得起真实业务场景的考验,需要强大的標准库、框架和工具链支撑。”
他目光扫过在场的各位高管,重点看向了姚尘风和陈默:
“幸运的是,我们並非孤军奋战。
在公司的大力协调下,除了我们核心的程式语言团队,华兴其他產品线的兄弟团队也很快加入进来,为我们提供了宝贵的『试验田』。”
他切换了一张ppt,上面显示著“数据通信產品线”的字样和一些网络设备的图片。
“我们选定的第一个內部深度试用场景,是公司强大的数据通信產品线。”
余新峰解释道:
“选择这里,主要有几个原因。
首先,负责数据通信软体和创新的主要领导和专家刘子昂总,他本身就是我们中央软体院编译器和程式语言实验室的创始人之一,对程式语言和底层技术有著深刻的理解和情怀,给予了我们极大的支持。”
“其次,也是更重要的一点,”他加重了语气。
“数据通信產品线对软体的质量要求极高!
通信设备需要7x24小时稳定运行,对软体的可靠性、性能、安全性有著近乎苛刻的標准。
尤其是在追求商用化的过程中,从编程风格、代码规范、静態检查工具,到动態测试、调试工具,都需要一套完整、严谨的流程和体系。”
“这对於尚处在发展初期的『仓頡』语言来说,是一个绝佳的、全方位的试炼环境。”
余新峰脸上露出一丝感激的笑容。
“数据通信產品线的同事们,愿意冒著一定的风险,將他们部分非核心但关键的模块,尝试用『仓頡』进行重构或新开发。
这过程中,我们暴露问题、解决问题,共同打磨『仓頡』的语言特性、编译器稳定性、调试工具链的易用性。
每一个bug的修復,每一次性能的优化,都让『仓頡』变得更加坚实。”
他展示了一些內部数据: