今天是 1024 程序员节,给大家一声迟来的祝福,祝福各位工作顺利,身体健康,BUG少少,工资多多!

借 CSDN 的图 哈哈

       

缘起 1024

        1024,我也没闲着。

仓颉支持的操作系统有:Windows、Linux、macOS、HarmonyOS

        前几天CSDN发来短期提醒武汉有一场1024程序员大会,且会议主题和AI息息相关。这让我动了心,顺手报了名江汉大学分会场。随后查了下地点,在蔡甸区,感觉有点远,报名后也就忘记了。前两天又来短信提醒,还一直犹豫真的要去参加吗?

CSDN 1024程序员大会提醒短信

        没想到,今天天气晴好,我就还真去了。但最令自己意外的是,今天也许是个重要的转折,为什么这么说呢,我慢慢讲讲今天的见闻。       

        中午12点半就到了江汉大学,看起来比较普通,尤其在高校林立的武汉之中显得并不突出,科创大楼看起来很新,今天的大会就在这里举行。

江汉大学 科创楼

       入门就有路牌指引大会地址,一路走来,没发现什么人,也是,今天大家都在上班,没什么人会请假参加吧。

武汉江汉大学 1024 程序员大会 - 开源智变 破界未来

       等到两点,只看到一些学生陆陆续续进入会场,不到半个会场,当时内心是落寞的,想着听听就走吧。

        等待会议正式开始,大屏滚动了好几位CSDN的大V们,各个数万粉,年轻有为,羡煞旁人。

这个妹子好厉害,10W粉丝博主
9W+ 厉害

初遇仓颉

        终于等待会议开始,主持人简短的开幕致辞后,第一个华为仓颉编程语言生态与产业发展总监王学智。

       仓颉语言,我之前零星听到过,但从来没认真去了解,网上讨论的也不多,只是在鸿蒙开发领域会提到 ArkTs、仓颉,我对它的印象就止步于此。

        今天王总介绍了这门语言的由来,发展和现状以及目前的生态情况。

        据王总的介绍,仓颉被设计为一款面向全场景应用开发的现代编程语言,主打高效编程、安全可靠、轻松并发、卓越性能、敏捷扩展。语言性能十分优异。此外,仓颉语言支持泛型编程、分布式编程模型、声明式UI编程等,在界面开发、数据存储、网络通信等方面有广泛应用。因此,仓颉语言的应用范围不仅限于鸿蒙App,还可以用于其他全场景智能应用的开发。

        说实话,我现在还不了解,语言层面是如何确保上述优势的,但听起来很诱人。

        另一方面,国内主流的很多APP都已有全仓颉版且上线运营,比如京东、美团,力扣、泛微,各大银行内外系统也都有仓颉重写了重要系统组件。        

        

仓颉版 App

        这还不止,仓颉不仅仅能开发鸿蒙系统,还支持:Windows、Linux、macOS。这就让我有了极大兴趣。

        那么,这么优秀的语言,华为对其是什么定位呢?

        华为开发者官网的一篇文章介绍,鸿蒙支持ArkTS(基于TypeScript改进)、仓颉和C/C++三种编程语言,它们相互补充,共同支撑鸿蒙应用生态构建。作为鸿蒙的主力编程语言,ArkTS有先发优势,API库比较丰富;仓颉后发奋进,天然高性能和安全。

仓颉语言示例

        说真的,至此我就支楞起来了,手机上知乎搜了一通仓颉,没找到多少信息,正面的更少 ...

        但我的兴趣就来了,我想真正踏实的学一下这门语言,将一路最真实的感受记录下来和各位分享。

        于是我做了一件大胆的事,看到王学智总监中间出去打电话,我稍后也就跟了出去,向王总打了招呼,他人很热情,我说明了自己的情况:长期以来一直趴在 Windows 上做桌面开发,随着 PC 迅速萎靡,自己也很迷茫,想学习仓颉,加入鸿蒙生态。王总非常热情的说好啊,甚至主动提出加个微信,给我推了篇仓颉的学习资源,欣喜若狂,我是没有想到总监级别的人会如此平易近人。

小试仓颉

        今晚回家陪伴家人后就迫不及待的去官网了解了下。

        首先,最期待的就是Windows 下的开发,编译体验。

        于是去仓颉官网下载中心,下载配套开发环境

Cangjie 1.0.3

        下载下来后,和普通安装程序一样,一路下一步

仓颉 1.0.3 安装程序

        安装完毕

        安装后,我迫不及待打开 cmd 输入 cjc -v 命令,因为我了解过它的编译工具链。可惜居然提示找不到  cjc ,回头看了下文档,发现还需要手动配置环境变量,也许是因为我没重启的缘故吧,手动操作后,再看

        

        嘿嘿,踏实了。于是趁热打铁,赶紧来个 HelloWorld

        

仓颉版 Hello world

        语法是挺简洁的,看起来很容易上手,编译出来的程序 720KB,不算大,也不算很精简,不知道是否可以通过编译开关、宏、strip等方法减小体积。

        不管怎么说,我完成了仓颉的入门,一切顺利 :)

LLVM 的影子

        在浏览开发指南文档的时候,看到了 LLVM 的身影

        了解编译器的同学一定直到,LLVM 是一个开源的编译器基础设施。

        其中 LLVM IR 的出现,让构建工具链变成了组合式

[源代码] -> [编译器前端] -> [LLVM IR] -> [LLVM 优化器] -> [LLVM IR] -> [LLVM 后端] -> [机器码]

        这让我对仓颉语言的架构有了点模糊的影子。

        当然以上只是我的无责任盲猜,目前官方没有明确说明仓颉架构细节,更没有提到 LLVM。

        另外,仓颉也提供了在线体验版

仓颉在线体验版

        据王学智总监总结介绍,仓颉至今也才6年,但它已经发展到横跨Windows、Linux、MacOS、鸿蒙四大系统,运行高效,提供各种现代特性,最重要的是切实的为各大APP、厂商做了彻底重构后提供了文档的高性能的支持,实属不易。

        仓颉到底如何,试试才知道,我决定试试。

破界未来

        无论如何,形式在催发,也许它将来真如此次会议的主旨“破界未来”,加油,期待你我都有自己的破界!


参考

仓颉编程语言官网

仓颉在线体验-仓颉编程语言官网

仓颉编程语言开发指南-仓颉 - 华为HarmonyOS开发者

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐