超级无敌大杂烩终于要开源了,目前进度比较慢。未来会成为红 meng 开发的核心语言,与 arkt 和 c/c++。
1
wsseo 13 天前
|
![]() |
2
imes 13 天前 ![]() 乍一看:Rust+Kotlin+Swift 。仔细一看,这不 Carbon+Dart 吗?好好想想:不会是想开发期实时预览+运行期高性能吧?
|
3
Leviathann 13 天前
effect handler 都来了
|
![]() |
4
clino 13 天前
只要语言本身还不错,然后 LLM 模型能支持就行了,将来大量都是 vibe 编程
|
![]() |
6
wapaiwapai1 13 天前
这语言不用汉字编写吗
|
![]() |
7
Aicnal 13 天前 ![]() 这么多语言不用,非得用 cangjie 吗?我咋记得刚开始试用的时候还要实名,直接劝退了
|
![]() |
8
BeiChuanAlex 13 天前
@Aicnal #7 实名????哈????
|
![]() |
9
Aicnal 13 天前 ![]() |
![]() |
10
caola 13 天前
cangjie 的语法还是不错的,就看以后的生态了
|
11
liuidetmks 13 天前
@Aicnal NB 大了,实名,
程序自动签名,方便定位到个人 |
![]() |
12
skiy 13 天前 ![]() @Aicnal 你说的这个是鸿蒙开发工具。https://cangjie-lang.cn/ 这个才是语言本身。不要听风就是雨。
|
![]() |
13
SayHelloHi 13 天前
第三方库多么 😁
|
![]() |
14
gogozs 13 天前
都叫仓颉了,为什么不能是中文编程
|
15
FalconD 13 天前 via Android
Lifetime 和 effect handler 就纯吹,你司又从哪里挖来懂这些 open problems 的人
|
16
pinerge 13 天前
shit
|
![]() |
17
skiy 13 天前
@SayHelloHi https://gitcode.com/Cangjie-TPC 看了下,140 多仓库。
|
18
james122333 13 天前 via Android
大杂烩语言 名不符实不是中文
也不简单易用 |
![]() |
20
skiy 13 天前
@Aicnal 感觉有点复杂,我怀疑是使用 rust 开发的,还没有自举。前段时间刚把一些网络库分拆出来成 stdx 库了,还非常不稳定。大概瞄了下,还没详细了解。反正目前大杂烩。估计 arkts 还得继续使用吧。
|
22
c398425861 13 天前
跟仓颉输入法撞名
|
23
c0t 13 天前 via iPhone
时髦概念全加上了,要是真能融合不违和还是有点兴趣的
|
![]() |
24
murmur 13 天前
@BeiChuanAlex 鸿蒙的 IDE 都需要注册开发者账号啊,要不很多功能是没法用的
|
![]() |
25
kapaseker 13 天前
仓颉,华为是打算以后所有的鸿蒙开发都用这个语言吗?那现在的 TS 这一套怎么办?
|
![]() |
26
dcdlove 13 天前
挂羊头卖狗肉,zz 任务下的畸形产物罢了
|
![]() |
27
yb2313 13 天前 ![]() 用这个写自己个人项目的要被笑一辈子, 公司项目那是没办法, 简单来说, 就是纯粹的狗屎.
|
28
uxstone 13 天前
有好多种语言的影子
|
![]() |
30
Fallenwood 13 天前
@Aicnal 一开始确实要实名, 还要发邮件签保证书
|
![]() |
31
akin520 13 天前
内测人员,需要实名,开放后应该不需要了吧
|
![]() |
32
aino 13 天前
import std.collection.*
import std.random.* import std.math.* const M = 200000 const N = 16 func task(): Int64 { var n: Int64 = 0 let random = Random() for (_ in 0..M) { let x = random.nextFloat64() let y = random.nextFloat64() if ((x - 0.5) ** 2 + (y - 0.5) ** 2 < 0.25) { n++ } } return n } main() { let futures = ArrayList<Future<Int64>>() for (_ in 0..N) { let future = spawn { task() } futures.append(future) } var n = 0 for (future in futures) { n += future.get() } let pi = Float64(n) / Float64(M * N) * 4.0 println("π ≈ ${pi}") println("deviation: ${abs(Float64.PI - pi)}") } 这语法真是集百家之长啊,给我看出来了几种语言的影子 |
![]() |
33
fengxsong 13 天前
看了下语法,怎么搞了个几不像出来了。。
|
![]() |
35
xFrye 13 天前 ![]() arkts 还没捂热 cangjie 又来了,看来大厂选择跨平台方案是很正确的,不然要被玩死
|
![]() |
36
janus77 12 天前
很久之前看过一个同样的帖子,当时我的回复放到现在应该也没问题:先对标一下 v 语言吧
|
![]() |
37
2024 12 天前 ![]() 我用 cangjie 已经深入开发大半年了,已经开发过 web 框架,各种小工具,MySQL 驱动,DIY 脚本语言,应该有发言权了。
https://gitcode.com/service https://gitcode.com/cangjie-script 仓颉整体能用,语言内部概念还是比较先进的,但是还是有不小问题。 1. 如果作为开源项目,从这段时间观察,他内部还是作为一个内部项目做进行的,语言在已经公测情况下,标准库大改不会预告,不会通知,更不会 issues 进行讨论。 2. 2025 年从标准库改动过程,能观察一些有趣的事情,比如单词经历了非常大规模的修改,函数、参数、库名都涉及,至少证明前期人员经验都不是很充足,当然也能看到一直在进步了。 3.定位尴尬,从文档例子,和官方库例子的前后端比例大概能猜是为了客户端设计的(前期),而且 sdk 也分了鸿蒙版本和通用版本,而鸿蒙版本一直版本落后,IDE 更新不上,调试只能打印等;为了客户端设计的场景必不可少要和 ARKTS 竞争了。通用领域就要和 go java c 等竞争, 但是语言上没有你有我无的特征,更无错位竞争,性能上更是因为 Option 的设计大概落后其他 go c 等语言,比如 mysql 驱动永远比别的语言多几层 switch 和 if 做类型转换,传递到业务实现更多。 |
38
gullitintanni 12 天前
算了吧,我宁愿用 V 站老哥开发的 Nature: https://ex.noerr.eu.org/t/939430
|
![]() |
39
2024 12 天前
包管理器还是很原始
|
41
iloveayu 12 天前
@liuidetmks 哈哈哈哈,shadowsocks-cangjie 真是这辈子有了!
|
43
CodeCodeStudy 12 天前
模式匹配和结构体搞得有点复杂了,没有必要
|
44
caiqichang 12 天前
不是,开源还要挑日子的吗
|
45
Citrullus 12 天前
我可能更愿意使用 MoonBit
|
47
ChaimeLonic 12 天前
没看到设计理念,rust 有内存安全,go 专为云原生而生,swift 是为了取代 OC 。仓颉还没自己的特色,如果是为 hm 那实在是太单薄了
|
![]() |
48
dingyaguang117 12 天前
真·究极缝合怪,有点厉害
|
![]() |
50
qxmqh 12 天前
我建议直接华为把 E 语言买了吧。纯中文编程。
|
51
aloxaf 12 天前
我不反对搞新语言,但是这种没啥设计目的,单纯就是为了「国产化」而发明的语言,再叠加上华为式开源的 debuff ,我很怀疑它的可持续性。
|
![]() |
56
Geon97 12 天前
看了些代码感觉语法有点像 java 、更像 Scala
还有 cangjie 官网不知道做的什么测试,先不讲为什么仓颉说自己最快(遥遥领先同行),我好奇图里为什么 go 比 java 慢,是做的什么测试呢? Benchmarks Game 官网数据 go 性能和内存要优于 java https://cangjie-lang.cn/docs?url=%2F0.53.18%2Fwhite_paper%2Fsource_zh_cn%2Fcj-wp-performance.html |
![]() |
57
skiy 12 天前 via iPhone
@totoro52 不需要啊。你倒是点开那个网址看看再说话。它有 vscode 插件。这语言是通用语言。就像 kotlin ,你也可以拿来开发 web api 。不一定非得 dev eco 。但像上面说的,超级缝合怪。有 class ,有 struct ,有 interface…
|
60
loolac 12 天前
快点用 cangjie 写个 vscode ,现在 vscode 很讨厌的了,一点也不干净了。
|
![]() |
61
lyxxxh2 12 天前
国产之光--仓颉编程语言的实战案例分析:
https://open.alipay.com/portal/forum/post/196401016 cangjie 都是站在巨人肩膀上开发,没有历史包裹。 再差也不能差那里去吧。 不过生态估计起不来,"国产" + "遥遥领先"标签,印象不咋地。 |
65
mizuki9 12 天前
特性看起来很多,结果好像写出来的就是 Java ,翻几个三方库感觉就是另一个版本的 kotlin 。
如果真的正式发布了 1.0 ,应该就是和 Java 、c# 一个生态位的,但别人生态很强,感觉似乎没什么必要(看起来完全打不过别人吧),不是很看好 |
67
loolac 12 天前
@lyxxxh2 所以要用 AI ,不止生成注释,还要把注释写成诗,然后再生成代码像这样,哈哈哈。
``` 应用 登录系统 { /* * 登楼远望思无穷,系统门扉自此通。 * 一重验证一重锁,守护数据似城墉。 */ 页面 登录页面 { 标题 = "用户登录"; /* 门楣高悬题金字,待客登临需验名 */ 输入框 用户名 { 占位符 = "请输入用户名"; /* 请君留下芳名姓,莫做匿名访客行 */ } 输入框 密码 { 占位符 = "请输入密码"; /* 密语暗藏锦囊里,千金不换此中情 */ 类型 = "密码"; /* 墨迹隐现星点迹,如同雾里看花明 */ } 按钮 "登录" { 当点击 { /* * 验罢名帖对暗号 * 三重关卡九重哨 * 若得匹配金钥纹 * 宝阁大门应声开 */ 如果 (用户名.值 == "admin" && 密码.值 == "123456") { 跳转(首页); /* 验证通过登堂去,锦绣华堂任君游 */ } 否则 { 弹窗("用户名或密码错误!"); /* 错把冯京当马凉,且看提示再思量 */ } } } } 页面 首页 { 标题 = "欢迎进入系统"; /* 朱门洞开迎贵客,金匾高悬贺登临 */ 文本 = "这是主页面内容"; /* 琳琅满目皆珍宝,随君取用乐逍遥 */ } } ``` |
68
james122333 12 天前 via Android
|
69
tianxiewuhua 12 天前
很难撼动各家 kmp 的基建了感觉
|
![]() |
70
WebKit 12 天前
开源就开源吧,一个各种抄袭的语言有啥意思,要不是强制推鸿蒙,能有谁用
|
71
james122333 12 天前 via Android
|
![]() |
72
Solael 12 天前
实名制,禁侧载的生态,味儿可太正了
|
![]() |
73
skiy 12 天前 via iPhone
@Torpedo 你看网站中语言的介绍啊。它就一通用语言,场景除了开发 app ,跟其它语言一个样。我居然看到有人拿来开发 GUI 桌面软件。我就大概了解了表面而已。
|
![]() |
75
levelworm 12 天前
鸿蒙的 c/c++系统开发目前的文档怎么样?
|
![]() |
76
lyxxxh2 12 天前
|
![]() |
78
OverflowCat 11 天前
仓颉目前的进度还是太慢了,很多应该做好的东西都没做好,就已经用上生产了。这里说几个我的体验:
一是没开源,标准库有 bug ,比如 std.ast 里的很多东西一放到多线程环境里就直接 crash 且没有报错;二是抄 Rust 的思路但是缺少很多东西,标准库里实际还是以 Java 的思维往上套,缺少很多应该暴露出的接口,导致泛型什么的都很难用;三是 feature 太多,没有做到很好的取舍,导致各种地方需要记忆的很多(比如 mut 关键字只有在值类型的 struct 中需要,因为 class 里是默认可变的),知乎上还说类型系统有洞,会在后续解决;四是编译实在是太慢了,除了分包外完全没有缓存,看看 CangjieMagic 初次编译和增量编译用时就知道了。 |
79
CodeCodeStudy 11 天前
我在 aarch64 的 ubuntu 上都安装失败了,cjc 是正常的,cjpm 报错了,错误是
2025-06-24 09:59:44.187457 17 F pthread_create failed for GCPoolThread init reason Operation not permitted return 1 17 E Thread "cjpm" catched unhandled SIGABRT (Aborted) from native frame. signal pc: 0xffff29007608 17 E #0 0xffff29007608 in ? from /lib/aarch64-linux-gnu/libc.so.6 Aborted (core dumped) |
80
CodeCodeStudy 11 天前
@CodeCodeStudy #79 我是用 docker 里的 ubuntu 安装的,需要在 docker run 的时候加上--privileged=true
|
81
CodeCodeStudy 11 天前
@CodeCodeStudy #79 可能是我的 docker 版本有点老了,我的 docker 版本是 18.09.0 ,ubuntu 是 24.04
|
82
runningman 10 天前
垃圾开源会有人看吗
|
![]() |
83
flydogs 10 天前
垃圾开源了还是垃圾
|
![]() |
84
glcolof 10 天前
@lyxxxh2
语言是没办法封杀的,比如美国人可以封杀中国让中国人说不了英语吗?显然不行。编程语言也是一样的,比如 C++,C++语言只是一个标准,谁都可以根据这个标准实现自己的编译器,所以微软可以做 MSVC++编译器,苹果可以赞助 Clang 编译器,开源社区也可以自己做 GCC 。美国人只能说,禁止微软把 MSVC 编译器卖给中国,不能禁止中国人用 C++语言。 开源软件也是一样的,代码我已经下载到自己的电脑上了,美国人怎么禁止我使用呢?禁止不了,对不对。而且已经给与的授权是无法撤销的,即使开源软件作者说,从今天开始,不允许中国人用,那也只对从今天开始发布的新版本有效,对之前的版本都无效,之前版本的开源软件,仍然可以合法使用。 所以你说的“开源软件:中国人不给用”不存在。 |