找回密码
 立即注册
搜索
楼主: 风夏

[欢乐] 华子发布<仓颉编程语言白皮书>

[复制链接]
头像被屏蔽
     
发表于 2024-6-22 06:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-6-22 06:55 | 显示全部楼层
泰坦失足 发表于 2024-6-22 06:35
现在不也不少语言支持中文变量名。可是真的有人有兴趣打出“用户过去一个月聊天历史记录嵌入向量”这样的变 ...

这种变量长短就是是见仁见智,比如部分行业术语,英文是个长长的单词组,汉族就三到七个字,讲实话包括专业人士在内大多数国人记不清楚英文术语,以前不支持的汉字时的解决方案就是拼音全拼,怕的是拼音首字母缩写以及和英文混合,现在好点,有些项目就**方方用中文词语,对国人开发者来说清晰简单。
回复

使用道具 举报

     
发表于 2024-6-22 07:03 | 显示全部楼层
百响 发表于 2024-6-22 06:55
这种变量长短就是是见仁见智,比如部分行业术语,英文是个长长的单词组,汉族就三到七个字,讲实话包括专 ...

我接触过的医药生物化学相关的屎山项目,就是拼音、拼音缩写、拼音英文混合的变量都有,有专门的英文术语字典,但英文长度目测比中文平均长三五倍,当年用拼音也是没办法,如果现在有机会重开,肯定用中文变量了。
回复

使用道具 举报

     
发表于 2024-6-22 07:36 来自手机 | 显示全部楼层
芜湖挨宰 发表于 2024-6-22 06:49 公司提供的编程规范不让用中文吧,我记得python pep里明着写了注释啥的都必须用英文。 说到底标准都是别人的,当然用英文了。就和芯片行业全是英文简写一样。与芯片行业相反的是航空航天,因为必须自研,仪表盘上都是中文。

也不一定啊,因为这玩意不是给工程师看的,宇航员很有可能还得先学英文来自: iPhone客户端
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-6-22 07:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-6-22 07:57 来自手机 | 显示全部楼层
其实大家黑点不过是你是华为

国内缺这种社区语言是真的,即便老外做也很难做,成功率很低。这里面不乏大牛作品。比如 D 语言,elm,zig等等乱七八糟的语言,特性不老少,成功谈不上。其实有些都挺不错的,奈何不火啊

很多语言火是兼容老的主流生态语法同时解决一些问题,还得需要大爹背书推广。比如 kotlin 不是 google 大力鼓吹流行也没这么快,go 语言也是简单适合新人,部署方便有个名头响的大爹,rust 吸引的是 c  用户,大爹在开源届名声又好,虽然现在算弃坑了。typescript 瞄准的又懒又想解决问题的 js 用户,微软是大爹。

这里面其实 Python 替代目前还是缺位的,几个新的替代语言都没很出彩。Julia 主打性能(不是京香),Mojo 进度不好,大部分使用 Python 的用户也很懒…华子想发力其实这个方向也行。

但是不论怎么样,华子做社区肯定是不行的,这玩意不是 kpi 驱动的。而国内大部分项目又都和 kpi 挂钩来自: iPhone客户端
回复

使用道具 举报

     
发表于 2024-6-22 08:14 | 显示全部楼层
overflowal 发表于 2024-6-21 23:51
一个语言撑死几十个关键字,门槛不在这。你搞完一与外界交互又遇到英文了json,mysql,redis,socket,咋整 ...

api能有多大问题, 套一层壳起个中文名函数不就完了.

关键字是小问题, 把大量api直接翻译出来对于低英语水平的编程者还是挺有帮助的.

主要还是整个社区有话语权都不太看得起中文编程.
回复

使用道具 举报

发表于 2024-6-22 08:19 | 显示全部楼层
万恶淫猥手 发表于 2024-6-22 07:57
其实大家黑点不过是你是华为

国内缺这种社区语言是真的,即便老外做也很难做,成功率很低。这里面不乏大牛 ...

确实,华为做做鸿蒙还行,编程语言这种强开源社区的东西确实没戏,强推也不行
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-6-22 08:29 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-6-22 08:34 | 显示全部楼层
虽然在这里聊中文编程跑题了,我也不支持原教旨主义的中文编程,但是我觉得变量名用中文在某些时候还是有一定用处的。举个例子,在小公司实习的时候发现“红包”这个词在代码库里被人整出了好几种不一样的英文翻译

这里程序员多,顺便在这推广下我自己的项目:在代码补全里集成中文输入法引擎 rime , https://github.com/wlh320/rime-ls
本意是解决在 vim 写中文文档切输入法难受的问题,但后面我发现其实也能用来中文编程。在编辑器里输汉字不用切输入法,用起来差不多就像在 julia 里输入希腊字母那样。

  -- 来自 能手机投票的 Stage1官方 Android客户端

评分

参与人数 1战斗力 +1 收起 理由
ryanz + 1 emacs 也有同样的项目

查看全部评分

回复

使用道具 举报

     
发表于 2024-6-22 08:51 | 显示全部楼层
芜湖挨宰 发表于 2024-6-22 07:49
你看看宇航员的学历,怎么可能看不懂英文。
说到底一个行业术语是否大量英文,只和是否以自研为主有关。 ...

不是的,名词你需要现学啊,这又不是看网页一堆日常用语... 最后还是看的词汇,虽然也不大就是了
回复

使用道具 举报

     
发表于 2024-6-22 08:57 | 显示全部楼层
歪到中文编程了,那我提几个玩意儿 GBK GB2312 GB18030 UTF-8 涉及为什么有的编程规范里注释不能有中文
回复

使用道具 举报

     
发表于 2024-6-22 09:02 来自手机 | 显示全部楼层
不是符号吗?根本算不上语言。
回复

使用道具 举报

     
发表于 2024-6-22 09:09 | 显示全部楼层
想让中文程序员多交流,多老带新,互相提高。我看不是啥中文编程的事,是鼓励大家写完代码后多用中文写写注释,写下函数description,写明白input output code flow。(那你写注释了吗,笑话我连变量名都不写明白,无数个df你套我我套你
回复

使用道具 举报

     
发表于 2024-6-22 18:51 来自手机 | 显示全部楼层
用中文编程的人先把数学改了,用什么1234,一二三四不香吗?

一本正经的讨论中文编程真是愚蠢至极
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-6-22 19:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2024-6-22 19:19 来自手机 | 显示全部楼层
zack2012 发表于 2024-6-22 18:51
用中文编程的人先把数学改了,用什么1234,一二三四不香吗?

一本正经的讨论中文编程真是愚蠢至极 ...

你说的这个貌似最简单解决,换个字库的问题,里面二进制码都能一样

—— 来自 HUAWEI TAH-AN00m, Android 12上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2024-6-22 21:48 | 显示全部楼层
只让鸿蒙用应该也够活了,swift/obj-c 除了水果生态平时也没人用,这种倒不是大问题,反正鸿蒙一时半会儿基数肯定够大的,语言强推还是能推下去的
回复

使用道具 举报

     
发表于 2024-6-22 22:02 | 显示全部楼层
火焰的攻击 发表于 2024-6-22 19:03
现在编辑工具很发达了,vscode发现编码不对点点鼠标就能切换,还很容易推荐对的,真有心强制全员 utf8 也 ...

windows自己支持utf8都搞不利索还想什么utf8编程
回复

使用道具 举报

     
发表于 2024-6-22 22:20 | 显示全部楼层
反正还是看不懂,对于只接触过Qbasic的人有帮助吗
回复

使用道具 举报

     
发表于 2024-6-22 22:40 | 显示全部楼层
zack2012 发表于 2024-6-22 18:51
用中文编程的人先把数学改了,用什么1234,一二三四不香吗?

一本正经的讨论中文编程真是愚蠢至极 ...

评价中文编程不用这么傲慢,低学历开发者看中文比较方便,数字还是阿拉伯数字好用,中文数字的编程语言也有,前两年python套壳的文言文编程就是汉字数字的。

现在中文编程的易语言是无gc静态语言,python套壳的一堆是动态语言,目前缺一款能够流行的有gc的静态语言。
回复

使用道具 举报

     
发表于 2024-6-22 22:45 | 显示全部楼层
火焰的攻击 发表于 2024-6-21 18:08
我觉得变量名中文还真有点用,自从还原了 handle, socket, knob 的母语体验后,我就深刻的感到一种不公平 ...

这几个都是翻译不说人话的问题…
把手、插座、旋钮,本来都是生活中常见的东西,非要造词。

—— 来自 S1Fun
回复

使用道具 举报

     
发表于 2024-6-22 23:02 来自手机 | 显示全部楼层
本帖最后由 Erlang 于 2024-6-22 23:06 编辑

中文变量名编程还是有一定优势的,Python 官方也承认母语在一定程度上会比翻译成英语更容易理解,毕竟代码是写给人看的。

举个例子好了,假如我在某些专业领域做开发。随手拿税务系统举例子好了,税收票证,税收通用完税证,税收罚款收据这些专业名词肯定是中文一眼就看懂。又或者做一款修仙或者武侠游戏,金丹期,筑基期,降龙十八掌,这些用中文变量名都是有着十分明显的优势的。


找到原文了 https://peps.python.org/pep-3131/

Python code is written by many people in the world who are not familiar with the English language, or even well-acquainted with the Latin writing system. Such developers often desire to define classes and functions with names in their native languages, rather than having to come up with an (often incorrect) English translation of the concept they want to name. By using identifiers in their native language, code clarity and maintainability of the code among speakers of that language improves.

For some languages, common transliteration systems exist (in particular, for the Latin-based writing systems). For other languages, users have larger difficulties to use Latin to write their native words.

在世界上,有许多不熟悉英语语言,甚至对拉丁书写系统也不太熟悉的人编写 Python 代码。这些开发者通常希望用他们的母语来定义类和函数的名称,而不是必须想出他们想要命名的概念的(常常是不正确的)英语翻译。通过使用他们母语的标识符,该语言使用者之间代码的清晰度和可维护性得到了提高。

对于一些语言,存在常见的音译系统(特别是对于基于拉丁的书写系统)。对于其他语言,用户在使用拉丁来写他们的母语单词时会有更大的困难。
回复

使用道具 举报

头像被屏蔽
     
发表于 2024-6-22 23:49 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

     
发表于 2024-6-23 00:04 | 显示全部楼层
一个稍大的项目都有几十万行,真有人愿意打几十万行中文吗,要不还是讨论改键盘的问题吧。
回复

使用道具 举报

     
发表于 2024-6-23 00:09 | 显示全部楼层
很多现代语言变量名用emoji都没事的, 用中文也没啥啊
回复

使用道具 举报

     
发表于 2024-6-23 00:44 来自手机 | 显示全部楼层
KarsusNeko 发表于 2024-6-23 00:04
一个稍大的项目都有几十万行,真有人愿意打几十万行中文吗,要不还是讨论改键盘的问题吧。 ...

不是很能理解,编程是什么打字比赛么,一天能打的字也不多吧。。。相比于可读性和可维护性,在一个几十万行,有一堆拼音英文甚至拼音首字母混搭的项目里,用中**变量名应该不是什么不可以接受的事情。

比如说 https://v2ex.com/t/615420 这个例子,我个人认为在只有中国人参与的项目里,用中文变量名很大程度上提高了代码的可读性,不然可以全部换成英文试试,想变量名就想很久,中文就可以直接和业务对接起来。
回复

使用道具 举报

     
发表于 2024-6-23 00:45 来自手机 | 显示全部楼层
风怒。。。。。。。。。
回复

使用道具 举报

     
发表于 2024-6-23 00:53 | 显示全部楼层
Erlang 发表于 2024-6-23 00:44
不是很能理解,编程是什么打字比赛么,一天能打的字也不多吧。。。相比于可读性和可维护性,在一个几十万 ...

我见过的用中文拼音起名的,长一点的都是用拼音缩写,比英文缩写难受多了
回复

使用道具 举报

     
发表于 2024-6-23 00:54 | 显示全部楼层
Erlang 发表于 2024-6-23 00:44
不是很能理解,编程是什么打字比赛么,一天能打的字也不多吧。。。相比于可读性和可维护性,在一个几十万 ...

就算一天有效代码三五百行也不想用中文,写注释的时候应该深有体会吧,所以我还是觉得不如先讨论改造键盘
回复

使用道具 举报

     
发表于 2024-6-23 01:00 来自手机 | 显示全部楼层
本帖最后由 Erlang 于 2024-6-23 01:01 编辑
KarsusNeko 发表于 2024-6-23 00:54
就算一天有效代码三五百行也不想用中文,写注释的时候应该深有体会吧,所以我还是觉得不如先讨论改造键盘 ...


好吧~_~,每个人体验不一样。我是感觉切换输入法还好啦,本身工作的时候交流啊,聊天啊,摸鱼啥的也会切来切去。在帖子里面抛砖引玉,提供一种别的思路。
回复

使用道具 举报

     
发表于 2024-6-23 01:06 来自手机 | 显示全部楼层
Erlang 发表于 2024-6-23 01:00
好吧~_~,每个人体验不一样。我是感觉切换输入法还好啦,本身工作的时候交流啊,聊天啊,摸鱼啥的也会切 ...

确实就是习惯问题,我不太喜欢拼音缩写,现在网上的拼音缩写完全看不懂。我打中文不算慢,在无网络环境下用搜狗或者微软输入法全拼也能接近100字每分钟。但是在思考的时候敲击过多敲击键盘依然会给我带来负担。

—— 来自 Google Pixel 8, Android 14上的 S1Next-鹅版 v3.0.0.81-alpha
回复

使用道具 举报

     
发表于 2024-6-23 01:25 来自手机 | 显示全部楼层
拿解数学题来理解就好了,用一些符号确实比纯中文省力,阿拉伯数字确实比大写数字用着方便


—— 来自 HUAWEI JER-AN10, Android 12上的 S1Next-鹅版 v2.5.4
回复

使用道具 举报

     
发表于 2024-6-23 02:43 | 显示全部楼层
KarsusNeko 发表于 2024-6-23 00:54
就算一天有效代码三五百行也不想用中文,写注释的时候应该深有体会吧,所以我还是觉得不如先讨论改造键盘 ...

还好,医疗生物化工项目,英文术语平均比中文翻译长三到五倍,看起来就是天书,正常人也背不下来,补全也不能第一时间反应过来是哪个,所以以前就是用拼音或拼音缩写缩写,现在有些项目用中文了,效率明显提高。还有前面提到的一些游戏项目,中文原文不用翻译,减少翻译歧义,也很不错。
回复

使用道具 举报

     
发表于 2024-6-23 05:27 来自手机 | 显示全部楼层
百响 发表于 2024-6-22 22:40
评价中文编程不用这么傲慢,低学历开发者看中文比较方便,数字还是阿拉伯数字好用,中文数字的编程语言也 ...

到底是谁傲慢啊?一口一个低学历开发者。

编程语言里强制使用英文的关键字就那么几个,例如if for,低学历开发者又不是s b学不会。变量名,函数名爱用拼音也好用汉字也好,没人管的着,很多语言都支持,追求所谓的中文编程图什么?
回复

使用道具 举报

     
发表于 2024-6-23 05:48 | 显示全部楼层
zack2012 发表于 2024-6-23 05:27
到底是谁傲慢啊?一口一个低学历开发者。

编程语言里强制使用英文的关键字就那么几个,例如if for,低学 ...

你可以去易语言社区看看,客观就是如此,任何一个门槛都会把很多人拦在外面。你这种心态,觉得别人学不会啥啥就没资格编程,字里行间都是简单英语都学不会就是sb,而逻辑上来说,不用图啥也可以选择中文编程,只是包括你我在内的绝大多数人都不会用罢了。
回复

使用道具 举报

     
发表于 2024-6-23 06:32 | 显示全部楼层
本帖最后由 Sunyalche 于 2024-6-23 06:33 编辑
zack2012 发表于 2024-6-23 05:27
到底是谁傲慢啊?一口一个低学历开发者。

编程语言里强制使用英文的关键字就那么几个,例如if for,低学 ...

把关键字换中文, 全中文编程就能少切很多次输入法, 光这一点就有足够理由替换了

如果真要实现一门对中文更友好的编程语言(主要还是通过对现有成熟语言进行套壳), 替换个关键字相对其他东西而言又足够简单, 顺手完成就是了
回复

使用道具 举报

     
发表于 2024-6-23 06:35 来自手机 | 显示全部楼层
百响 发表于 2024-6-23 05:48
你可以去易语言社区看看,客观就是如此,任何一个门槛都会把很多人拦在外面。你这种心态,觉得别人学不会 ...

if for都学不会,确实没啥资格编程,这几个关键字跟英语也没啥关系,就是一个标识。另外一直吹易语言是啥心态,都已经被淘汰了。

懒得争论,最后说一点,华为是希望鸿蒙走出国门,仓颉语言需要吸引外国开发者。搞中文编程,连吸引国内主流开发者都做不到更别提国外了。
回复

使用道具 举报

     
发表于 2024-6-23 06:53 | 显示全部楼层
zack2012 发表于 2024-6-23 06:35
if for都学不会,确实没啥资格编程,这几个关键字跟英语也没啥关系,就是一个标识。另外一直吹易语言是啥 ...

所以说傲慢也没错啊,人家就是拿易语言来写点爬虫脚本外挂私服,你就帮人鉴定资格了。

hw这语言从主导者来看确实很想跟国际接轨,不过鉴于hw以及国内大厂这么多年放弃闲置的这么多kpi开源项目来看,确实没啥可看好的,在可见的将来也不会在生产环境换到这个语言上。
回复

使用道具 举报

     
发表于 2024-6-23 06:59 | 显示全部楼层
百响 发表于 2024-6-23 06:53
所以说傲慢也没错啊,人家就是拿易语言来写点爬虫脚本外挂私服,你就帮人鉴定资格了。

hw这语言从主导者 ...

而且我也没吹易语言,反倒觉得易语言不太行,如果有个大厂愿意做个好点的中文编程语言,以大厂开发者的水平,分分钟秒杀易语言。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|上海互联网违法和不良信息举报中心|网上有害信息举报专区|962110 反电信诈骗|举报电话 021-62035905|Stage1st ( 沪ICP备13020230号-1|沪公网安备 31010702007642号 )

GMT+8, 2024-9-23 08:26 , Processed in 0.230731 second(s), 7 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表