前段时间,华为在自己的开发者大会上发布了全新的开发语言——仓颉。这篇文章,我们就和作者一起来看看其影响。
在 2024 年 6 月 21 日的华为开发者大会上,华为发布了仓颉编程语言,一时间烽烟骤起,短短几天,知乎、公众号、抖音、B站等平台上不仅有介绍甚至教程都立了起来,真不愧是“遥遥领先”。
华为仓颉自己给出的定位是:“一款面向全场景应用开发的现代编程语言”,高效编程、安全可靠、轻松并发、卓越性能是它的设计理念。除此之外,仓颉还支持面向应用开发的一系列工具链,包括语言服务(高亮、联想)、调试(跨语言调试、线程级可视化调试)、静态检查、性能分析、包管理、文档生成、Mock工具、测试框架等,进一步提升软件开发体验和效率。主打原生智能化、天生全场景、高性能、强安全,融入鸿蒙生态,为开发者提供良好的编程体验。
早先,22 年的时候,华为就已经推出过一门新的编程语言 ArkTs,ArkTs 声称是 Typescript 的超集,微软也说 Typescript 是 Javascript 的超集。哈哈,Javascript:“蛤?”。但与 ArkTs 不同,仓颉编程语言是完全自研,没有基于任何编程语言演进。仓颉具有:简洁、静态编译、多范式、类型安全、内存安全、高效并发、兼容语言生态等特点。如果说 ArkTs 是对鸿蒙客户端开发的赋能,那么鸿蒙服务端赋能者便是仓颉了。
一个新的编程语言的推出都面临着推广的难题,比如早些年尬吹的 vlang 现在也是不温不火。之于华为,或许不然。据说,目前 HarmonyOS 已经拥有超过 254 万开发者,愚以为,出于对鸿蒙完整技术生态系统的战略意图、追求本土化编程语言的发展,此时推出仓颉编程语言似乎是恰到好处。这一举措不仅有助于华为减少对外部技术的依赖,还可能在性能优化和安全性方面带来显著优势。
仓颉文件拓展名为 .cj ,编写时在顶层作用域中定义一个 main 函数作为程序入口,通过编译可以为特定平台生成二进制可执行文件。我们看段代码:
// example.cj// let 定义变量,看起来像是 JS、Rustlet a = 1234// 定义函数,看起来像是 Go、Swiftfunc b(a: Int64, b: Int64): Int64 {retrun a + b}// 定义类,看起来像是 C++、Javastruct C {let w: Int64let h: Int64public init(w: Int64, h: Int64) {this.w = wthis.h = h}public func area {w * h}}// 定义枚举,看起来像是 Java、TSenum E { F | G }// 程序入口main {println(a)}
看起来确实简单易懂,果然是集众家之所长!总的来说,仓颉语言的推出为鸿蒙生态注入了新的活力,仓颉的发布展示了华为在技术自主和生态构建方面的野心,可能对中国IT产业产生深远影响,其未来发展前景值得期待。
随着语言的成熟和生态的完善,我们可能会看到以下发展:
在国内,仓颉是否能够迅速拥有一席之地,尚未可知。我猜测,要不了多久许多国企将会率先把仓颉作为应聘的技能之一了。而华为和仓颉的野心绝不仅限于国内市场,在全球范围内或将迎来更多挑战。道阻且长,我认为华为能够妥善应对这些挑战,仓颉语言有潜力成为推动鸿蒙生态和中国 IT 产业发展的重要力量。
作为产品经理,虽然我们不会从事编码工作,了解基本技术知识还是有必要的。仓颉开发的应用或将运行在鸿蒙系统上,了解仓颉也是熟悉鸿蒙生态的一环。有些文章声称“仓颉性能超越 Java、Go、Swift”,但我们并没有看到任何有用的数据指标,尬吹只会让人们产生抵触心理,希望大家都能客观看待。
最后,想要了解更多关于仓颉编程语言,我建议您直接访问官网:
https://developer.huawei.com/consumer/cn/cangjie
仓颉,哪一点最能打动你?
本文由 @希嘉嘉 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务