第1篇:认识仓颉——搭建开发环境 仓颉原生中文编程
本文介绍了华为自主研发的仓颉编程语言及其开发环境搭建。作者从中文语言习惯出发,对比了定语前置(符合中文习惯)与后置(如Rust风格)的语法设计差异,建议仓颉未来可采用更符合国人思维的类型前置语法。文章详细讲解了仓颉的特点:原生中文支持、编译型、类型安全等,并提供了从环境安装到编写第一个"你好,仓颉!"程序的完整指南,包含多个实践练习。最后总结了基础语法和关键代码速查表,帮助零基
第1篇:认识仓颉——搭建开发环境
**作者:**中文编程倡导者—— 李金雨
联系方式: wbtm2718@qq.com
**目标读者:**编程入门(零基础)
核心理念: 使用华为仓颉原生中文编程,体验真正的国产编程语言,母语编程阅读效率极高
写在最前面:关于编程语言设计的思考
在学习仓颉编程语言之前,我想先和大家讨论一个很重要的问题:什么样的编程语言最适合中国人学习?
定语前置 vs 定语后置
我们中国人日常说话的习惯是定语前置——先描述属性,再说主体:
- 我们说的是"红色的苹果",而不是"苹果红色的"
- 我们说的是"漂亮的花朵",而不是"花朵漂亮的"
- 我们说的是"三年二班的学生",而不是"学生三年二班的"
但是在编程语言中,我们经常看到这样的写法(类似Rust的风格):
// Rust风格 - 定语后置(像古汉语)
let name: String = "张三"; // 名字 字符串类型的
let age: Int64 = 15; // 年龄 整数类型的
这种把类型放在变量名后面的写法,就像是古汉语的定语后置,非常不符合我们现代人的语言习惯!
更符合中国人习惯的设计
C#的设计就聪明多了,它虽然也是类型后置,但微软正在考虑引入更灵活的语法。而华为仓颉语言目前采用的是类似Rust的设计:
// 仓颉目前的设计
let 姓名: String = "张三" // 名字 字符串类型的
let 年龄: Int64 = 15 // 年龄 整数类型的
我希望华为能够考虑开发一个类似C#风格的编程语言版本,或者在未来版本中支持更灵活的语法,比如:
// 更符合中国人习惯的设想
String 姓名 = "张三" // 字符串类型的 名字 = "张三"
Int64 年龄 = 15 // 整数类型的 年龄 = 15
这样读起来就像是"字符串类型的名字等于张三",完全符合我们中国人的语言习惯!
不过,尽管仓颉目前的语法设计有这个小遗憾,它仍然是真正的国产编程语言,支持全中文编程,非常值得我们学习和支持!
一、开篇引入
1.1 欢迎来到编程世界!
你好!很高兴你能打开这本教程。在接下来的学习中,你将学会如何用华为仓颉编程语言编写程序——用纯中文写代码!
想象一下这些场景:
- 💻 你用中文写代码,就像写作文一样自然
- 🎯 你制作一个小游戏,和朋友们一起玩
- 📊 你写一个成绩统计程序,帮助老师算分数
- 🎮 你开发一个文字冒险游戏,讲述自己的故事
这些,你都能通过仓颉实现!
1.2 什么是仓颉编程语言?
**仓颉(Cangjie)**是华为公司自主研发的新一代编程语言,名字来源于中国古代传说中创造文字的"仓颉"。
仓颉的特点:
- 🇨🇳 原生支持中文:类名、函数名、变量名都可以用中文
- 🚀 高性能:编译型语言,运行速度快
- 🔒 安全可靠:强大的类型系统,减少错误
- 💪 功能强大:支持面向对象、函数式编程等现代特性
- 📱 全场景支持:鸿蒙系统、服务器、嵌入式都能用
1.3 本课我们要做什么?
今天这节课,我们要完成三件大事:
- 了解什么是仓颉编程语言
- 安装开发工具(编译器、编辑器)
- 运行你的第一个程序:“你好,仓颉!”
1.4 预期成果
完成本课后,你的屏幕上会显示:
=== 程序开始 ===
你好,仓颉!
我是华为仓颉编程语言!
我的名字是:张三
=== 程序结束 ===
很期待吧?让我们开始吧!
二、概念讲解
2.1 什么是编程语言?
生活例子:和外国人交流
假设你想和一个美国朋友说话,但你们语言不通,怎么办?
- 你可以学英语
- 或者找一个翻译
编程语言就像是程序员和计算机之间的"翻译官"。
我们用编程语言写"指令",计算机就能按照我们的想法工作。
为什么要用中文编程?
传统编程(英文为主):
#include <stdio.h>
int main() {
int age = 15;
printf("Age: %d\n", age);
return 0;
}
仓颉中文编程:
main() {
let 年龄 = 15
println("年龄:${年龄}")
}
看到区别了吗?
- 传统编程:要记很多英文单词
- 仓颉编程:用中文,一看就懂!
2.2 仓颉语言的特点
特点1:真正的国产语言
仓颉是华为自主研发的,不像其他语言(Java、Python等)都是国外的。
学习仓颉,就是支持国产技术!
特点2:编译型语言
编译型就像是:
- 你写好作文(源代码)
- 老师帮你批改整理(编译)
- 变成一本精美的书(可执行文件)
- 大家可以直接看书(运行程序)
解释型(如Python)就像是:
- 你念一句,翻译一句
- 速度相对慢一些
仓颉是编译型,所以运行速度快!
特点3:类型安全
仓颉要求你明确告诉它:“这个数据是什么类型的”。
就像整理房间:
- 衣服放衣柜(字符串类型)
- 书放书架(整数类型)
- 玩具放玩具箱(小数类型)
这样就不会搞混,减少错误!
2.3 关于语法设计的讨论
前面我们提到,仓颉目前的语法是:
let 姓名: String = "张三"
这种类型后置的设计,虽然在国际上很流行(Rust、Swift、Kotlin都这样),但对中国人来说,读起来确实有点别扭。
我们习惯的阅读顺序是:
- 先知道"这是什么类型"
- 再看"叫什么名字"
- 最后看"值是什么"
C#的设计就很符合这个习惯:
string 姓名 = "张三"; // 字符串 名字 = "张三"
int 年龄 = 15; // 整数 年龄 = 15
希望华为在未来的仓颉版本中,能够考虑支持这种更符合中国人思维习惯的语法形式,或者至少提供可选的语法糖,让初学者更容易上手。
不过,目前的仓颉语法也是完全可以接受的,习惯了之后写起来也很流畅。而且仓颉最大的优点是原生支持中文标识符,这才是最重要的!
三、动手实践
3.1 安装开发工具
第一步:安装仓颉编译器
- 打开浏览器,访问华为开发者官网
- 找到仓颉编程语言的下载页面
- 下载适合你电脑系统的版本(Windows/Mac/Linux)
- 按照安装向导完成安装
验证安装:
打开命令行,输入:
cjc --version
如果显示版本号,说明安装成功!
第二步:安装VS Code编辑器
- 访问 https://code.visualstudio.com/
- 下载并安装VS Code
- 打开VS Code,安装仓颉语言插件
3.2 创建第一个项目
创建项目文件夹
- 在电脑上创建一个文件夹,命名为
我的第一个仓颉程序 - 用VS Code打开这个文件夹
创建程序文件
- 在VS Code中,点击"新建文件"
- 命名为
主程序.cj - 输入以下代码:
// 我的第一个仓颉程序
// 作者:你的名字
main() {
println("=== 程序开始 ===")
println("你好,仓颉!")
println("我是华为仓颉编程语言!")
println("=== 程序结束 ===")
}
运行程序
- 打开命令行(终端)
- 进入项目文件夹
- 输入编译命令:
cjc 主程序.cj -o 我的程序 - 运行程序:
./我的程序
看到输出结果了吗?恭喜你! 🎉
3.3 修改你的程序
练习1:显示自己的名字
修改代码,让它显示你的名字:
main() {
println("=== 程序开始 ===")
let 姓名 = "张三" // 改成你的名字
let 年龄 = 15 // 改成你的年龄
println("你好,我是${姓名}!")
println("我今年${年龄}岁。")
println("我正在学习仓颉编程语言!")
println("=== 程序结束 ===")
}
练习2:打印字符画
main() {
println(" /\\ /\\")
println(" / \\ / \\")
println(" / \\ / \\")
println("/ V \\")
println("\\ /")
println(" \\ /")
println(" \\_________/")
println("")
println(" 你好!")
}
练习3:制作简单的自我介绍
main() {
println("╔═══════════════════════╗")
println("║ 个人简介 ║")
println("╠═══════════════════════╣")
println("║ 姓名:张三 ║")
println("║ 年龄:15岁 ║")
println("║ 爱好:编程、篮球 ║")
println("║ 梦想:成为程序员 ║")
println("╚═══════════════════════╝")
}
四、知识总结
4.1 今天我们学了什么?
- 仓颉编程语言:华为自主研发的国产编程语言
- 开发工具:仓颉编译器(cjc)+ VS Code编辑器
- 基本程序结构:
main() { // 程序代码 } - 输出信息:
println("内容")
4.2 关键代码速查表
| 功能 | 代码 |
|---|---|
| 定义主程序 | main() { ... } |
| 输出文字 | println("内容") |
| 不换行输出 | print("内容") |
| 插入变量 | "${变量名}" |
| 注释 | // 注释内容 |
4.3 关于语法风格的思考
虽然仓颉目前的类型后置语法(let 姓名: String)和我们中国人的语言习惯(定语前置)略有不同,但:
- 优点:这是现代编程语言的趋势,Rust、Swift、Kotlin都采用这种设计
- 适应:习惯了之后,写起来也很流畅
- 核心优势:仓颉原生支持中文标识符,这才是最重要的特色
建议华为:在未来版本中考虑支持可选的类型前置语法,让初学者有更多选择,更符合中国人的思维习惯。
4.4 常见错误提醒
| 错误现象 | 可能原因 | 解决方法 |
|---|---|---|
| 找不到命令cjc | 编译器未安装或未配置环境变量 | 重新安装或配置PATH |
| 编译错误 | 语法错误 | 检查括号、引号是否配对 |
| 中文乱码 | 文件编码问题 | 保存文件时使用UTF-8编码 |
| 无法运行 | 编译未成功 | 先编译再运行 |
五、课后作业
5.1 巩固练习(必做)
练习1:制作个人名片
写一个程序,显示你的:
- 姓名
- 年龄
- 学校
- 爱好
- 座右铭
练习2:打印图形
用println打印以下图形:
*
***
*****
*******
*********
练习3:制作课程表
打印你今天的课程表。
5.2 创意编程(选做)
创意1:制作贺卡
做一个电子贺卡,可以送给朋友或家人。
创意2:ASCII艺术
搜索ASCII艺术,用仓颉程序打印出来。
创意3:简单计算器
显示一个计算器的界面(纯文字版)。
5.3 下篇预习
下一篇,我们将学习数据与类型,了解如何在程序中存储不同类型的信息。预习问题:
- 程序怎么记住你的名字?
- 程序怎么区分整数和小数?
- 程序怎么判断"是"或"否"?
思考题:你觉得编程语言的语法应该更符合自然语言习惯,还是更应该追求国际化标准?为什么?
附录:学习资源
官方资源
- 华为开发者官网
- 仓颉官方文档
- 仓颉示例代码库
社区资源
- 仓颉开发者论坛
- 学习交流群
小贴士
- 多练习,多写代码
- 遇到问题先自己思考
- 善用搜索引擎
- 加入学习社区,互相帮助
恭喜你完成了第1篇的学习! 🎉
你已经迈出了仓颉编程之旅的第一步。虽然仓颉的语法设计有一些可以改进的地方(比如类型后置的问题),但它仍然是真正的国产编程语言,值得我们学习和支持!
记住,编程就像学骑自行车,一开始可能会摔跤,但只要坚持练习,你一定能骑得又快又稳!
下节课见!
更多推荐


所有评论(0)