仓颉Cangjie编程语言是Rust语言开发的吗?有哪些相似的地方

安浪看商业的 2025-01-08 22:34:53

仓颉Cangjie编程语言(以下简称仓颉语言)现在终于公测了,所有人可以打开华为仓颉Cangjie官网进行下载。目前为Beta测试版,支持Windows、Linux和macOS系统,Windows系统只支持X64架构,macOS和Linux系统支持x64和ARM架构。如果需要最新内测版,可以在gitcode仓库下载最新版本(须申请才可以访问)。

华为仓颉编程语言官网链接:https://cangjie-lang.cn/

仓颉语言目前托管在Gitcode,地址为https://gitcode.com/Cangjie/,申请后可以访问仓库,但是,目前尚未开源程序代码,虽然是在Git平台托管,但也只是给你一个SDK包和已打包编译的Docs文档,所以目前无法找到仓颉语言的源代码,无法获取是使用什么语言开发的仓颉语言。

尽管无法获取仓颉源代码来确定是使用什么语言开发的仓颉语言,但是我猜测仓颉语言可能是Rust开发的,或者仓颉语言的开发者是Rust语言用户。当然,仅是我个人猜测,不代表最终结果,理由如下:

仓颉语言的官方文档是使用Rust语言工具构建的,下载官方提供的仓颉语言文档或打开华为开发者官网的仓颉在线文档,文档是HTML格式,查看源代码可以知道里面有Rust的字符,以及文档的页面效果来看,和Rust的官方文档网页非常近似。

如果去看Rust语言的文档代码,就可以知道Rust语言的官方文档是使用mdBook这个工具构建的,而仓颉语言的官方文档也是此工具(mdBook)构建的,mdBook是一个转为Rust语言打造的文档工具,和其它文档编写工具或者静态网站内容生成工具一样,使用Markdown文件生成HTML网页,且mdBook内置了Rust的Playground发起代码,在文档中嵌入Rust代码可以点击在线运行,所以可以说mdBook是转为Rust打造优化的,尽管你可以使用mdBook编写其它技术资源的文档。

仓颉语言和Rust官网一样,提供了一个在线体验的Playground,以及各种链接菜单和Rust类似,说明仓颉语言的开发者是熟知Rust语言和其官网的。

仓颉语言的项目结构和Rust项目相似,Rust项目使用toml文件声明项目信息和依赖。其次,仓颉语言也和Rust一样提供了包管理器等命令行工具,且功能十分相似。

仓颉语言和Rust一样使用了 LLVM 作为其后端代码生成工具,这点在仓颉语言工具包中就有相应的文件目录。

仓颉语言工具中出现和rustc类似的节点名称,Rust 编译器生成的二进制文件可能会有一些特定的节名称,如 .text、.data、.rdata 等,虽然这些节名称并不唯一。

Rust 程序可能会加载一些特定的 DLL,例如 msvcrt.dll(Microsoft C 运行时库)或其他标准库。

使用strings 命令查看cjc编译器可打印rust字符串信息。

目前无法得知仓颉语言是不是rust开发的,但仓颉语言和Rust的确是十分相似,且两个都是非常看好的编程语言,仓颉语言是编程语言的后来者,也是一个缝合怪,在仓颉语言中可以看到很多流行编程语言的影子,如match模式匹配、if-let和while-let表达式,还有Option类型、宏编程等。

最后,如果仓颉语言不是Rust开发的,那么大概率是c++开发的,在仓颉的工具包中有clang-cpp的库文件。

1 阅读:58
评论列表