第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. 了解什么是仓颉编程语言
  2. 安装开发工具(编译器、编辑器)
  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都这样),但对中国人来说,读起来确实有点别扭。

我们习惯的阅读顺序是:

  1. 先知道"这是什么类型"
  2. 再看"叫什么名字"
  3. 最后看"值是什么"

C#的设计就很符合这个习惯:

string 姓名 = "张三";  // 字符串 名字 = "张三"
int 年龄 = 15;         // 整数 年龄 = 15

希望华为在未来的仓颉版本中,能够考虑支持这种更符合中国人思维习惯的语法形式,或者至少提供可选的语法糖,让初学者更容易上手。

不过,目前的仓颉语法也是完全可以接受的,习惯了之后写起来也很流畅。而且仓颉最大的优点是原生支持中文标识符,这才是最重要的!


三、动手实践

3.1 安装开发工具

第一步:安装仓颉编译器
  1. 打开浏览器,访问华为开发者官网
  2. 找到仓颉编程语言的下载页面
  3. 下载适合你电脑系统的版本(Windows/Mac/Linux)
  4. 按照安装向导完成安装

验证安装:
打开命令行,输入:

cjc --version

如果显示版本号,说明安装成功!

第二步:安装VS Code编辑器
  1. 访问 https://code.visualstudio.com/
  2. 下载并安装VS Code
  3. 打开VS Code,安装仓颉语言插件

3.2 创建第一个项目

创建项目文件夹
  1. 在电脑上创建一个文件夹,命名为我的第一个仓颉程序
  2. 用VS Code打开这个文件夹
创建程序文件
  1. 在VS Code中,点击"新建文件"
  2. 命名为主程序.cj
  3. 输入以下代码:
// 我的第一个仓颉程序
// 作者:你的名字

main() {
    println("=== 程序开始 ===")
    println("你好,仓颉!")
    println("我是华为仓颉编程语言!")
    println("=== 程序结束 ===")
}
运行程序
  1. 打开命令行(终端)
  2. 进入项目文件夹
  3. 输入编译命令:
    cjc 主程序.cj -o 我的程序
    
  4. 运行程序:
    ./我的程序
    

看到输出结果了吗?恭喜你! 🎉

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 今天我们学了什么?

  1. 仓颉编程语言:华为自主研发的国产编程语言
  2. 开发工具:仓颉编译器(cjc)+ VS Code编辑器
  3. 基本程序结构
    main() {
        // 程序代码
    }
    
  4. 输出信息println("内容")

4.2 关键代码速查表

功能 代码
定义主程序 main() { ... }
输出文字 println("内容")
不换行输出 print("内容")
插入变量 "${变量名}"
注释 // 注释内容

4.3 关于语法风格的思考

虽然仓颉目前的类型后置语法(let 姓名: String)和我们中国人的语言习惯(定语前置)略有不同,但:

  1. 优点:这是现代编程语言的趋势,Rust、Swift、Kotlin都采用这种设计
  2. 适应:习惯了之后,写起来也很流畅
  3. 核心优势:仓颉原生支持中文标识符,这才是最重要的特色

建议华为:在未来版本中考虑支持可选的类型前置语法,让初学者有更多选择,更符合中国人的思维习惯。

4.4 常见错误提醒

错误现象 可能原因 解决方法
找不到命令cjc 编译器未安装或未配置环境变量 重新安装或配置PATH
编译错误 语法错误 检查括号、引号是否配对
中文乱码 文件编码问题 保存文件时使用UTF-8编码
无法运行 编译未成功 先编译再运行

五、课后作业

5.1 巩固练习(必做)

练习1:制作个人名片

写一个程序,显示你的:

  • 姓名
  • 年龄
  • 学校
  • 爱好
  • 座右铭

练习2:打印图形

用println打印以下图形:

    *
   ***
  *****
 *******
*********

练习3:制作课程表

打印你今天的课程表。

5.2 创意编程(选做)

创意1:制作贺卡

做一个电子贺卡,可以送给朋友或家人。

创意2:ASCII艺术

搜索ASCII艺术,用仓颉程序打印出来。

创意3:简单计算器

显示一个计算器的界面(纯文字版)。

5.3 下篇预习

下一篇,我们将学习数据与类型,了解如何在程序中存储不同类型的信息。预习问题:

  1. 程序怎么记住你的名字?
  2. 程序怎么区分整数和小数?
  3. 程序怎么判断"是"或"否"?

思考题:你觉得编程语言的语法应该更符合自然语言习惯,还是更应该追求国际化标准?为什么?


附录:学习资源

官方资源

  • 华为开发者官网
  • 仓颉官方文档
  • 仓颉示例代码库

社区资源

  • 仓颉开发者论坛
  • 学习交流群

小贴士

  • 多练习,多写代码
  • 遇到问题先自己思考
  • 善用搜索引擎
  • 加入学习社区,互相帮助

恭喜你完成了第1篇的学习! 🎉

你已经迈出了仓颉编程之旅的第一步。虽然仓颉的语法设计有一些可以改进的地方(比如类型后置的问题),但它仍然是真正的国产编程语言,值得我们学习和支持!

记住,编程就像学骑自行车,一开始可能会摔跤,但只要坚持练习,你一定能骑得又快又稳!

下节课见!

Logo

一站式 AI 云服务平台

更多推荐