跟我一起学“仓颉”编程语言—仓颉语言介绍及Hello World

目录

一、仓颉语言介绍

1.1 语言特点

1.2 应用场景

二、仓颉环境搭建

三、Hello World

1. executable(可执行文件)

2. static(静态库)

3. dynamic(动态库 / 共享库)

四、小结


一、仓颉语言介绍

仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。主要应用于鸿蒙原生应用及服务应用等场景中,为开发者提供良好的编程体验。

1.1 语言特点

智能化:内嵌AgentDSL的编程框架,自然语言和编程语言有机融合;多Agent协同,简化符号表达,模式自由组合,支持各类智能应用开发。

全场景:轻量化可缩放运行时,模块化分层设计,内存再小也能装得下;全场景领域扩展,元编程和eDSL技术,支持面向领域声明式开发。

高性能:终端场景首款全并发GC,应用线程更流畅,响应更快。轻量化线程,并发性能更好,开销更少。

强安全:安全DNA融入语言设计,帮助开发者专注于业务逻辑,免于将太多精力投入到防御性编程中,编码即安全,漏洞无处藏。

1.2 应用场景

鸿蒙应用场景:在鸿蒙应用场景中,仓颉编程语言凭借对现代语言特性的集成、全方位的编译优化与运行时实现,以及开箱即用的IDE工具链支持,为开发者缔造了友好的开发体验和卓越的程序性能。此外,面向未来的鸿蒙AI原生应用开发,仓颉语言提供了面向开发者的全套内嵌Agent DSL的编程框架以及智能化开发工具,便于开发者高效地完成鸿蒙AI原生应用的开发工作。

服务端/云化场景:在云化场景中,仓颉编程语言提供了微服务应用开发框架,提供基于编译前处理模式的IOC容器、AOP切面编程、ORM和事务管理、端到端的异步请求以及与其他组件快速对接等能力,帮助开发者快速构建微服务应用,并且通过仓颉轻量级用户态线程以及高性能网络协议库,能够充分利用系统资源,高效开发出高性能云服务应用。同时,仓颉社区协同合作伙伴以及开发者,共同构建了丰富的三方库及中间件...

注意:本系列文章主要注重仓颉服务端进行详细介绍。

二、仓颉环境搭建

第一节我们已经介绍了仓颉编程语言,这一节我们将介绍仓颉的环境搭建,首先我们得先进入仓颉编程语言的官网:仓颉编程语言官网,如下图所示:

点击“下载”,进入到仓颉环境的下载页面,如下图所示:

选择中间的“半年更新”稳定版本,点击“即刻下载”,进入到详情页,如下图所示:

目前最新稳定环境版本是0.53.18,仓颉编程语言支持Windows系统Mac系统Linux系统,大家选择适合自己系统的环境安装即可。

下载好后,解压压缩包,如下图所示:

“Cangjie-0.53.18-windows_x64”目录下的“cangjie”目录剪切出来,如下图所示:

删除多余的“Cangjie-0.53.18-windows_x64”目录。

接着在“开始菜单”里,找到“设置”,如下图所示:

搜索栏搜索“环境变量”,如下图所示:

点击“环境变量”,如下图所示:

“系统变量”那里,点击“新建”,如下图所示:

变量名:CANGJIE_HOME

变量值:D:\software\developer\cangjie\cangjie

如下图所示:

配置好后,点击“确定”,接着,在“系统变量”那里,找到“Path”,如下图所示:

点击“编辑”,进入编辑页,如下图所示:

点击“新建”,如上图所示进行配置

%CANGJIE_HOME%\bin

%CANGJIE_HOME%\lib

配置完成后,一直点“确定”即可。

接下来,我们来验证仓颉环境是否安装成功

找到键盘上带有“win”标志或者有“win图标”标志的按键,按住它不松手,然后按住“R”键,打开“运行”窗口,如下图所示:

输入“cmd”,点击“确定”,打开“命令”窗口,如下图所示:

输入以下命令:

cjc -v

注意:cjc与-v之间有空格

如果有显示出仓颉环境的版本号,则表示仓颉环境安装成功,如下图所示:

环境安装完成后,接下来,开始安装仓颉编程语言的编译器,进入仓颉编程语言编译器官网:CodeArts IDE for Cangjie,这里需要登录华为账号没有华为账号的小伙伴需要注册一个华为账号,华为账号的注册流程这里就不在做过多解释,仓颉官方编译器网页,如下图所示:

点击“下载使用”即可,下载完成后,点击“鼠标右键”,找到“以管理员身份运行”,如下图所示:

后面的安装步骤,直接跟着图片走即可。

注意:这里可以修改成自己的路径。

点击“完成”后,就可以进入编译器了,如下图所示:

以上就是仓颉环境搭建的所有内容。

三、Hello World

和众多编程语言一样,我们的第一个代码,就是成功输出:Hello World,接下来,我们开始新建工程。

这里,工程信息如下所示:

名称:Study

位置:D:\project\harmonyProject\cangjieProject

产物类型:executable

SDK位置:D:/software/developer/cangjie/cangjie

注意:位置可以修改成自定义的工程路径,SDK位置选择之前安装Cangjie环境时的目录,产物类型,在后面介绍,这里默认即可。

如下图所示:

这里介绍产物类型:

1. executable(可执行文件)

  • 本质:它是能够直接运行的程序。
  • 特点
    • 自身包含完整的程序代码以及运行时所需的全部依赖项,无需再借助外部组件就能运行。
    • 一般是通过链接器把所有的目标文件和库整合到一起而生成的。
  • 应用场景:用于生成独立的应用程序,像命令行工具、图形界面软件等都属于此类。
  • 示例:当你使用仓颉语言编写了一个main.cj文件,然后经过编译可以生成 app.exe(在 Windows 系统下)或者 app(在 Unix/Linux 系统下)。

2. static(静态库)

  • 本质:这是一种归档文件,它把多个目标文件打包成了一个文件。
  • 特点
    • 在编译的时候,静态库会被完整地复制到最终的可执行文件中。
    • 这样一来,生成的可执行文件就不再依赖于这个静态库,但文件体积会相对较大。
  • 应用场景:适用于那些需要被多个程序复用的通用代码,例如基础工具函数库等。
  • 示例:若你编写了一个数学库 math.cj,将其编译成静态库后,其他程序在编译时可以链接这个库,从而获得相应的数学功能。

3. dynamic(动态库 / 共享库)

  • 本质:这是一种在运行时才会被加载的库文件。
  • 特点
    • 动态库不会被包含在可执行文件中,程序在运行时会动态地加载它。
    • 多个程序能够共享同一个动态库,这样可以减少内存的占用。
    • 不过,这也意味着系统中必须安装相应的动态库,否则程序将无法运行。
  • 应用场景:常用于系统级别的库,比如图形驱动、数据库接口等。
  • 示例:你编写了一个数据库驱动 db.cj,将其编译成动态库,程序在运行时会动态加载这个库来实现数据库操作。

因此,在学习仓颉编程的过程中,创建的工程就默认第一个即可,然后点击“创建”,如下图所示:

仓颉的代码是写在“.cj”文件里的,文件里给我们生成好的代码就是Hello World代码,代码解释如下:

// 这个是包的声明,表示该main.cj是在Study这个工程包下的
package Study

/**
* 这个是main函数,是以后所写的所有代码的主入口,如果缺少main函数,在编译时会报错
*/
main(): Int64 {
    // 输出函数,这里输出“Hello world”
    println("hello world")
    // main函数的返回值,详细内容在函数章节会着重讲解
    return 0
}

鼠标左键点击“绿色三角按钮”,就可以运行该程序了,如下图所示:

四、小结

本章为大家详细的介绍了仓颉编程语言的特性、环境安装以及Hello World,下一章,为大家介绍变量和注释的内容。最后,创作不易,如果大家觉得我的文章对学习仓颉服务端开发有帮助的话,就动动小手,点个免费的赞吧!收到的赞越多,我的创作动力也会越大哦,谢谢大家🌹🌹🌹!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学徒钝子生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值