❶ 华为将发布自研鸿蒙编程语言,这意味着什么
华为在再次推出了全新的OpenEuler操作系统,这是华为推出专为数字基础设施而打造的一款操作系统,华为高管也直接表示,未来OpenEuler 和 OpenHarmony将共享核心技术、安全新、编程语言、设备驱动程序框架、分布式软总线以及生态互通等能力。
同时还会为这两款操作系统推出的全新编程语言,在华为开发者大会上,华为消费者业务软件部总裁龚体宣布,华为将发布为HarmonyOS全新研发的编程语言。目前国内熟知的编程语言诸如Java、Python等都是由国外开发的,华为这波太强了。
华为提前揭秘鸿蒙系统3.0版本的一些特性。鸿蒙系统3.0将围绕系统架构、超级终端、一次开发多端部署、三个核心价值持续创新,带来系统能力、开发工具的全面升级。
按照乐观估计,华为Mate50系列手机有望明年第一季度发布,鸿蒙系统3.0正式版有望同期亮相,期待华为带来更多的惊喜,打造出媲美甚至超越苹果的生态系统,为用户提供更多的便利。
❷ 华为自研编程语言“仓颉”来了!鸿蒙应用开发新语言,性能优于 Java、Go、Swift
仓颉编程语言,华为自主研发的国产自主编程语言,于HDC 2024正式发布,旨在为开发者提供友好开发体验和卓越程序性能。随着万物互联和智能时代的到来,软件开发对编程语言提出了新的需求。仓颉语言面向全场景应用开发,拥有现代语言特性的集成、全方位的编译优化和运行时实现,以及开箱即用的IDE工具链支持,是专为智能化、端边云协同等新场景设计的下一代编程语言。
当前,鸿蒙原生应用开发中,广泛使用了支持声明式UI和一次开发、多端部署的ArkTS语言。仓颉语言作为面向未来的编程语言,已完成设计与实现,并启动了开发者预览,未来将与ArkTS共同发展,为开发者提供极致高效的开发体验。
仓颉编程语言填补了国产编程语言的空白,当前中国开发者使用的主流编程语言主要为Java、JavaScript、Python等,这些语言大多由国外厂商及科研机构把控。在全球编程语言发展水平的高地,主要集中在欧洲和美国。丹麦、荷兰、瑞士等国家在编程语言领域有重要贡献。值得注意的是,在当前复杂的国际形势下,多数主流编程语言可能存在断供风险,例如Java和Go语言的主导性和控制性。
构建编程语言周期长,挑战大。国内尚无规模商用的自研编程语言,国产编程语言稀缺,仅有Go语言的爱好者发起的凹语言、Go+语言、易语言、MoonBit等。国产编程语言的自主可控成为工业和信息化部十四五规划的一项重点工作。
仓颉编程语言定位为现代编程语言,主打高效编程、安全可靠、轻松并发、卓越性能、敏捷扩展,设计时在安全性、易用性和性能之间进行了权衡。它选择居于动态脚本语言和系统编程语言之间,被设计为具备自动内存管理功能、静态类型、面向应用开发的语言,注重“语法简洁低噪音,且能面向领域易扩展”,在性能上注重“垂直整合、性能可伸缩、稳定可预期”,在安全上注重“缺省模式安全、强化编译期安全约束”。
仓颉编程语言在性能上取得了明显优势,在计算机语言基准测试Benchmarks Game上表现优秀。它还支持面向应用开发的一系列工具链,包括语言服务、调试、静态检查、性能分析、包管理、文档生成、Mock工具、测试框架、覆盖率工具、Fuzz工具以及智能辅助编程工具,进一步提升软件开发体验以及效率。
仓颉编程语言特性完备,支持函数式、命令式和面向对象等多种编程范式,包括值类型、类和接口、泛型、代数数据类型、模式匹配、以及高阶函数等特性。它还支持类型推断,降低开发者类型标注的负担,通过一系列简明高效的语法减少冗余书写,提升开发效率,内置语法糖和宏的能力支持开发者快速开发领域专用语言(DSL),构建领域抽象。
仓颉编程语言提供了多方面技术特色,包括函数是一等公民、高效并发、轻量化线程模型、跨语言互操作和原生智能化。其中,仓颉的线程采用M:N线程模型,是用户态的轻量级线程,支持抢占,内存资源占用更小,轻松实现数千甚至数万个并发任务。仓颉还支持与C、ArkTS/JS、Python等编程语言的互操作,采用便捷的声明式编程范式实现对其他语言库的高效复用和生态兼容。仓颉编程语言通过调试器cjdb提供源码级调试能力,支持跨语言调试,最大程度上提升用户调试体验。
仓颉编程语言正在构建AI原生能力,提供原生AI能力简化开发难度,AI相关功能如模型部署、智能决策等成为语言表达力的一部分,带来高效的开发体验。仓颉团队正尝试构建Agent DSL,一种专为AI Agent开发和多Agent协同设计的领域特定语言,提供内嵌在仓颉语言中的DSL能力,使开发者无需额外学习复杂的库和框架,通过DSL简单直观地使用AI功能。
仓颉编程语言还构建了原生AI应用框架,与语言原生配合给开发者带来全场景智能化时代的应用编程新体验。仓颉团队正在构建的AI赋能能力,希望通过简洁的语法表达降低开发者编写AI应用的门槛,提升AI应用开发的效率,使代码更精准地对应AI Agent的操作、决策过程。