华为自研仓颉编程语言将于 7 月 30 日开源
在华为开发者大会HDC 2025期间,华为宣布仓颉编程语言将于7月30日开源。
2024 年 6 月,华为终端 BG 软件部总裁龚体宣布,下一代编程语言仓颉今日起正式开启预览。官网介绍显示,仓颉编程语言是一款面向全场景智能的新一代编程语言,主打智能化、全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。
其具体特性表现为:
高效编程:面向应用开发,希望语言能够易学易用,降低开发者入门门槛和开发过程中的心智负担,支持各种常见的开发范式和编程模式,让开发者简洁高效地表达各种业务逻辑。仓颉是一门多范式编程语言,支持函数式、命令式和面向对象等多种范式,包括值类型、类和接口、泛型、代数数据类型、模式匹配、以及高阶函数等特性。此外,仓颉还支持类型推断,能够减轻开发者类型标注的负担;通过一系列简明高效的语法,能够减少冗余书写、提升开发效率;语言内置的各种语法糖和宏(macro)的能力,支持开发者基于仓颉快速开发领域专用语言(DSL),构建领域抽象。
安全可靠:作为现代编程语言,仓颉追求编码即安全,通过静态类型系统和自动内存管理,确保程序的类型安全和 null safety 等内存安全;同时,仓颉还提供各种运行时检查,包括数组下标越界检查、类型转换检查、数值计算溢出检查、以及字符串编码合法性检查等,能够及时发现程序运行中的错误;此外,还通过代码扫描工具、混淆工具以及消毒器,进一步提供跨语言互操作安全和代码资产保护等支持。
轻松并发:并发和异步编程能够有效提高处理器利用率,并在交互式应用中确保程序的响应速度,是应用开发中必不可少的能力。仓颉语言实现了轻量化用户态线程和并发对象库,让高效并发变得轻松。仓颉语言采用用户态线程模型,每个仓颉线程都是极其轻量级的执行实体,拥有独立的执行上下文但共享内存。对开发者来说,用户态线程的使用和传统的系统线程的使用方式保持一致,没有带来额外负担;而从运行态视角看,线程的管理由运行时完成,不依赖操作系统的线程管理,因此线程的创建、调度和销毁等操作更加高效,且资源占用比系统线程更少。为了避免数据竞争,仓颉语言提供了并发对象库,并发对象的方法是线程安全的,因此在多线程中调用这些方法和串行编程没有区别,应用逻辑的开发者无需额外关心并发管理。对于一些核心库,仓颉还提供了无锁或者细粒度锁的算法实现,能够进一步减少线程的阻塞,提升并发度。
卓越性能:仓颉编译器及运行时从全栈对编译进行优化,包括编译器前端基于 CHIR(Cangjie HighLevel IR)高层编译优化(比如语义感知的循环优化、语义感知的后端协同优化等),基于后端的编译优化(比如:SLP 向量化、Intrinsic 优化、InlineCache、过程间指针优化、Barrier 优化等),基于运行时的优化(比如轻量锁、分布式标记、并发 Tracing 优化等),一系列的优化让仓颉充分发挥处理器能力,为应用提供卓越的性能支持。另外仓颉语言对运行时进行原生的轻量化设计,通过对运行时模块化分层设计,定义仓颉公共对象模型和运行时公共基础组件,基于公共对象模型,实现运行时的内存管理、回栈、异常处理、跨语言调用等基础能力,大幅减少多个能力间的冗余对象设计,精简运行时体积。同时通过包的按需加载技术,减少仓颉应用启动的冗余包内存开销,因此对于资源敏感设备,占用资源更少,支持更友好。
除此之外,仓颉还支持面向应用开发的一系列工具链,包括语言服务(高亮、联想)、调试(跨语言调试、线程级可视化调试)、静态检查、性能分析、包管理、文档生成、Mock 工具、测试框架、覆盖率工具、Fuzz 工具以及智能辅助编程工具,进一步提升软件开发体验以及效率。
相关阅读:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
首个 GraphRAG-Bench 如何评估九大 GraphRAG 性能?
导读:传统 RAG 遇瓶颈,复杂推理怎么办? GraphRAG 正成为知识管理新利器。 但关键问题来了:GraphRAG 真的超越了 RAG 吗?GraphRAG 哪家强?GraphRAG 性能评估标准有哪些?面针对不同场景需求如何选择?香港理工大学等学者在 6 月 3 日发表论文,重磅推出首个大规模、领域特定基准 GraphRAG-Bench,为技术选型提供硬核依据。 🔍本文翻译略有删减,论文原文如下 https://arxiv.org/pdf/2506.02404 本文首发于「NebulaGraph 技术社区」,更多产品资讯请访问「NebulaGraph 官网」 一、摘要 图检索增强生成(Graph Retrieval-Augmented Generation, GraphRAG)因其在结构化组织领域特定语料库并提升复杂推理能力的潜力,正日益受到认可。然而,当前 GraphRAG 模型的评估主要依赖传统的问答数据集。这些数据集在问题广度和评估指标上存在局限性,无法全面衡量 GraphRAG 模型所带来的推理能力提升。 为弥补这一不足,我们提出了 GraphRAG-Bench,这是...
- 下一篇
Ollama 已支持 RWKV-7 模型,可灵活开关思考模式
Ollama 最新版本已支持 RWKV7-G1 和 RWKV-7-World 系列模型。 3 月初,随着 RWKV 社区成员 @MollySophia 的 PR 被合并,llama.cpp 正式支持 RWKV-7 模型。Ollama 近期更新了最新版 llama.cpp,因此同步支持 RWKV-7 架构和对应模型。 Ollama 官方模型仓库现已包含 RWKV-7 系列模型(推荐使用 RWKV7-G1 系列模型): RWKV-G1:https://ollama.com/mollysama/rwkv-7-g1 RWKV-7-World:https://ollama.com/mollysama/rwkv-7-world 在 Ollama 中运行 RWKV 模型 以下是在 Ollama 中体验 RWKV-7 G1 2.9B 模型的最简路径。 在 https://ollama.com/download 页面,根据您的系统下载 Ollama 安装包: 下载完毕后,双击安装包以安装 Ollama。任务栏出现 Ollama 图标时,意味着安装已完成: 在终端中运行 ollama run mollys...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8安装Docker,最新的服务器搭配容器使用
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Red5直播服务器,属于Java语言的直播服务器
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS8编译安装MySQL8.0.19
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7设置SWAP分区,小内存服务器的救世主