仓颉基础
跳到导航
跳到搜索
仓颉(Cangjie),是华为自研的编程语言,于 2020 年 3 月 16 日正式提交“华为仓颉”商标申请,2021 年开始内测。
特点
多范式编程,高效开发
仓颉语言支持函数式、面向对象和命令式的多范式编程,融合了高阶函数、 版权所有,禁止扩散 代数数据类型、模式匹配、泛型等函数式语言的先进特性,以及封装、子类型多态、接口、继承等 支持模块化开发的面向对象的语言特性,还有值类型、全局函数等简洁高效的命令式语言特性。
类型安全,类型推断
仓颉语言是静态强类型语言,通过编译时检查尽早发现程序错误,排除运行时错误。仓颉编译器提供强大的类型推断能力,减少开发时类型标注工作量,提高编码灵活性。
自动内存管理,内存安全
仓颉语言采用垃圾收集机制,支持自动内存管理,并在运行时进行数组下标越界检查、溢出检查等,确保程序内存安全。
领域易扩展,高效构建领域抽象
仓颉语言的高阶函数、尾随 lambda、属性机制、操作符重载、部分关键字可省略等特性,有利于内嵌式领域专用语言(eDSL)的构建。此外,仓颉还提供基于宏的元编程支持,在编译时生成或改变代码,让开发者可以深度定制程序的语法和语义,构建更加符合领域抽象的语言特性。
高效跨语言,兼容语言生态
仓颉语言可以实现与多语言的互通(目前已实现与 C 语言和 Python 语言的互操作),可以高效调用其他主流编程语言,进而实现对其他语言库的复用和生态兼容。
易用的并发/分布式编程
仓颉语言提供原生的用户态轻量化线程,支持高并发编程。
安装
仓颉工具链目前支持 Linux 以及 Windows 10 系统环境。
Linux 架构 | 运行要求 |
---|---|
x86_64 | glibc 2.22, Linux Kernel 4.12 或更高版本, 系统安装 libstdc++ 6.0.24 或更高 版本 |
aarch64 | 同上 |
Ubuntu 18.04/20.04、Windows11 安装成功。
- Cangjie-0.45.2-linux_x64.tar.gz 404006673
- Cangjie-0.45.2-windows_x64.exe 270046395
- Cangjie-vscode-0.45.2.tar.gz 356273041
Centos 7 及以下版本因为 GCC 版本较低,会出现 libstdc++.so 版本较低,GLIBCXX_3.4.22 找不到等问题。
INIT
apt install binutils libc-dev libc++-dev libgcc-7-dev # profile source /opt/cangjie/envsetup.sh
Error
# error: not found `ar` in $PATH # Command 'ar' not found, but can be installed with: apt install binutils