当前位置: 首页 > article >正文

关于华为仓颉编程语言

文章目录

  • 一、基本概况
  • 二、技术特点
    • 1. 多范式编程
    • 2. 原生智能化
    • 3. 高性能与安全
    • 4. 全场景兼容
  • 三、编译器与开发工具
  • 四、语言相似性对比
  • 五、行业应用实例
  • 总结

最近经常看到这个东西,于是搜了一下,整理了一些内容,水一篇,以后慢慢研究。
仓颉

一、基本概况

仓颉(Cangjie)是华为自研的面向全场景智能的新一代编程语言,2019年启动研发,2024年6月正式发布首个公测版本。其名称源自中国汉字创造者仓颉,寓意语言设计的创新与文化传承。仓颉定位为鸿蒙生态的核心开发语言,支持Windows、Linux、macOS及HarmonyOS系统,广泛应用于金融、通信、中间件、物联网等领域。

二、技术特点

1. 多范式编程

支持函数式、命令式和面向对象编程,融合高阶函数、代数数据类型、模式匹配、泛型、接口等特性,语法简洁高效,减少冗余代码。

2. 原生智能化

内嵌AgentDSL框架,支持自然语言与代码融合,通过多Agent协同简化智能应用开发(如AI食谱推荐)。

3. 高性能与安全

  • 性能优化:采用全并发GC、轻量化线程模型,终端场景响应更快,内存占用更低。

  • 强安全设计:静态类型系统、自动内存管理、运行时检查(如数组越界、数值溢出),实现“编码即安全”。

4. 全场景兼容

运行时环境轻量化且模块化分层,适配从内存受限设备到高性能服务器的全场景需求,支持声明式开发。

三、编译器与开发工具

  • 编译器开发语言:目前官方未公开具体实现,但存在两种推测:

    • C/C++:部分资料提到仓颉工具链中使用了Clang库及类似LLVM的后端,可能与C/C++相关。

    • Rust:开发者社区发现其文档工具链(如mdBook)、项目结构及特性(如模式匹配、宏系统)与Rust高度相似。

  • 工具链支持:提供开箱即用的IDE、调试器、包管理器(类似Rust的Cargo),并兼容C语言生态实现跨语言互操作。

四、语言相似性对比

仓颉融合了多门主流语言的特性:

  • 语法与范式:类似Swift/Go(静态类型、协程并发)、Python(简洁语法、类型推断)。

  • 安全与内存管理:接近Rust(内存安全、模式匹配),但通过GC降低开发复杂度。

  • 应用场景:对标Kotlin/Swift,作为鸿蒙生态的首选语言,类似Kotlin之于Android。

五、行业应用实例

  • 金融领域:工商银行使用仓颉开发鸿蒙原生应用的“收支日历”功能。

  • 中间件:多家企业基于仓颉开发TCP通信框架、Redis客户端、分布式追踪工具等。

  • 智能设备:华为坤灵路由交换一体机的服务模块采用仓颉开发并商用。

总结

仓颉编程语言凭借高效、安全、全场景适配等特性,成为鸿蒙生态的重要支柱。其设计融合了现代语言的优点,虽编译器实现尚未完全公开,但工具链的成熟度和社区生态已展现出潜力。对于开发者而言,仓颉的学习曲线接近Python和Go,适合全栈及智能应用开发。

http://www.lryc.cn/news/2403335.html

相关文章:

  • 无字母数字webshell的命令执行
  • Spring AI 项目实战(五):Spring Boot + AI + DeepSeek + Redis 实现聊天应用上下文记忆功能(附完整源码)
  • 【华为云Astro-服务编排】服务编排使用全攻略
  • 解决el-select选择框右侧下拉箭头遮挡文字问题
  • 20250603在荣品的PRO-RK3566开发板的Android13下的使用命令行来查看RK3566的温度【显示优化版本】
  • C语言字符数组初始化的5种方法(附带实例)
  • npm run dev 报错:Error: error:0308010C:digital envelope routines::unsupported
  • 模板方法模式:优雅封装不变,灵活扩展可变
  • 基于LLaMA-Factory和Easy Dataset的Qwen3微调实战:从数据准备到LoRA微调推理评估的全流程指南
  • 6.6本日总结
  • idea中 maven 本地仓库有jar包,但还是找不到,解决打包失败和无法引用的问题
  • 安全编码规范与标准:对比与分析及应用案例
  • (33)课54--??:3 张表的 join-on 连接举例,多表查询总结。
  • 集群与分布式与微服务
  • 8.axios Http网络请求库(1)
  • Python爬虫实战:研究mechanize库相关技术
  • c++算法学习5——贪心算法
  • SpringCloud学习笔记-3
  • 【时时三省】(C语言基础)局部变量和全局变量
  • An improved YOLACT algorithm for instance segmentation of stacking parts
  • 使用API网关Kong配置反向代理和负载均衡
  • BugKu Web渗透之eval
  • DAY45 可视化
  • 11.RV1126-ROCKX项目 API和人脸检测画框
  • 超构光学与 AR 的深度融合 | 攻克 VAC 与眼动范围难题
  • [ Qt ] | 与系统相关的操作(三):QFile介绍和使用
  • RetroMAE 预训练任务
  • 软件工程:如何做好软件产品
  • 蓝桥杯 省赛 2025python(B组)题目(分析)
  • React - 组件通信