华为仓颉编程语言正式亮相


华为终端BG软件部总裁龚体宣布,下一代编程语言仓颉今日起正式开启预览。

仓颉编程语言官网:https://developer.huawei.com/consumer/cn/cangjie/

仓颉编程语言作为一款面向全场景应用开发的现代编程语言,通过现代语言特性的集成、全方位的编译优化和运行时实现、以及开箱即用的IDE工具链支持,为开发者打造友好开发体验和卓越程序性能。其具体特性表现为:

  • 高效编程:面向应用开发,我们希望语言能够易学易用,降低开发者入门门槛和开发过程中的心智负担,支持各种常见的开发范式和编程模式,让开发者简洁高效地表达各种业务逻辑。仓颉是一门多范式编程语言,支持函数式、命令式和面向对象等多种范式,包括值类型、类和接口、泛型、代数数据类型、模式匹配、以及高阶函数等特性。此外,仓颉还支持类型推断,能够降低开发者类型标注的负担;通过一系列简明高效的语法,能够减少冗余书写、提升开发效率;语言内置的各种语法糖和宏(macro)的能力,支持开发者基于仓颉快速开发领域专用语言(DSL),构建领域抽象。

  • 安全可靠:作为现代编程语言,仓颉追求编码即安全,通过静态类型系统和自动内存管理,确保程序的类型安全和null safety等内存安全;同时,仓颉还提供各种运行时检查,包括数组下标越界检查、类型转换检查、数值计算溢出检查、以及字符串编码合法性检查等,能够及时发现程序运行中的错误;此外,还通过代码扫描工具、混淆工具以及消毒器,进一步提供跨语言互操作安全和代码资产保护等支持。

  • 轻松并发:并发和异步编程能够有效提高处理器利用率,并在交互式应用中确保程序的响应速度,是应用开发中必不可少的能力。仓颉语言实现了轻量化用户态线程和并发对象库,让高效并发变得轻松。

    仓颉语言采用用户态线程模型,每个仓颉线程都是极其轻量级的执行实体,拥有独立的执行上下文但共享内存。对开发者来说,用户态线程的使用和传统的系统线程的使用方式保持一致,没有带来额外负担;而从运行态视角看,线程的管理由运行时完成,不依赖操作系统的线程管理,因此线程的创建、调度和销毁等操作更加高效,且资源占用比系统线程更少。为了避免数据竞争,仓颉语言提供了并发对象库,并发对象的方法是线程安全的,因此在多线程中调用这些方法和串行编程没有区别,应用逻辑的开发者无需额外关心并发管理。对于一些核心库,仓颉还提供了无锁或者细粒度锁的算法实现,能够进一步减少线程的阻塞,提升并发度。

  • 卓越性能:仓颉编译器及运行时从全栈对编译进行优化,包括编译器前端基于CHIR(Cangjie HighLevel IR)高层编译优化(比如语义感知的循环优化、语义感知的后端协同优化等),基于后端的编译优化(比如:SLP向量化、Intrinsic优化、InlineCache、过程间指针优化、Barrier优化等),基于运行时的优化(比如轻量锁、分布式标记、并发Tracing优化等),一系列的优化让仓颉充分发挥处理器能力,为应用提供卓越的性能支持。另外仓颉语言对运行时进行原生的轻量化设计,通过对运行时模块化分层设计,定义仓颉公共对象模型和运行时公共基础组件,基于公共对象模型,实现运行时的内存管理、回栈、异常处理、跨语言调用等基础能力,大幅减少多个能力间的冗余对象设计,精简运行时体积。同时通过包的按需加载技术,减少仓颉应用启动的冗余包内存开销,因此对于资源敏感设备,占用资源更少,支持更友好。

除此之外,仓颉还支持面向应用开发的一系列工具链,包括语言服务(高亮、联想)、调试(跨语言调试、线程级可视化调试)、静态检查、性能分析、包管理、文档生成、Mock工具、测试框架、覆盖率工具、Fuzz工具以及智能辅助编程工具,进一步提升软件开发体验以及效率。以下我们将围绕上述几个方面介绍仓颉语言的主要特性,让读者能够快速了解仓颉语言的定位和主要技术特色。

《仓颉编程语言白皮书》在线阅读:

https://developer.huawei.com/consumer/cn/doc/openharmony-cangjie/cj-wp-abstract


相關推薦

2024-06-27

应用,全新出发!》中向全球开发者介绍了华为自研仓颉编程语言,并发布了HarmonyOS NEXT仓颉语言开发者预览版。这是华为首次公开发布仓颉编程语言。 据介绍,复旦大学工研院认知与智能技术实验室(CITLab)领衔的研发团队

2024-11-04

仓颉编程语言官网已于 2024年10月30日10:08 正式公开上线,首个公测版本开放下载。 中文官网地址:https://cangjie-lang.cn/ 英文官网地址:https://cangjie-lang.cn/en HarmonyOS Developer 仓颉主页地址(2024年6月21日已公开):https://developer

2024-10-09

设置14场分论坛,涵盖操作系统内核&视窗、编译器与编程语言、开发框架、硬件生态、应用开发、操作系统安全、原生智能、教育及人才培养等多个领域。这些分论坛将通过不同的技术专题讨论,深度挖掘当前操作系统技术

2024-10-15

基础设施、具身智能、下一代互联网、下一代媒体、Rust 编程语言、App 开发等 6 大热点技术,共组织 了 2 场 Keynote 、6 大主题论坛、 6 场 workshop 、2 场黑客马拉松大赛……聚焦技术发展前沿趋势,探索开源技术的应用与创新。

2023-08-05

Zig 0.11.0 已正式发布。Zig 是一种通用的编程语言和工具链,用于维护健壮、最优和可重用的软件。 Zig 0.11.0 开发周期长达 8 个月,共有 269 名贡献者提交了超过 4457 个 commit。最大的亮点莫过于软件包管理的首次亮相。 软件包

2023-11-14

Jolla 在 MeeGo 基础上开发的移动操作系统。 相关阅读 华为考虑与俄罗斯开源操作系统 Aurora 进行深度研发合作 继俄罗斯之后,中国也要拥有自己的 Sailfish 移动系统了 2016 年,俄罗斯公司 Open Mobile Platform 获得开发俄罗斯版

2022-11-02

Zig 0.10.0 已正式发布。Zig 是一种通用的编程语言和工具链,用于维护健壮、最优和可重用的软件。 Zig 0.10.0 是重要更新版本,其开发周期长达 10 个月,共有 272 名贡献者提交了 4737 个 commit。当然最大的亮点莫过于自托管编译

2023-09-05

deepin-IDE 目前支持 C++、C、Java、Python、JavasSript 五种主流编程语言;内置语言服务器协议(LSP)、调试适配器协议(DAP);支持主流版本控制系统 Git、SVN;支持常用构建工具 Cmake、Maven、Ninja、Gradle 等。 功能界面预览 语言

2024-08-23

的综合盛会,为期三天,汇聚了来自 Linux 基金会、CNCF、华为、Red Hat(红帽)、阿里云、DaoCloud、微软、字节跳动等企业及组织的 200 多位技术专家、企业代表、开源领袖,将带来 140 多场精彩演讲,主题涵盖软件开发生命周期、

2021-12-10

1 点。虽然有些晚,但这是香山第一次在国际 RISC-V 社区正式亮相,再晚也值得。 他还透露称,“香山”有了新的归属——“香山”出嫁了。不过关于“出嫁”的具体信息需要暂时保密,未来将适时公开。不知道这是否暗

2023-03-20

新一代知识增强大语言模型、文心大模型家族的新成员,正式在百度总部 “挥手点江山” 会议室里发布。 发布会一开场,百度 CEO 李彦宏先给大家打了一剂预防针: 从某种意义上说百度为此(发布文心一言)已经准备了

2024-09-28

计算领域的卓越表现以及数据要素应用探索的丰富经验,正式成为“数据要素生态合作伙伴”。 “数据要素生态合作伙伴”证书 数据要素作为新质生产力重要组成和支撑,已然成为建设数字中国、推动数字经济高质量发展的

2024-09-27

改为10月8日发布以示庆贺。另外,Solon 将在2025年启动“仓颉”版开发(届时,将会有 Solon-Java 和 Solon-CJ 两个版本)。 在架构上,Solon 不依赖于 Java-EE 接口:有效避开了 Java-EE 更名问题,使得同时兼容 JDK8 到 JDK23;也为国产语

2024-08-20

未来的影响。   高峰论坛:openKylin全球首个园区站正式发布 大会高峰论坛环节,openKylin社区生态合作负责人马发俊带来《openKylin园区运营战略发布》主题分享,向大家展示openKylin园区站运营发展新蓝图。同时,在所有嘉