仓颉造字是中国古代的一个神话传说。相传约5000年前,仓颉是黄帝身边负责记录农业生产和社会生活的史官,平时主要用结绳和刻木来记事,非常不方便。不过,仓颉有4只眼睛,比常人拥有更强的观察能力。为了记录方便,仓颉开始洞悉世事,观察日月星辰、山水草木,在兰陵县作字沟村(现山东省临沂市)将各种不同的事物进行了抽象,创造了最早的象形文字。《淮南子·本经训》记载:“昔者仓颉作书,而天雨粟,鬼夜哭。”仓颉造字惊天地泣鬼神,连下的雨落在了地上变成了谷子。这是二十四节气中“谷雨”的由来,可见仓颉在古代人民群众心中的地位。
如今,华为创造了仓颉编程语言,这无疑是中国软件行业的一件大事。仓颉语言的诞生将会为HarmonyOS、华为终端应用等层面提供强有力的支撑。回看过去,现代学者普遍认为仓颉造字并不是其一人所为,而是总结和整理了当时许多流传在民间的象形符号。华为的仓颉语言也是一样,需要开发者的共商共建,一同将仓颉语言推向新的高地。
学习仓颉语言是一件很浪漫的事!仓颉语言融合了众多语言的优秀特性,优雅开放、全面易用,不仅是资深工程师的进阶通道,也是菜鸟萌新的“下饭菜”。对!这是你的菜!希望读者能够保持对知识的渴望,就像谈恋爱一样保持初心、充满激情、共同成长。仓颉语言是一种静态强类型的编程语言,支持命令式、函数式和面向对象等多范式编程,不仅拥有类似Python语言的易用性,也拥有类似C语言的深邃和高效。
本书定位于仓颉语言的入门教程,成体系地介绍仓颉语言开发的基础知识,面向所有仓颉语言爱好者,希望能够以最通俗的文字介绍仓颉语言应用开发的核心知识。全书共14章。第1~5章为基础篇,介绍仓颉语言的基本数据类型和基本语法。学习任何编程语言都需要掌握这些概念。如果读者有其他编程语言的基础,则学习这一部分内容应该比较轻松。学习完成后,开发者可以实现比较简单的算法和应用程序。第6~12章为提高篇,介绍自定义数据类型和集合类型的基本用法,以及面向对象编程、函数式编程、元编程等高级用法,此外还介绍文件读写和网络编程的基础知识。通过对这部分知识的学习,开发者能够掌握仓颉语言中绝大部分的语法知识和标准库,可以开发一个比较完整的应用程序。第13、14章为应用篇,介绍跨语言互操作、序列化等技术,并通过两个实战项目(2048小游戏和博客网站)带领读者亲身体验仓颉语言项目开发的全过程。相信读者,通过本书的学习可以独立开发一个仓颉应用程序。
如果你是编程语言的初学者,则可以使用现有的仓颉语言编程环境,并且先跳过第1章的内容。因为第1章包含了许多晦涩的概念,搭建仓颉语言的开发环境也可能会占用很多精力。直接学习第2章能够直接接触仓颉语言的核心知识,并且会很容易带来成就感!本书所选用的仓颉版本为0.24.5版本。鉴于仓颉语言发展很快,一些概念和语法与最新版本可能会存在差异,建议读者选择和本书配套的版本学习。
在本书的著作过程中得到了华为公司官方的大力支持。感谢华为编程语言实验室仓颉编程语言项目经理王学智的帮助。感谢清华大学出版社赵佳霓编辑对本书的顺利出版所付出的辛勤劳动。感谢家人王娜、董沐宸松、董沐晨阳陪伴我的日日夜夜,你们是我坚强的后盾。虽然本书经过多次审查和校对,但是由于笔者水平有限,难免出现疏忽和问题。在仓颉开发的环境搭建方式等方面可能会随着仓颉语言的不断发展而出现一些变化,也许还存在一些问题和不顺手的地方需要调整。
本书包含310个实例、2个完整的仓颉项目和14章教学课件,可通过清华大学出版社随书提供的二维码扫码下载。
感谢大家对本书的支持和鼓励!祝愿大家身体健康,学有所获!
董昱
2024年5月
本书源代码 教学课件(PPT)
II
III