Hello, Cangjie
2024 年华为 HDC 大会上官宣仓颉编程语言,开启开发者预览。小异闻讯按捺不住激动的心情,第一时间就关注官方公众号,并申请体验资格。经过两天的漫长等待后,终于通过审核,拿到了仓颉编译工具。现在小异就给大家来开箱体验。
开发环境:Debian GNU/Linux 11 (bullseye)
编译工具:cjc(Cangjie Compiler: 0.51.4)
“Hello, World”程序是入门新编程语言的标配,顺应传统,我们以“Hello, Cangjie”作为开始。创建新文件hello.cj,并输入以下代码:保存并编译,编译后执行程序:初始体验还是非常容易上手的,现在我们对代码进行解读:· main 是程序执行的入口,这与 C/C++/Go 语言很相似。在编译并执行程序之后,系统自动从 main 开始执行花括号中的代码。
· "Hello, Cangjie" 是一个字符串类型的字面量,由一对半角的双引号括起来得到。
· println 是一个函数,它将字符串"Hello, Cangjie"输出到终端并且自动换行。仓颉定义了许多实现特定功能的函数。
· 以“//”开头的内容表示注释,它是对代码的说明和对程序的解释,不参与程序编译。用“/*…*/”则可以实现多行注释。
良好的代码风格可以提高程序可读性,而且便于维护程序。初学者可以先从遵守以下简单的编程规范开始,在持续的学习过程中逐渐掌握更多规范:· 在左花括号之后换行。
· 换行之后输入代码。花括号中的所有代码作为一个整体,要有一个级别的缩进。一个级别的缩进一般是 4 个空格,对于 UI 等多层嵌套使用较多的情况,可统一使用 2 个空格。
· 右花括号独占一行。
直观体验了仓颉编程之后,我们再来体会这门语言的独特魅力。
仓颉语言拥有这些特性
仓颉编程语言的定位,是面向全场景应用开发的现代编程语言,力图在开发体验、语言特性、程序性能之间取得最佳平衡。仓颉非常适合用来实现业务逻辑,在鸿蒙的体系内获得最大效用。仓颉是一门多范式编程语言,支持函数式、命令式和面向对象等多种范式,包括值类型、类和接口、泛型、代数数据类型、模式匹配,以及高阶函数等特性。作为一门现代编程语言,仓颉有四大特性非常值得开发者关注。原生智能化
仓颉编程语言内嵌了 AgentDSL 的编程框架,实现了自然语言与编程语言有机融合。多 Agent 协同,简化符号表达,模式可以自由组合,支持各类智能应用开发。从以上代码段可以看到,在仓颉语言中,Agent 的声明和使用语法与仓颉本身的语法一致,既能享受仓颉的静态检查能力,又没有学习成本,将高效编程、安全可靠发挥到极致。高性能
仓颉编程语言采用全并发 GC,应用线程运行更加流畅,响应速度更快。轻量化线程设计进一步提升了并发性能,降低了开发成本。在仓颉中创建和执行线程非常简洁,上述代码使用关键字 spawn 创建了一个线程,并且传递了一个无形参的 lambda 表达式,该 lambda 表达式即为在新线程中执行的代码。强安全
仓颉编程语言将安全理念融入语言设计,帮助开发者专注于业务逻辑,减少安全漏洞的产生,实现“编码即安全”的愿景。跨语言调用
仓颉编程语言支持和 C、ArkTS/JS、Python 等编程语言的互操作,并采用便捷的声明式编程范式,可以实现对其他语言库的高效复用和生态兼容。上述代码即实现了在仓颉语言中调用 C 语言库中的 rand 和 printf 函数。首先用 foreign 修饰函数声明,代表该函数为外部函数;然后用 unsafe 块包裹 C 语言函数,unsafe 可以修饰一个代码块,也可以修饰一个函数。要想系统化学习仓颉语言,小异介绍一本书给大家,学完就可以快速上手干活。一本书快速上手仓颉
天下武功,唯快不破!《仓颉编程快速上手》这本书就能帮助开发者迅速抓住仓颉语言的核心要素,开发出实用性的程序。▼点击下方即可购书 ,限时特惠5折基础语法知识
这部分从“你好,仓颉!”最简程序开始,解释程序的基本结构与编程规范,然后介绍了变量的声明与使用。对于数据操作,则介绍了存储数值的数据类型,以及存储字符的数据类型。对于流程控制语句,介绍了条件测试、单分支的 if 表达式、双分支的 if表达式和嵌套的 if 表达式,以及do-while 表达式、while 表达式、for-in 表达式和循环表达式的嵌套。接着介绍了函数的定义和调用,然后介绍了函数的重载,最后介绍了变量的作用域。面向对象编程
重点介绍了类的定义和对象的创建,然后详细介绍了面向对象编程的三大特征——封装、继承和多态,最后介绍了抽象类和接口的用法。本部分通过一个小型的课务管理项目对上述概念进行了深入阐释。对于 struct,介绍了 struct 类型的定义和 struct 实例的创建,然后介绍了 struct 类型和 class 类型的区别。高阶知识
首先介绍了函数的一些高级特性,包括函数作为“一等公民”的用法、lambda 表达式的定义和使用、嵌套函数和闭包的用法、如何进行函数重载决议、操作符重载函数的定义和使用、mut 函数在 struct 和 interface 中的用法等。接着介绍了仓颉的 4 种基础 Collection 类型——Array、ArrayList、HashSet 和 HashMap,其主要用法包括实例的创建和元素的增删改查等操作。还介绍了泛型类型及其泛型约束、包管理、直接扩展和接口扩展、生成随机数据、通用的数学操作、格式化输出和字符串操作。本书主要特点如下:· 内容全面,涵盖了仓颉语言的核心语法特性。
· 注重实战,以应用为导向,理论联系实际,解决具体问题。
· 示例丰富,书中针对各个知识点都给出了实践代码案例。
· 配套资源齐全,提供全书源代码、引导教学视频等,提高学习效率。
本书的作者团队实力强大,依托丰富的教学经验与深厚的技术功底写成此书,技术小白也可以轻松入门仓颉编程。刘玥
九丘教育 CEO,曾在高校任教十余年,具有丰富的课堂教学经验,尤其擅长讲授程序设计、算法类课程。张荣超
学会《仓颉编程快速上手》,抢跑下一代编程语言吧!
本次将送出 5本 《仓颉编程快速上手》作为粉丝福利 ,社区积分直接兑换!兑换地址:http://spring4all.com/fuli-huodong社区福利每周1-2次,快来一起来参与社区内容的建设,一起学习一起成长吧!